новости сообщество форум вики
Erlang по-русски. Форум » Erlang »

Помогите новичку

(3 posts)

  1. Я хочу извеница за такова образа оборшение но просто я кроме этова сайта нигде не нашел форум по ерлангу.
    Вобшем я делаю одно зодание на ерланге.
    задача заключается в етом:
    у меня есть поезд (лист) розмер не изветный, и мне нужно передвигать вогоны следуюшим образом:
    все вогоны перед определеным вагоном Х в одну ячейку и все после вагона Х в другую например :
    сплит([а,б,в],а) должен дать результат ([],[б,в])
    вот мой код :
    split(Xs,Y)->split(lab1: drop(hd(lab1:position(Xs,Y),Y),tl(lab1: position (Xs,Y))).

    в :лаб1 находяца некоторые методы которые я исползиваю у всех експорт([метод/2]).
    Metod drop:
    drop (Xs,N) when N>=1 -> drop(tl(Xs),N-1);
    drop (Xs,N) -> [hd(Xs)].
    Metod position:
    position (Xs,Y,P) when Y==hd(Xs)->P;
    position (Xs,Y,P) when Y/=hd(Xs) ->position (tl(Xs),Y,P+1).

    Moй:
    shunt:split([a,b,c],a).
    код вызываеца но когда я ввожу данные выдается вот эта ошибка:
    ** exception error: undefined funktion lab1:position/2
    in function shunt:split/2

    Отправлено 10 мес. назад #
  2. > просто я кроме этова сайта нигде не нашел форум по ерлангу.

    Есть еще гуглогруппа (в ссылках слева)

    > exception error: undefined funktion lab1:position/2

    если данные вводятся из консоли, то:
    - оба файла (lab1 и shunt) должны быть скомпилированы
    - lab1.beam и shunt.beam должны быть видны Эрлангу (например, консоль должна быть запущена в директории, где лежат эти два файла)

    Отправлено 10 мес. назад #
  3. Я бы так сделал:

    -export([split/2]).

    split(List, X) -> split(List, X, []).

    split([], _, Rest) -> {Rest, []};
    split([H|T], H, Rest) -> {Rest, T};
    split([H|T], X, Rest) -> split(T, X, Rest++[H]).

    Отправлено 7 мес. назад #

RSS экспорт этой темы

Отправить сообщение

Вы должны войти в систему, чтобы оставлять сообщения.

 
 

так же

Популярные тэги



Currently online

No Members around.

twitter