2

I have a variable say some-var, its value is a string. I want to use its value in a quote expression.

'(some-var "some string")

The function who is using the above expression reports error because it gets some-var literally...not the value.

Any trick to eval some-var inside a quote expression?

Drew
  • 77,472
  • 10
  • 114
  • 243
David S.
  • 395
  • 2
  • 13

1 Answers1

10

You have two options:

1) Don't use quotes at all, as in:

(list some-var "some-string")

2) Use a backquote. They work like quotes, but part of an expression can be evaluated by using , and ,@. For example:

`(,some-var "some-string")
Lindydancer
  • 6,150
  • 1
  • 15
  • 26
  • 1
    Why I did not think about list at the first place...lol! Thanks. – David S. Jul 01 '16 at 00:54
  • In my case, I was trying to accomplish '((".*" . "PATH")), where "PATH" should be an evaluated expression. I ended up using: (list (cons ".*" (EXPR))). – trxgnyp1 Nov 04 '23 at 20:10