[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