>You can't have more then one argument to setter (var=) oddly enough, you can define such a method, but you can't call it without jumping through some hoops: irb(main):006:0> class Test irb(main):007:1> def set= a,b irb(main):008:2> @a=a irb(main):009:2> @b=b irb(main):010:2> end irb(main):011:1> end irb(main):012:0> t = Test.new => #<Test:0x40205cac> irb(main):013:0> t.set=1,2 ArgumentError: wrong number of arguments (1 for 2) ... irb(main):016:0> t.send "set=", 1, 1 => 1 irb(main):017:0> t => #<Test:0x40205cac @b=1, @a=1> Weird behaviour, -tim