[Ruby] чет/нечет
Ilya Palagin
tux at fioc.kz
Mon Feb 3 11:34:05 MSK 2003
Sergei Olonichev wrote:
> 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.
>
:-))) Здрассе. Этот оператор заимствован из С. Цитата из Progamming Ruby:
Finally, for the C fans out there, Ruby also supports the C-style
conditional expression:
cost = aSong.duration > 180 ? .35 : .25
Кстати, в perl его тоже "позаимствовали", пользуйтесь на здоровье :-)
> По производительности они не могут отличаються, а если и отличаются, то
> это скорее случайность.
>
>
> Поэтому если это "дело вкуса", то этот вкус надо менять.
>
О вкусах не спорят, а вот документацию нужно изучать.
More information about the Ruby
mailing list