Retrieving the value of a symbol

Pondering the philosophy behind the language
Post Reply
cameyo
Posts: 101
Joined: Sun Mar 27, 2011 3:07 pm

Retrieving the value of a symbol

Post by cameyo »

These expressions generate an error:

Code: Select all

(set '"name") -> ERR: symbol expected in function set : '"name"
(set (quote "name") 3) -> ERR: symbol expected in function set : '"name"
But the following are valid (then "name" is a valid symbol):

Code: Select all

(setf '"name" 3) -> 3
(setq "name" 3) -> 3
Now the problem: how to retrieve the value of the symbol "name"?

Code: Select all

(println "name") -> name

Code: Select all

(setq a "name")
(println a) -> "name"
Thanks

fdb
Posts: 49
Joined: Sat Nov 09, 2013 8:49 pm

Re: Retrieving the value of a symbol

Post by fdb »

Hi, I presume you want to convert a string into a symbol , which can be done like this:

Code: Select all

(set (sym "name") 3)

name ->3
If you however want to convert "name" including quotes into a symbol then use this code:

Code: Select all

(set (sym {"name"}) 3)
and to retrieve the value from "name":

Code: Select all

(eval (sym {"name"})) -> 3

cameyo
Posts: 101
Joined: Sun Mar 27, 2011 3:07 pm

Re: Retrieving the value of a symbol

Post by cameyo »

You solve my question with:

Code: Select all

(eval (sym {"name"})) -> 3
Thanks fdb :-)

Post Reply