Whitespace in function call

Hello!

Could you, please, provide me with help on this whitespace error?

cat test.rb

require ‘optparse’

things = {}

OptionParser.new do |opt|
opt.on (’-n’, ‘–name NAME’, ‘name’) do |name|
things[:name] = name
end
end.parse!

puts things

ruby test.rb -n Hello

test.rb:6: syntax error, unexpected ‘,’, expecting ‘)’
opt.on (’-n’, ‘–name NAME’, ‘name’) do |name|
^
test.rb:6: syntax error, unexpected ‘,’, expecting keyword_end
opt.on (’-n’, ‘–name NAME’, ‘name’) do |name|
^
test.rb:6: syntax error, unexpected ‘)’, expecting keyword_end
opt.on (’-n’, ‘–name NAME’, ‘name’) do |name|
^
test.rb:9: syntax error, unexpected keyword_end, expecting end-of-input
end.parse!
^

But it works perfectly if there is no whitespace in line 6 after opt.on

ruby -v

ruby 2.1.3p242 (2014-09-19 revision 47630) [x86_64-linux]

opt.on(’-n’, ‘–name NAME’, ‘name’)
works

opt.on ‘-n’, ‘–name NAME’, ‘name’
does work too

but you have a do block so i would recommend to use ()