[#32676] VC++ embedded rubygems gives NoMethodError undefined method `synchronize' for Mutex — Phlip <phlip2005@...>
[I will try Bill Kelly's PDB path advice presently; this issue is more
5 messages
2010/10/03
[#32687] Re: VC++ embedded rubygems gives NoMethodError undefined method `synchronize' for Mutex
— Roger Pack <rogerdpack2@...>
2010/10/04
> This one's about...
[#32703] Re: VC++ embedded rubygems gives NoMethodError undefined method `synchronize' for Mutex
— Phlip <phlip2005@...>
2010/10/05
> > #<NoMethodError: undefined method `synchronize' for #<Mutex:0x750faa8>>
[#32698] [Ruby 1.9-Feature#3908][Open] private constant — Yusuke Endoh <redmine@...>
Feature #3908: private constant
10 messages
2010/10/05
[#32795] Call for Cooperation: CFUNC usage survey — SASADA Koichi <ko1@...>
Hi,
5 messages
2010/10/15
[#32814] WeakHash — Santiago Pastorino <santiago@...>
Hi guys,
6 messages
2010/10/15
[#32844] [Ruby 1.9-Feature#3963][Open] Map class in standard library — Thomas Sawyer <redmine@...>
Feature #3963: Map class in standard library
3 messages
2010/10/18
[#32864] [Ruby 1.9-Bug#3972][Open] r28668 breaks test/unit when combined with the testing rake task — Aaron Patterson <redmine@...>
Bug #3972: r28668 breaks test/unit when combined with the testing rake task
6 messages
2010/10/20
[#32932] Behavior of initialize in 1.9 — Aaron Patterson <aaron@...>
The behavior of initialize in 1.9 seems to have changed. Here is an irb
5 messages
2010/10/28
[#32960] [Ruby 1.9-Bug#4005][Open] YAML fails to roundtrip Time objects — Peter Weldon <redmine@...>
Bug #4005: YAML fails to roundtrip Time objects
6 messages
2010/10/29
[#32976] Improve MinGW builds for Ruby 1.8.7, 1.9.2 and 1.9.3 — Luis Lavena <luislavena@...>
Hello,
10 messages
2010/10/30
[#32978] Re: Improve MinGW builds for Ruby 1.8.7, 1.9.2 and 1.9.3
— Aaron Patterson <aaron@...>
2010/10/30
On Sun, Oct 31, 2010 at 03:42:02AM +0900, Luis Lavena wrote:
[ruby-core:32967] Re: Behavior of initialize in 1.9
From:
Marc-Andre Lafortune <ruby-core-mailing-list@...>
Date:
2010-10-30 03:06:11 UTC
List:
ruby-core #32967
Hi,
On Thu, Oct 28, 2010 at 3:25 PM, Ryan Davis <ryand-ruby@zenspider.com> wrote:
> why is:
>
> .new(42)
>
> OK to do, but not:
>
> .new.y(42)
>
> ?
Sorry for now answering earlier. I have been very occupied for some
time and I'm just getting back to Ruby.
I'd like to point out that {Basic}Object#initialize is quite special.
It is the only built-in method which is "meant" to be overridden with
different set of arguments; it's also never called directly. Ruby is
full of cases where it chooses to be pragmatic at the expense of
"purity" (can't find a better adjective, sorry). One can think of
"super" vs "super()" or "super(&nil)", for example.
`initialize` accepting any number of arguments would have been such a choice.
> We have argument checking for a reason, we shouldn't throw it on the floor. If you want to loosen it, then monkeypatch BasicObject#initialize. That's what monkeypatching is for.
I won't claim to know for sure what monkeypatching is for, but I don't
see how that would be a good solution here. Anyways, the idea was to
provide a dirt cheap way of making constructor easily expandable. If
someone needs it, there are other solutions and for the bulk of the
classes, I imagine people will continue not bothering to call `super`
at all.