From: mengx@... Date: 2002-01-03T01:54:13+09:00 Subject: [ruby-talk:30054] Re: A Bug or something else? > m> interpreter bypasses the rule, correct? > > well it not really bypasse the rule, because (in my previous example) it's > an implicit call to #to_ary, which is different from 2.to_ary where you > specify a call to a public method But implicit conversion should also be a method call, correct? Let's go back to my original question, what method is called in "#{a}" I assume it is "to_s", right?, If the ruby is writen in ruby, would it first evaluated as "#{a.to_s}" ? in this case, a private definition would raise exception. Apparently, ruby's C evaluation bypasses this and directly convert "nil" to "" (using its internal "to_s" C-function. On the other hand, it is fine with me doing this way as long as it raises exception or do something appropriate to prevent program error. My question really is whether "nil.to_s" -> "" is reasonable. Thanks -Ted