[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