LINUX.ORG.RU

Io не Ъ ООП

 , ,


1

3

Давайте добавим ещё тупых срачей с анонiмусом. Вот в википедии написано, что Io построен на message passing механизме, а в то же время выражение 1+2*4 вычисляется не в 12, а в 9. Получается какие-то сообщения имеют приоритет над другими. Это противоречит великим идеям Алана Эдгара^W Кея, где вычисления идут слева направо и все эти сообщения равноприоритетны. Я даже оформлю эту идею в виде листинга, как он это делает. Обязательно с выводом на экран результата, чтобы показать, что я тоже умею программировать.

sc3> (1+3*2).postln
8
8
sc3> (1+(3*2)).postln
7
7

Похоже, что адепты Io погрязли в пучину вредных идей.

nuboquest



Последнее исправление: lisper-pipisper (всего исправлений: 1)

Всему виной инфиксная запись, от неоднозначностей надо избавляться, либо префикс, либо постфикс.

anonymous
()

Тема твоя реально тупая, а знание Ъ нулевое.

Operators An operator is just a message whose name contains no alphanumeric characters (other than ";", «_», '«' or ».") or is one of the following words: or, and, return. Example:

1 + 2

This just gets compiled into the normal message:

1 +(2)

Which is the form you can use if you need to do grouping:

1 +(2 * 4)

Standard operators follow C's precedence order, so:

1 + 2 * 3 + 4

Is parsed as:

1 +(2 *(3)) +(4)

User defined operators (that don't have a standard operator name) are performed left to right.

А то что ты накалякал, кстати, это вообще не Io.

nuboquest
()
Ответ на: комментарий от nuboquest

Вот у тебя знания и нулевые, раз для тебя специально пришлось придумывать какие-то приоритеты. Даешь равенство каждому - вот девиз smalltalk

lisper-pipisper
() автор топика
Ответ на: комментарий от nuboquest

А то что ты накалякал, кстати, это вообще не Io.

Правильно, это Ъ-ООП язык, тебе не понять

lisper-pipisper
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.