From: "Jan E." Date: 2012-03-29T23:00:57+09:00 Subject: Re: Why z = Complex(1,2) rather than z = Complex.new(1,2)? Hi, You *can* define upper-case methods, but when you call them, you always have to use parenthesis so that Ruby doesn't confuse them with constants: #### def Hallo puts 'Hallo Welt!' end Hallo() #### However, this violates the naming conventions of Ruby, so you shouldn't do it. Why not define a [] method? #### class MyClass def initialize value @value = value end attr_reader :value def self.[] value new value end end a = MyClass[4] puts a.value #### -- Posted via http://www.ruby-forum.com/.