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

Sergei Olonichev olonichev at scnsoft.com
Mon Feb 3 12:00:38 MSK 2003


Ilya Palagin wrote:

> 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:
>
Речь не только о ?:, а о .zero?

Если вы конечно делаете программу которую никто кроме вас не увидит то 
пожалуй можно писать как подсказывает "вкус", но имхо это дело не 
"вкуса", а стиля программирования. Покрайней мере мне известно, что в 
одной строке должен быть, по возможности, один оператор - это облегчает 
читаемость, возможность вносить изменения и отладку программы.

Сергей









More information about the Ruby mailing list