В книге по Эрлангу, перевод которой опубликован в группах гугл, много недомолвок, много чего недосказано. Описано тело файла lib_misc.erl:
for(Max, Max, F) -> [F(Max)];
for(I, Max, F) -> [F(I)|for(I+1, Max, F)].
Но не написано, что он должен выглядеть так:
-module(lib_misc).
-export([for/3]).
for(Max, Max, F) -> [F(Max)];
for(I, Max, F) -> [F(I)|for(I+1, Max, F)].
Позже, автор замечает, что некоторые элементы он писать не будет, и читателю придётся самому проявлять внимательность и дописывать примеры, чтобы получить результат. Сначала это сбивает с толку. Почему не запускается код? Почему не работает функция? Листаешь учебник дальше, возвращаешься назад, ориентируешься на то, что выдаёт Erlang emulator.
Кроме недосказанного и того, что автор не пишет, есть ещё и ошибки в примерах, ошибки в коде, который приводится в книге. Опять же, Erlang emulator помогает их исправить, но они есть.
— 04.11.2010 23:15
Подписка на ленту