I'm trying to concatenate a constant into a string but I'm getting syntax error, unexpected unary , expecting end' (SyntaxError)`
This is an example of what I have to do:
NAME = "Jane"
def a_function
s = 'Hi' NAME ' !'
puts s
end
I know you can do "Hi #{NAME}!" but in my case the string has to be with single quotes.
How can I achieve this?
CodePudding user response:
You are missing a space between and ' !'.
This is a special case of confusing Ruby, because a single expression like x is actually a valid unary expression meaning just x, the same way as 1 means 1.
Because of this it's likely Ruby is interpreting your expression a b c, as a b c, which is invalid, and hence the error.
The fix:
s = 'Hi ' NAME ' !'
^------ Note the space here!
