Оболочка Erlang — это REPL, цикл чтения/оценки/печати. Он читает введенное выражение, оценивает его, печатает результат и выполняет цикл для чтения выражения. Важно помнить, что вы вводите выражение, которое всегда возвращает значение, а оболочка всегда печатает значение. Вы не можете не возвращать значение!
Поэтому, когда вы вводите io:format("123\n456\n789\n").
, оболочка оценивает выражение и печатает результат. Вычисление вызова io:format
приводит к выводу строки, а вызов возвращает значение ok
, которое выводит оболочка. Следовательно, вы получаете
123
456
789
ok
Опять же, оболочка всегда печатает значение, возвращаемое выражением. Если вы вызываете io:format
из другой функции, то ее возвращаемое значение обычно не возвращается в оболочку, и оболочка не распечатывает его.
Обратите внимание, что возврат значения и печать чего-либо — две совершенно разные вещи.
person
rvirding
schedule
05.09.2013