Chjips you are right. See this :
(defn palindrome [x]
(if (string? x)
(clojure.string/reverse x)
(into (empty x) (reverse x))))
(palindrome '( 1 2 3 4)) (1 2 3 4)
So back to the drawing table.
Roelof
Op donderdag 8 oktober 2015 10:59:30 UTC+2 schreef Alan Forrester:
> On 8 Oct 2015, at 09:15, r/ Wobben <[email protected] <javascript:>>
> wrote:
>
> > I have now this :
> >
> > (ns fourclojure.core
> > (:gen-class))
> >
> >
> > (defn checker [x]
> > ( = x (if (string? x)
> > (clojure.string/reverse x)
> > (into (empty x) (reverse x)))))
> >
> >
> > (checker '(1 2 3 4 5)) true
> >
> >
> > ( = '( 1 2 3 4 5) '( 5 4 3 2 1) ) false
> >
> > So something is wrong about my code
> >
> > it works fine with string but not with a set
>
> First, ‘(1 2 3 4 5) is a list, not a set.
>
> Second, (reverse ‘(1 2 3 4 5)) is ‘(5 4 3 2 1) and according to the docs
> for into
>
> https://clojuredocs.org/clojure.core/into
>
> that function conjoins items from (reverse ‘(1 2 3 4 5)) onto (empty ‘(1
> 2 3 4 5)). The docs for conj tell you what will happen
>
> https://clojuredocs.org/clojure.core/conj
>
> (empty ‘(1 2 3 4 5)) is a list and conjoining to a list puts items at the
> front of the list not the back, so it puts 5 in at the from, then puts 4 in
> front of the 5 and so on. So you are doing ( = '( 1 2 3 4 5) ‘(1 2 3 4
> 5)).
>
> Alan
--
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
---
You received this message because you are subscribed to the Google Groups
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.