Hi --

On Tue, 7 Mar 2006, William James wrote:

> dblack / wobblini.net wrote:
>> Hi --
>>
>> On Tue, 7 Mar 2006, William James wrote:
>>
>>> Mark  Watson wrote:
>>>> If I have two containers c1 and c2 of the same length, what is the
>>>> proper "Ruby way" to do this:
>>>>
>>>> c1.length.times {|i|
>>>>   # access c1[i], c2[i]
>>>> }
>>>>
>>>> I like that Ruby container classes provide their own iterators, but
>>>> what I would like to have is something like:
>>>>
>>>> (c1,c2).each {|x1,x2| .... }
>>>>
>>>> I thought of writing my own iterator class so that I could do something
>>>> like:
>>>>
>>>> Iterator.new(c1,c2).each {|x1,x2| .... }
>>>>
>>>> but that looks clumsy and inefficient.
>>>>
>>>> I am transitioning to using mostly Ruby (moving away from Java, Lisp,
>>>> and Smalltalk) and I would like to use the proper Ruby idioms.
>>>
>>> foo = %w(x y z) ; bar = [2,4,6]
>>> [foo, bar].transpose.each{|a,b| print a, b, $/ }
>>>  --->
>>> x2
>>> y4
>>> z6
>>
>> I don't think $/ is very idiomatic.  See the ToDo file in the source;
>> it includes:
>>
>> * discourage use of symbol variables (e.g. $/, etc.) in manual
>>
>> :-)
>>
>>
>> David
>
> idiomatic, adj. Peculiar to a particular group or individual.
>
> "\n" is found in C and in awk, but $/ isn't; so it is more
> nearly peculiar to Ruby.  Some may lack the capacity to remember
> what it represents.
>
> However, I have no doubt that this is an unfashionable opinion
> and that your view is the dominant one.

I share your opinion that $/ is not in C or awk, but is in Ruby :-)
I'm thinking more about its position *within* Ruby, which isn't
directly connected to its presence or absence anywhere else.  It's
there, but it seems to be in a bit of a shaky position.


David

-- 
David A. Black (dblack / wobblini.net)
Ruby Power and Light, LLC (http://www.rubypowerandlight.com)

"Ruby for Rails" chapters now available
from Manning Early Access Program! http://www.manning.com/books/black