Посмотрите на эти четыри строчки на языке Ruby и подумайте, что же они делают?
z = x + y
z=x + y
z=x+y
z = x +y
Думаете они все делают одно и тоже? Как бы не так!
Видимо создателю Ruby очень хотелось, чтобы в его языке можно было написать вместо:
print("Hello, World!");
Просто:
print "Hello, Board!"
Без всяких скобочек и точек запятых. Создатель этот обладал хорошим абстрактным мышлением и, видимо, однажды, пытаясь объединить множество сущностей под одну изящную составляющую он подумал, что print - это функция и почему бы не дать всем функциям вызываться без скобочек?
Таким образом если в программе заведена функция plot(x,y) то вызывать ее можно так:
plot x,y
Таким образом, если мы пишем:
z = x +y
То интерпритатор попытается вызвать функцию x с параметром +y, т.е. x(+y).
Поэтому плюсы в Ruby нужно обрамлять пробелами.
Вот так вот неожидано.
Комментариев нет:
Отправить комментарий