I got confused a bit with the reason that a macro would not be appropriate 
for this case. Can you please explain again?

Ryan

On Thursday, February 21, 2013 7:05:11 PM UTC+2, Alex Baranosky wrote:
>
> A function could be appropriate, but a macro  not appropriate, since 
> everything you need here can be done with using macros.
> On Feb 21, 2013 7:53 AM, "Ryan" <areka...@gmail.com <javascript:>> wrote:
>
>> Thanks for your input Alex.
>>
>> Do you think a macro would be appropriate if I use this more than once in 
>> my code?
>>
>> Ryan
>>
>> On Thursday, February 21, 2013 5:41:49 PM UTC+2, Alex Baranosky wrote:
>>>
>>> I'd often just write it like this:
>>>
>>> (defn create-map []
>>>>   (merge {:foo "a"
>>>>                :bar "b"
>>>>                ... many more keys}
>>>>               (when (some-condition-true)
>>>>                  {:extra-key value)))
>>>
>>>
>>> Alex
>>>
>>> On Thu, Feb 21, 2013 at 7:27 AM, Ryan <areka...@gmail.com> wrote:
>>>
>>>> Thanks Meikel for your reply.
>>>>
>>>> It wasn't clear on my example, but I wish to use *merge *inside my 
>>>> create-map function. Do you think I should bind my hash-map to a let 
>>>> variable first and then apply merge, or do you have another proposal? What 
>>>> i mean is this:
>>>>
>>>> (defn create-key-value [value] 
>>>>
>>>>  (when (some-condition-true) {:extra-key value)) 
>>>>
>>>>
>>>> (defn create-map [] 
>>>>>   (let [my-map {:foo "a" :bar "b"}]
>>>>>     (merge my-map (create-key-value "some-value")))
>>>>
>>>>
>>>> Is the above "clojurish" or is there a better way? For example if the 
>>>> my-map was a big hash-map, and not with just two pairs, wouldn't it be 
>>>> ugly 
>>>> with the above way? or..it's just fine and no better way is possible?
>>>>
>>>> Ryan 
>>>>
>>>> On Thursday, February 21, 2013 5:02:21 PM UTC+2, Meikel Brandmeyer 
>>>> (kotarak) wrote:
>>>>>
>>>>> Hi,
>>>>>
>>>>> merge works with nil. So (merge (create-map) (create-key-value 
>>>>> "some-value")) should work as you intend with the functions as they are 
>>>>> defined now.
>>>>>
>>>>> Kind regards
>>>>> Meikel
>>>>>
>>>>>  -- 
>>>> -- 
>>>> You received this message because you are subscribed to the Google
>>>> Groups "Clojure" group.
>>>> To post to this group, send email to clo...@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+u...@**googlegroups.com
>>>> For more options, visit this group at
>>>> http://groups.google.com/**group/clojure?hl=en<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 clojure+u...@**googlegroups.com.
>>>> For more options, visit 
>>>> https://groups.google.com/**groups/opt_out<https://groups.google.com/groups/opt_out>
>>>> .
>>>>  
>>>>  
>>>>
>>>
>>>  -- 
>> -- 
>> You received this message because you are subscribed to the Google
>> Groups "Clojure" group.
>> To post to this group, send email to clo...@googlegroups.com<javascript:>
>> Note that posts from new members are moderated - please be patient with 
>> your first post.
>> To unsubscribe from this group, send email to
>> clojure+u...@googlegroups.com <javascript:>
>> 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 clojure+u...@googlegroups.com <javascript:>.
>> For more options, visit https://groups.google.com/groups/opt_out.
>>  
>>  
>>
>

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@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 Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to