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?