All,
I figured it out. Still trying to get Functional Programming ideas in
my head.
Regards,
Joe
On Friday, June 29, 2012 11:11:56 AM UTC-5, Joe Hughes wrote:
>
> All,
>
> I've been playing with Clojure and found this website,
> http://www.lisperati.com/clojure-spels/casting.html. Typed the code into
> Clojure 1.4.0 and got the issue below. Here is the code in question.
>
>
> (defmacro defspel [& rest] `(defmacro ~@rest))
>
>
> (defspel game-action [command subj obj place & args]
> `(defspel ~command [subject# object#]
> `(spel-print (cond (and (= location '~'~place)
> (= '~subject# '~'~subj)
> (= '~object# '~'~obj)
> (have? '~'~subj))
> ~@'~args
> :else '(i cannot ~'~command like that -)))))
>
> (game-action weld chain bucket attic
> (cond (and (have? 'bucket) (def chain-welded true))
> '(the chain is now securely welded to the bucket -)
> :else '(you do not have a bucket -)))
>
>
> When I do
>
>
> (weld chain bucket)
>
>
> instead of getting
>
>
> (you do not have a chain -)
>
>
> I get
>
>
> (i cannot weld like that -)
>
>
> From what I'm reading (defspel game-action..., something isn't correct and
> the result is the :else instead of the if. This was written using Clojure
> 1.1, so if anyone has a solution about why this works in 1.1 and not 1.4 I
> would like to hear it.
>
>
> TIA,
> Joe
>
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en