I'm trying to unify variable X with '*' (including the quote marks, for a total of 3-symbol string)
What I'm doing is a simple X='*'., but that results in X having the value *. If I go for X=''*''., the result is X=''*''. I'm confused, how can I achieve the '*'?
Asked
Active
Viewed 504 times
1
Marcin
- 380
- 3
- 20
-
1See [this](http://stackoverflow.com/a/8269897/772868). – false Apr 26 '15 at 14:05
1 Answers
2
If you truly want a string, you should use double-quotes:
X="'*'".
If you want to make a symbol, you can use
atom_codes( X, "'*'" ).
Scott Hunter
- 48,888
- 12
- 60
- 101
-
This results in X being unified with the [39,42,39] list, I do realise that's the prolog representation of a string, but that's not what I was trying to achieve, I'd like X to be printed as '*'. It doesn't have to be a string, I just don't know what instruction should I use – Marcin Apr 26 '15 at 00:26
-
1Thank you, `atom_codes(X, "'*'").` worked like a charm, it said I need to use character escape \, as in `X = '\'*\''` – Marcin Apr 26 '15 at 00:50