From: Dylan Northrup Date: 2002-02-09T22:53:13+09:00 Subject: case question I'm using case to do stuff based on some options that get passed on the command line. I've got the following bit of code that is doing this for me: require 'getoptlong' opts = GetoptLong.new( ['-t', GetoptLong::REQUIRED_ARGUMENT ], ['-n', GetoptLong::REQUIRED_ARGUMENT ], ['-s', GetoptLong::REQUIRED_ARGUMENT ] ) opts.each do |opt, arg| # puts "Option: #{opt}, arg #{arg.inspect}" case opt when "-t" then title = #{arg.inspect} when "-n" then nation = #{arg.inspect} when "-s" then submitter = #{arg.inspect} else puts "You shouldn't be here with #{opt} and #{arg.inspect} end end This is taken with very little alteration from TPP (page 83: Case Expressions). But when I run this code, I get the following error: eris> ./new-deck.rb -t foo -n bar -s baz ./new-deck.rb:27: parse error when "-n" then nation = #{arg.inspect} ^ ./new-deck.rb:33: unterminated string meets end of file ./new-deck.rb:33: parse error Can someone tell me where I've lost my way here? -- Dylan Northrup <*> docx@io.com <*> http://www.io.com/~docx/ "Easy to bitch, easy to whine, easy to moan, easy to cry, easy to feel like there ain't nothing in your life. Harder to work, harder to strive, hard to be glad to be alive, but it's really worth it if you give it a try." -- Cowboy Mouth, 'Easy'