Page 1 of 1
Toy for rubyists
Posted: Tue Apr 17, 2007 1:18 am
by Jeff
Code: Select all
(define-macro (each object iter)
(set 'iter (trim (string iter) "|"))
(dolist (obj (eval object))
(eval (set (sym (eval iter)) obj))
(catch (doargs (a)
(if (= a 'end) (throw nil) (eval a))))))
(each '(ruby is not a lisp) |item|
(println item)
end)
Re: Toy for rubyists
Posted: Tue Apr 17, 2007 11:12 am
by rickyboy
Jeff wrote:Code: Select all
(define-macro (each object iter)
(set 'iter (trim (string iter) "|"))
(dolist (obj (eval object))
(eval (set (sym (eval iter)) obj))
(catch (doargs (a)
(if (= a 'end) (throw nil) (eval a))))))
(each '(ruby is not a lisp) |item|
(println item)
end)
What do you need
end for?
Code: Select all
(define-macro (each object iter)
(set 'iter (trim (string iter) "|"))
(dolist (obj (eval object))
(eval (set (sym (eval iter)) obj))
(doargs (a) (eval a))))
(each '(ruby is not a lisp) |item|
(println item))
Posted: Tue Apr 17, 2007 12:43 pm
by Jeff
I don't know. What does ruby need end for?