When I run the following in the irb session, I am getting an error.
Any ideas why? TIA.
irb(main):036:0> { :a => 1, :b => 4 }
=> {:a=>1, :b=>4}
irb(main):037:0> { :x 2, :y 6 }
SyntaxError: (irb):37: syntax error, unexpected tINTEGER, expecting
tASSOC
{ :x 2, :y 6 }
^
from /Users/bparanj/ruby19/lib/ruby/1.9.0/irb/workspace.rb:81:in
eval' from /Users/bparanj/ruby19/lib/ruby/1.9.0/irb/workspace.rb:81:in
evaluate’
from /Users/bparanj/ruby19/lib/ruby/1.9.0/irb/context.rb:219:in
evaluate' from /Users/bparanj/ruby19/lib/ruby/1.9.0/irb.rb:150:in
block (2
levels) in eval_input’
from /Users/bparanj/ruby19/lib/ruby/1.9.0/irb.rb:259:in
signal_status' from /Users/bparanj/ruby19/lib/ruby/1.9.0/irb.rb:147:in
block in
eval_input’
from /Users/bparanj/ruby19/lib/ruby/1.9.0/irb/ruby-lex.rb:244:in
block (2 levels) in each_top_level_statement' from /Users/bparanj/ruby19/lib/ruby/1.9.0/irb/ruby-lex.rb:231:in
loop’
from /Users/bparanj/ruby19/lib/ruby/1.9.0/irb/ruby-lex.rb:231:in
block in each_top_level_statement' from /Users/bparanj/ruby19/lib/ruby/1.9.0/irb/ruby-lex.rb:230:in
catch’
from /Users/bparanj/ruby19/lib/ruby/1.9.0/irb/ruby-lex.rb:230:in
each_top_level_statement' from /Users/bparanj/ruby19/lib/ruby/1.9.0/irb.rb:146:in
eval_input’
from /Users/bparanj/ruby19/lib/ruby/1.9.0/irb.rb:70:in block in start' from /Users/bparanj/ruby19/lib/ruby/1.9.0/irb.rb:69:in
catch’
from /Users/bparanj/ruby19/lib/ruby/1.9.0/irb.rb:69:in start' from /Users/bparanj/ruby19/bin/irb:13:in
’
Maybe IRB bug!!
Hi –
On Mon, 31 Mar 2008, [email protected] wrote:
When I run the following in the irb session, I am getting an error.
Any ideas why? TIA.
irb(main):036:0> { :a => 1, :b => 4 }
=> {:a=>1, :b=>4}
irb(main):037:0> { :x 2, :y 6 }
SyntaxError: (irb):37: syntax error, unexpected tINTEGER, expecting
tASSOC
{ :x 2, :y 6 }
^
You mean:
{ x: 2, y: 6 }
David
[email protected] wrote:
When I run the following in the irb session, I am getting an error.
Any ideas why? TIA.
irb(main):036:0> { :a => 1, :b => 4 }
=> {:a=>1, :b=>4}
irb(main):037:0> { :x 2, :y 6 }
SyntaxError: (irb):37: syntax error, unexpected tINTEGER, expecting
tASSOC
{ :x 2, :y 6 }
^
I think you’re confusing symbol hash keys with 1.9’s named arguments:
foo(:a => 1, :b => 2) # symbol hash keys
foo(a:1, b:2) # 1.9 named arguments
Hi –
On Mon, 31 Mar 2008, Tim H. wrote:
I think you’re confusing symbol hash keys with 1.9’s named arguments:
foo(:a => 1, :b => 2) # symbol hash keys
foo(a:1, b:2) # 1.9 named arguments
They’re still symbols in a hash, though. Just the notation is
different:
irb(main):004:0> def x(a); p a; end
=> nil
irb(main):005:0> x(x: 1, y: 2)
{:x=>1, :y=>2}
David
On Sun, Mar 30, 2008 at 2:20 PM, [email protected] [email protected]
wrote:
When I run the following in the irb session, I am getting an error.
Any ideas why? TIA.
irb(main):036:0> { :a => 1, :b => 4 }
=> {:a=>1, :b=>4}
irb(main):037:0> { :x 2, :y 6 }
SyntaxError: (irb):37: syntax error, unexpected tINTEGER, expecting
tASSOC
{ :x 2, :y 6 }
^
Is this what you were trying to do?
$ irb1.9
irb(main):001:0> {x: 2, y: 6}
=> {:x=>2, :y=>6}
–
Rick DeNatale
My blog on Ruby
http://talklikeaduck.denhaven2.com/
David A. Black wrote:
They’re still symbols in a hash, though. Just the notation is
different:
I see. Thanks for explaining.