ruby - Symbol literal or a method -


are :"foo" , :'foo' notations quotations symbol literal, or : unary operator on string?

: part of literal enter or create through method. although : can take name or "string" create literal, unlike operator not provoke action or modify value.

in each case instance of symbol returned. writing : string notation important. if want represent, instance, string containg whitespace symbol need use string notation.

> :foo => :foo   > :foo bar syntaxerror: (irb):2: syntax error, unexpected tidentifier, expecting end-of-input  > :"foo bar" => :"foo bar" 

furthermore, interesting explore equality operator (==)

> :"foo" == :foo => true   > :"foo " == :foo => false 

my advice, not think of passing string or name create symbol, of different ways express same symbol. in end enter interpreted object. can achieved in different ways.

> :"foo" => :foo 

after all, %w(foo bar) alternative way of writing ['foo', 'bar'].


Comments

Popular posts from this blog

css - Which browser returns the correct result for getBoundingClientRect of an SVG element? -

gcc - Calling fftR4() in c from assembly -

Function that returns a formatted array in VBA -