From: Nikodemus Siivola Date: 2002-06-13T07:31:57+09:00 Subject: Empowering Symbols Just an inane question: The symbols as lvalues idea: n = 1 m = 3 (n..m).each { |:n| :m = n**2 puts "#{m}" } #=> 1, 4, 9 p n #=> 1 p m #=> 3 -- what are the related problems? The way I see it, it looks pretty damn good: you get to keep the current syntax and with a single enhancement you get both block local assignment and variables -- without breaking anything old. Also, it sort of fits to the other idea of using foo(a: 1) as shorthand for foo(:a => 1). Not that they are the same, but they have the same sweet aroma about them... I am quite willing to believe that these approaches as troublemakers, but I'd like to understand the reasons. On a related note, someone mentioned having gotten to the habit of using symbols for various arcane purposes. Can you enlighten me -- sounds interesting to say the least. -- Nikodemus