[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