[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