[Ruby] чет/нечет
Dmitry Morozhnikov
dmiceman at mail.ru
Mon Feb 3 17:55:15 MSK 2003
On Mon, 3 Feb 2003, Sergei Olonichev wrote:
привет all.
сорри за мои две копейки. руби только что нашел для себя и он мне
понравился. но мнение имею :-)
??>>> Это маразм, а не "красота" - программа теряет в понятности.
??>> 1.Не "маразм", а дело вкуса
??>> 2.Операция ?: четко указывает, что приниматься могут лишь 2
??>> значения, т.е. программа на самом деле выигрывает в понятности
SO> if 0 == (a % 2 ) then
SO> puts "чет"
SO> else
SO> puts "нечет"
SO> end
SO> Эта программа _однозначно_ понятна программисту работавшему с C,
SO> C++, Java, Perl, Python, Awk, Pascal, Basic, Fortran, ...
.. и прочих императивных язычков.
SO> puts (((a % 2).zero?) ? "чет" : "нечет")
SO> А эта программа _однозначно_ понятна только программисту имевшему
SO> дело с Ruby.
неа. схемникам оно также вполне прозрачно. :-)
(display (if (zero? (remainder a 2)) "чет" "нечет"))(newline)
на самом деле единственная сугубо рубийная конструкция которую я
вижу -- это (a % 2).zero?. но я решительно не вижу что в ней
может быть непонятного. то что есть такой метод zero? для чисел
-- так его смысл вполне по названию определяется.
btw: автор большой молодец что разрешил ? и ! в символах.
--
DM, Dmitry Morozhnikov, PGPKEY 0xB6C14D95
More information about the Ruby
mailing list