From: Guillaume Cottenceau Date: 2001-06-01T06:35:16+09:00 Subject: [ruby-talk:16098] Re: Block arguments vs method arguments Sean Russell writes: [...] > 2) Right now, variations of '<' already give us four or five meanings for '<' > in Ruby ("append", comparisons, bit operations, and HERE string quoting), > whereas '|' has two (block variable delineation and bit operations). I would > be a *touch* more confused having '<' and '>' obtain yet another meaning. That isn't a big deal since we will use a "closed" version here, sticked to the beginning of the block. Pretty understandable. My first experience with Ruby and || in blocks was being a bit surprised (or and shell-pipe meanings in my mind), but the same conditions applied here, and I got used rapidly. > 3) An argument for ':var' over '' can be made in recognizing that: > my_proc { | var1, :var2 | } > is more flexible than > my_proc { < var1, var2 > } > > I shudder to imagine that attempts to solve this might lead to declarations > such as: > my_proc { < var1 > | var2 | } Now that's a pretty important argument. I agree. This shows an important [well, seemgingly important.. we never know what Matz will find here :)] advantage to your solution. [...] > 4) '<' and '>' are sharp, pointy glyphs, denoting hard, angry imagery; they > are unfriendly characters, and someone could get hurt using them. Studies > show that people who overuse '<' and '>' are more prone to violence than > those who don't; this is supported up by the fact that there are very few > incidences of workplace violence in Lisp-shops. (Ahem...) :-) -- Guillaume Cottenceau - http://mandrakesoft.com/~gc/