-
Notifications
You must be signed in to change notification settings - Fork 50
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
return-from できないときがある #424
Comments
Apparently eus creates a block around lambda functions that occludes the previous context blocks. (block :this (mapcar #'(lambda (x) (sys:list-all-blocks)) (list 1 2)))
;; ((nil) (nil))
(mapcar #'(lambda (x) (return 10) x) (list 1 2))
;; (10 10) For reference in sbcl the lambda does not mess with the current blocks: (defun bar ()
(mapcar #'(lambda (x)
(print x)
(if (eq x 2)
(return-from bar nil)))
(list 0 1 2 3 4 5)))
(bar)
; 0
; 1
; 2
; NIL
(mapcar #'(lambda (x) (return 10) x) (list 1 2))
; ==> ERROR https://github.com/euslisp/EusLisp/blob/master/lisp/c/eval.c#L432 PS. using #403 in the above |
@Affonso-Gui thaks for comment, did |
This is not solved in either |
を実行すると以下のようになるんですが、そういうもんでしょうか?
The text was updated successfully, but these errors were encountered: