fin ...

1 min read
fin - возвращает any
, если это атом, в противном случае CDR
его последней ячейки.
(fin 'any) -> num|sym
: (fin 'a)
-> a
: (fin '(a . b))
-> b
: (fin '(a b . c))
-> c
: (fin '(a b c))
-> NIL
finally - prg
выполняется, затем вычисляется exe
, и возвращается результат prg
. exe также будет вычислен, если prg
не завершается нормально из-за ошибки времени выполнения или вызова throw.
(finally exe . prg) -> any
: (finally (prinl "Done!")
(println 123)
(quit)
(println 456) )
123
Done!
: (catch 'A
(finally (prinl "Done!")
(println 1)
(throw 'A 123)
(println 2) ) )
1
Done!
-> 123
finish - помещает выражения в prg
в глобальный *Bye в обратном порядке для выполнения непосредственно перед завершением работы интерпретатора PicoLisp. (finish (foo) (bar))
эквивалентно (push 'Bye '(bar) '(foo))
(finish . prg) -> exe
: (finish (call "rm" "myfile.tmp")) # Remove a temporary file
-> (c
0
Subscribe to my newsletter
Read articles from Sergey Shishkin directly inside your inbox. Subscribe to the newsletter, and don't miss out.
picolispquit#Exitfinishfinally() Finaltry-catch-finallyfinfinishing final keyword and const keywordbyeend
Written by

Sergey Shishkin
Sergey Shishkin
Всегда чему-то учусь!