[Ruby] чет/нечет

Sergei Olonichev olonichev at scnsoft.com
Mon Feb 3 11:25:14 MSK 2003


Ilya Palagin wrote:

> Sergei Olonichev wrote:
>
>> vic ismakaev wrote:
>>
>>> 29 Январь 2003 21:06, Ilya Palagin написал:
>>>
>> [skipped]
>>
>>>  
>>>
>>>> Зря, что ли, рубироиды числа за объекты держат, да еще столько 
>>>> методов к
>>>> ним напридумывали? :-)
>>>>
>>>> puts (((a % 2).zero?) ? "чет" : "нечет")
>>>>   
>>>
>>>
>>> Красота !!!!! :)
>>>  
>>>
>> Это маразм, а не "красота" - программа теряет в понятности.
>>
> 1.Не "маразм", а дело вкуса
> 2.Операция ?: четко указывает, что приниматься могут лишь 2 значения, 
> т.е. программа на самом деле выигрывает в понятности


if  0 == (a % 2 ) then
   puts "чет"
else
   puts "нечет"
end

Эта программа _однозначно_ понятна программисту работавшему с C, C++, Java, Perl, Python, Awk, Pascal, Basic, Fortran, ...


puts (((a % 2).zero?) ? "чет" : "нечет")

А эта программа _однозначно_ понятна только программисту имевшему дело с Ruby.

По производительности они не могут отличаються, а если и отличаются, то это скорее случайность.


Поэтому если это "дело вкуса", то этот вкус надо менять.


Сергей











More information about the Ruby mailing list