From: Mike Austin Date: 2010-12-06T09:21:31+09:00 Subject: Ambiguity resolving: "block [5]" vs "method [5]" Just curious how Ruby resolves the ambiguity when calling a method with a list, and invoking the [] operator on a block: def foo(i) p i end bar = lambda { |i| p i } foo [1] bar [1] I'm assuming it's doing a little compile time checking, or lazily converting the call to the correct type at runtime? Mike