Форум сайта python.su
Возможно кому-то из местных будет интересна следующая тема http://versusit.ru/viewtopic.php?pid=67325
Не скажу, что Python знаю хорошо, но после прочтения учебника по Ruby показалось, что он (Ruby) имеет более объектно-ориентированную структуру.
Смущает правда малое количество имеющихся библиотек для Ruby. Python в этом плане это реально корпоративный уровень, в то время как Ruby – нишевый.
Офлайн
JoJoможно пример? зачем более?
Не скажу, что Python знаю хорошо, но после прочтения учебника по Ruby показалось, что он (Ruby) имеет более объектно-ориентированную структуру.
Офлайн
o7412369815963Пока адекватный пример привести не могу, но вот к примеру, как будет выглядеть аналогичная функция на питоне?
можно пример? зачем более?
Офлайн
примерно так:
while True:
line = raw_input()
if line: print line.lower()
else: break
Отредактировано (Май 9, 2011 22:14:28)
Офлайн
Скорее
while True:
line = raw_input()
print( line.lower() )
Офлайн
ZANа я подумал, что в “while line = gets” идет проверка… значит тут смысл - написать в одну строку.
СкорееТ.к. рубиевский цикл завершается только по ctrl-Cwhile True:
line = raw_input()
print( line.lower() )
Офлайн
Ну блин, тогда уж:
>>> while True:
... print(raw_input().lower())
Офлайн
while line = gets - это присвоение. Проверка в руби, как и в питоне - на “==” (выполнил в irb :) ).
В питоне такая неочевидная (line = gets в роли оператора сравнения) конструкция запрещена синтаксически, чтобы исключить _случайное_ использование присвоения вместо сравнения.
Сразу вспомнилась цитата из книги “Как не надо программировать на С++”:
if(amout = 0) присваивает amount значение 0, а затем проверяет истинность результата (то есть отлично ли переменная от нуля). Но переменная равна нулю, поэтому выполняется секция else
Правильна команда выглядит так: if(amount == 0)
Дело было в то время, когда я преподавал программирование. Как-то через два месяца после окончания курсов я встретил одного из своих учеников. И он сказал мне:
- Знаешь, Стив, на курсах мне казалось, что ты перегибаешь палку, постоянно объясняя различия между = и ==. Но вчера я написал свою первую настоящую программу… и знаешь, какую ошибку я сделал?
Офлайн
JoJoА какой, стесняюсь спросить, критерий и шкала оценки “объектно-ориентированности структуры”?
имеет более объектно-ориентированную структуру.
Отредактировано (Май 10, 2011 15:58:13)
Офлайн
прочитал страницу по ссылке из первого поста, сделал вывод:
- руби “менее ОО”, например модули не являются объектами
- ситуация с .call и “()”
- не все можно подменить (тот же .call), есть всякие ограничения
и ещё, мне с паскаля не нравиться “end”, си-скобки лучше “ { }”
Офлайн