> Sum = Struct.new(:bla, :"sum(value)") > sum = Sum.new(2, 5) => #<struct Sum bla=2, :"sum(value)"=5> > sum.send(:"sum(value)") NoMethodError: undefined method `sum(value)' for #<struct Sum bla=2, :"sum(value)"=5> > class X > attr_accessor :"sum(value)" > end NameError: invalid attribute name `sum(value)' > class Sum > define_method(:"sum(value)") { "summum!" } > end => #<Proc:0xa7c5f218@(irb):181> > sum.send(:"sum(value)") => "summum!" Not sure this is an error in ruby (1.8.5) or a misunderstanding from me (about Struct). And yes, I know how to get/set the value anyway: > sum[:"sum(value)"] => 5 > sum["sum(value)"] = 42 => 42 Bye, Kero.