From: "Mr. Big" Date: 2006-03-02T06:11:24+09:00 Subject: Re: Confusion Over Keyword Arguments > When you call a method with "keyword arguments" you are really just passing in a single hash. Keyword arguments aren't hashes. def my_meth(foo:, bar:) foo + bar end my_meth(foo:3, bar:4) # later we see this, we do not know how the method is defined. my_meth2(arg:100, arg2:10) There is no way to tell if my_meth2 is using a hash or keyword arguments without looking it up. However, if keyword arguments used "=" instead, there would be no double checking. my_meth2(arg=100, arg2=10) A keyword argument that takes a symbol ends up looking very ugly (I guess "=" doesn't work well here, either): foo(key::symbol) or foo(key: :symbol) -- Posted via http://www.ruby-forum.com/.