Arbitrary abbreviations in phobos considered ridiculous
Ary Manzana
ary at esperanto.org.ar
Fri Mar 9 12:50:11 PST 2012
On 3/9/12 4:09 PM, H. S. Teoh wrote:
> On Fri, Mar 09, 2012 at 01:34:38PM -0500, Nick Sabalausky wrote:
>> "Ary Manzana"<ary at esperanto.org.ar> wrote in message
>> news:jjd21r$6ni$1 at digitalmars.com...
>>>
>>> Sample Ruby session:
>>>
>>>> irb
>>> ruby-1.8.7-p352 :001> [1, 2, 3].count
>>> => 3
>>> ruby-1.8.7-p352 :002> [1, 2, 3].length
>>> => 3
>>> ruby-1.8.7-p352 :003> [1, 2, 3].size
>>> => 3
>>>
>>> I never saw *anyone* complaining about this. When you write, you
>>> choose whatever is convenient to you (whatever comes to your mind
>>> first). When you read it, it's understandable. Nobody wonders "why
>>> didn't he wrote 'length' instead of 'size'", because the meaning is
>>> clear.
>>
>> I would wonder what the subtle distinction is. FWIW.
> [...]
>
> Me too. I would assume that 'count' counts array elements whereas 'size'
> counts the number of bytes the array uses up.
Indeed, count can be used to count elements:
ruby-1.8.7-p352 :002 > [1, 2, 3, 3, 3].count 3
=> 3
ruby-1.8.7-p352 :004 > [1, 2, 3, 3, 3].count &:odd?
=> 4
ruby-1.8.7-p352 :005 > [1, 2, 3, 3, 3].count { |x| x <= 2 }
=> 2
Just that when you use it without arguments it just counts everything.
size is an alias of length. But count just work as an alias as well,
without arguments.
>
> IMAO, this sort of "write your mind and somehow it just works" thing
> only encourages lazy programming (guessing what something does without
> knowing for sure, and copy-n-pasting code without understanding it,
> which leads to bit rot and hideous patchwork code that houses all sorts
> of subtle bugs and corner-case failures).
We also write lots of tests in Ruby. :-P
More information about the Digitalmars-d
mailing list