How to access record in a hashmap

2014-07-09 Thread Cecil Westerhof
When you have:
(def object-locations {
 'whiskey   'living-room
 'bucket'living-room
 'chain 'garden
 'frog  'garden
 'dummy 'nowhere
 'test  'nowhere
 })

You can retrieve the location of the bucket with:
(object-locations 'bucket)
and with:
('bucket object-locations)

Personally I find the first better, but ‘Clojure Programming' uses the
second possibility. What is the better way and why?

-- 
Cecil Westerhof

-- 
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/d/optout.


Re: How to access record in a hashmap

2014-07-09 Thread Thomas Heller
Short and simple answer: NullPointerException

(def object-locations nil)

(object-locations 'bucket) will throw
('bucket object-locations) = nil

HTH,
/thomas

On Wednesday, July 9, 2014 3:48:53 PM UTC+2, Cecil Westerhof wrote:

 When you have:
 (def object-locations {
  'whiskey   'living-room
  'bucket'living-room
  'chain 'garden
  'frog  'garden
  'dummy 'nowhere
  'test  'nowhere
  })

 You can retrieve the location of the bucket with:
 (object-locations 'bucket)
 and with:
 ('bucket object-locations)

 Personally I find the first better, but ‘Clojure Programming' uses the 
 second possibility. What is the better way and why?

 -- 
 Cecil Westerhof 


-- 
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/d/optout.


Re: How to access record in a hashmap

2014-07-09 Thread Thomas Heller
Oh and its rare (outside of macros) to use symbols like that. Usually you'd
use keywords.

(def object-locations
  {:whiskey :living-room})


On Wed, Jul 9, 2014 at 5:03 PM, Thomas Heller th.hel...@gmail.com wrote:

 Short and simple answer: NullPointerException

 (def object-locations nil)

 (object-locations 'bucket) will throw
 ('bucket object-locations) = nil

 HTH,
 /thomas

 On Wednesday, July 9, 2014 3:48:53 PM UTC+2, Cecil Westerhof wrote:

 When you have:
 (def object-locations {
  'whiskey   'living-room
  'bucket'living-room
  'chain 'garden
  'frog  'garden
  'dummy 'nowhere
  'test  'nowhere
  })

 You can retrieve the location of the bucket with:
 (object-locations 'bucket)
 and with:
 ('bucket object-locations)

 Personally I find the first better, but ‘Clojure Programming' uses the
 second possibility. What is the better way and why?

 --
 Cecil Westerhof

  --
 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 a topic in the
 Google Groups Clojure group.
 To unsubscribe from this topic, visit
 https://groups.google.com/d/topic/clojure/4KAuyAs34-s/unsubscribe.
 To unsubscribe from this group and all its topics, send an email to
 clojure+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.


-- 
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/d/optout.


Re: How to access record in a hashmap

2014-07-09 Thread Cecil Westerhof
2014-07-09 17:03 GMT+02:00 Thomas Heller th.hel...@gmail.com:

 Short and simple answer: NullPointerException

 (def object-locations nil)

 (object-locations 'bucket) will throw
 ('bucket object-locations) = nil


​That is interesting.​

​Not a problem, because it will never be ​nil, but always a HashMap. But
better save as sorry. I will change it.



 On Wednesday, July 9, 2014 3:48:53 PM UTC+2, Cecil Westerhof wrote:

 When you have:
 (def object-locations {
  'whiskey   'living-room
  'bucket'living-room
  'chain 'garden
  'frog  'garden
  'dummy 'nowhere
  'test  'nowhere
  })

 You can retrieve the location of the bucket with:
 (object-locations 'bucket)
 and with:
 ('bucket object-locations)

 Personally I find the first better, but ‘Clojure Programming' uses the
 second possibility. What is the better way and why?


-- 
Cecil Westerhof

-- 
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/d/optout.


Re: How to access record in a hashmap

2014-07-09 Thread Cecil Westerhof
2014-07-09 17:18 GMT+02:00 Thomas Heller th.hel...@gmail.com:

 Oh and its rare (outside of macros) to use symbols like that. Usually
 you'd use keywords.

 (def object-locations
   {:whiskey :living-room})


​It is from 'Land of Lisp'. The symbols are printed. Or is it possible to
print the keyword without the :?



 On Wed, Jul 9, 2014 at 5:03 PM, Thomas Heller th.hel...@gmail.com wrote:

 Short and simple answer: NullPointerException

 (def object-locations nil)

 (object-locations 'bucket) will throw
 ('bucket object-locations) = nil

 HTH,
 /thomas

 On Wednesday, July 9, 2014 3:48:53 PM UTC+2, Cecil Westerhof wrote:

 When you have:
 (def object-locations {
  'whiskey   'living-room
  'bucket'living-room
  'chain 'garden
  'frog  'garden
  'dummy 'nowhere
  'test  'nowhere
  })

 You can retrieve the location of the bucket with:
 (object-locations 'bucket)
 and with:
 ('bucket object-locations)

 Personally I find the first better, but ‘Clojure Programming' uses the
 second possibility. What is the better way and why?


-- 
Cecil Westerhof

-- 
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/d/optout.


Re: How to access record in a hashmap

2014-07-09 Thread Timothy Baldridge
(name :foo)

will return the name as a string

(symbol (name :foo))

Converts the name of the keyword to a symbol


On Wed, Jul 9, 2014 at 9:28 AM, Cecil Westerhof cldwester...@gmail.com
wrote:

 2014-07-09 17:18 GMT+02:00 Thomas Heller th.hel...@gmail.com:

 Oh and its rare (outside of macros) to use symbols like that. Usually
 you'd use keywords.

 (def object-locations
   {:whiskey :living-room})


 ​It is from 'Land of Lisp'. The symbols are printed. Or is it possible to
 print the keyword without the :?



 On Wed, Jul 9, 2014 at 5:03 PM, Thomas Heller th.hel...@gmail.com
 wrote:

 Short and simple answer: NullPointerException

 (def object-locations nil)

 (object-locations 'bucket) will throw
 ('bucket object-locations) = nil

 HTH,
 /thomas

 On Wednesday, July 9, 2014 3:48:53 PM UTC+2, Cecil Westerhof wrote:

 When you have:
 (def object-locations {
  'whiskey   'living-room
  'bucket'living-room
  'chain 'garden
  'frog  'garden
  'dummy 'nowhere
  'test  'nowhere
  })

 You can retrieve the location of the bucket with:
 (object-locations 'bucket)
 and with:
 ('bucket object-locations)

 Personally I find the first better, but ‘Clojure Programming' uses the
 second possibility. What is the better way and why?


 --
 Cecil Westerhof

 --
 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/d/optout.




-- 
“One of the main causes of the fall of the Roman Empire was that–lacking
zero–they had no way to indicate successful termination of their C
programs.”
(Robert Firth)

-- 
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/d/optout.


Re: How to access record in a hashmap

2014-07-09 Thread Thomas Heller
Don't know Land of Lisp, but if you print it you can use (name :whiskey) to
get whiskey (as a String), also works on (name 'whiskey).


On Wed, Jul 9, 2014 at 5:28 PM, Cecil Westerhof cldwester...@gmail.com
wrote:

 2014-07-09 17:18 GMT+02:00 Thomas Heller th.hel...@gmail.com:

 Oh and its rare (outside of macros) to use symbols like that. Usually
 you'd use keywords.

 (def object-locations
   {:whiskey :living-room})


 ​It is from 'Land of Lisp'. The symbols are printed. Or is it possible to
 print the keyword without the :?



 On Wed, Jul 9, 2014 at 5:03 PM, Thomas Heller th.hel...@gmail.com
 wrote:

 Short and simple answer: NullPointerException

 (def object-locations nil)

 (object-locations 'bucket) will throw
 ('bucket object-locations) = nil

 HTH,
 /thomas

 On Wednesday, July 9, 2014 3:48:53 PM UTC+2, Cecil Westerhof wrote:

 When you have:
 (def object-locations {
  'whiskey   'living-room
  'bucket'living-room
  'chain 'garden
  'frog  'garden
  'dummy 'nowhere
  'test  'nowhere
  })

 You can retrieve the location of the bucket with:
 (object-locations 'bucket)
 and with:
 ('bucket object-locations)

 Personally I find the first better, but ‘Clojure Programming' uses the
 second possibility. What is the better way and why?


 --
 Cecil Westerhof

 --
 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 a topic in the
 Google Groups Clojure group.
 To unsubscribe from this topic, visit
 https://groups.google.com/d/topic/clojure/4KAuyAs34-s/unsubscribe.
 To unsubscribe from this group and all its topics, send an email to
 clojure+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.


-- 
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/d/optout.


Re: How to access record in a hashmap

2014-07-09 Thread Cecil Westerhof
2014-07-09 17:32 GMT+02:00 Timothy Baldridge tbaldri...@gmail.com:

 (name :foo)

 will return the name as a string

 (symbol (name :foo))

 Converts the name of the keyword to a symbol


​It is not even necessary. I changed to keywords. The code uses:
`(You see a ~obj on the floor.)

And it is displayed as:
You see a whiskey on the floor.
You see a bucket on the floor.

Maybe it does not work in all cases: so I need to do some testing.
​Let change the rest also to keywords.​



 On Wed, Jul 9, 2014 at 9:28 AM, Cecil Westerhof cldwester...@gmail.com
 wrote:

 2014-07-09 17:18 GMT+02:00 Thomas Heller th.hel...@gmail.com:

 Oh and its rare (outside of macros) to use symbols like that. Usually
 you'd use keywords.

 (def object-locations
   {:whiskey :living-room})


 ​It is from 'Land of Lisp'. The symbols are printed. Or is it possible to
 print the keyword without the :?



 On Wed, Jul 9, 2014 at 5:03 PM, Thomas Heller th.hel...@gmail.com
 wrote:

 Short and simple answer: NullPointerException

 (def object-locations nil)

 (object-locations 'bucket) will throw
 ('bucket object-locations) = nil

 HTH,
 /thomas

 On Wednesday, July 9, 2014 3:48:53 PM UTC+2, Cecil Westerhof wrote:

 When you have:
 (def object-locations {
  'whiskey   'living-room
  'bucket'living-room
  'chain 'garden
  'frog  'garden
  'dummy 'nowhere
  'test  'nowhere
  })

 You can retrieve the location of the bucket with:
 (object-locations 'bucket)
 and with:
 ('bucket object-locations)

 Personally I find the first better, but ‘Clojure Programming' uses the
 second possibility. What is the better way and why?


-- 
Cecil Westerhof

-- 
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/d/optout.


Re: How to access record in a hashmap

2014-07-09 Thread Cecil Westerhof
2014-07-09 17:50 GMT+02:00 Cecil Westerhof cldwester...@gmail.com:

 2014-07-09 17:32 GMT+02:00 Timothy Baldridge tbaldri...@gmail.com:

 (name :foo)

 will return the name as a string

 (symbol (name :foo))

 Converts the name of the keyword to a symbol


 ​It is not even necessary. I changed to keywords. The code uses:
 `(You see a ~obj on the floor.)

 And it is displayed as:
 You see a whiskey on the floor.
 You see a bucket on the floor.

 Maybe it does not work in all cases: so I need to do some testing.
 ​Let change the rest also to keywords.​


​It seems to work. The only 'problem' is that I​

​need to use:
(pickup :bucket)
instead of:
(pickup 'bucket)​

But that is only temporary, because there will be an optimisation later on.



 On Wed, Jul 9, 2014 at 9:28 AM, Cecil Westerhof cldwester...@gmail.com
 wrote:

 2014-07-09 17:18 GMT+02:00 Thomas Heller th.hel...@gmail.com:

 Oh and its rare (outside of macros) to use symbols like that. Usually
 you'd use keywords.

 (def object-locations
   {:whiskey :living-room})


 ​It is from 'Land of Lisp'. The symbols are printed. Or is it possible
 to print the keyword without the :?



 On Wed, Jul 9, 2014 at 5:03 PM, Thomas Heller th.hel...@gmail.com
 wrote:

 Short and simple answer: NullPointerException

 (def object-locations nil)

 (object-locations 'bucket) will throw
 ('bucket object-locations) = nil

 HTH,
 /thomas

 On Wednesday, July 9, 2014 3:48:53 PM UTC+2, Cecil Westerhof wrote:

  When you have:
 (def object-locations {
  'whiskey   'living-room
  'bucket'living-room
  'chain 'garden
  'frog  'garden
  'dummy 'nowhere
  'test  'nowhere
  })

 You can retrieve the location of the bucket with:
 (object-locations 'bucket)
 and with:
 ('bucket object-locations)

 Personally I find the first better, but ‘Clojure Programming' uses
 the second possibility. What is the better way and why?


-- 
Cecil Westerhof

-- 
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/d/optout.