Robert McIntyre | 1 Feb 08:04 2011
Picon

Re: How to disallow unlisted optional argument keys?

You win sir.  That is the most beautiful way.

sincerely,
--Robert McIntyre

On Sun, Jan 30, 2011 at 7:59 PM, Bill James <w_a_x_man <at> yahoo.com> wrote:
> Alexander Yakushev wrote:
>> Why not use a constraint? It looks much cleaner.
>>
>> (defn hello [& {:keys [a b] :as input}]
>>          {:pre [(= (set (keys input)) #{:a :b})]}
>>          "hello")
>>
>> You can learn more about constraints here: http://vimeo.com/channels/fulldisclojure#8399758
>
>
> {:pre [(clojure.set/subset? (set (keys input)) #{:a :b})]}
>
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure <at> googlegroups.com
> Note that posts from new members are moderated - please be patient with your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscribe <at> googlegroups.com
> 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
(Continue reading)

.Bill Smith | 1 Feb 15:34 2011
Picon

Re: How to disallow unlisted optional argument keys?

Yes, that's very succinct.  Of course, it isn't cheap.  I mean I wouldn't put it in the inner loop of Robert's image processing code.

--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure <at> googlegroups.com
Note that posts from new members are moderated - please be patient with your first post.
To unsubscribe from this group, send email to
clojure+unsubscribe <at> googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Gmane