• 0 Голоса
    1 Сообщения
    3 Просмотры

    вот мой функциональный код:

    forall X -> int is_null (X x) asm "ISNULL"; forall X -> (tuple, ()) push_back (tuple tail, X head) asm "CONS"; forall X -> (tuple, (X)) pop_back (tuple t) asm "UNCONS"; forall X -> X car(tuple list) asm "CAR"; () recv_internal() { ;;;;;;; } (tuple) write_bit(tuple lisp, int bit) { if (lisp.is_null()) | (lisp.car().builder_bits() == 1023) { lisp~push_back(begin_cell()); } builder b = lisp~pop_back(); b~store_int(bit, 1); lisp~push_back(b); return lisp; } ;; testable (cell) find_and_replace(int flag, int value, cell linked_list) method_id { tuple lisp = null(); int i = 0; ;; while i < 5 { ;; lisp = write_bit(lisp, 1); ;; ;; i += 1; ;; } lisp = write_bit(lisp, 1); lisp = write_bit(lisp, 1); lisp = write_bit(lisp, 1); lisp = write_bit(lisp, 1); lisp = write_bit(lisp, 1); return begin_cell().end_cell(); }

    Хотелось бы знать, почему я получил код ошибки здесь: "Ошибка: не удается выполнить метод get. Получил код выхода: 7"

    Но если я прокомментирую этот цикл и выполню итерацию вручную L147-151 - ошибок не будет

    lisp = write_bit(lisp, 1); lisp = write_bit(lisp, 1); lisp = write_bit(lisp, 1); lisp = write_bit(lisp, 1); lisp = write_bit(lisp, 1);

    Этот вопрос был импортирован из чата Telegram: > <***Скрыто***

    click to show

    Оригинал вопроса