Jos Backus
2/9/2005 10:44:00 PM
On Thu, Feb 10, 2005 at 06:25:06AM +0900, Florian Gross wrote:
[snip]
> str = "hello world"
> str[/.(.)/, 1] # => "e"
> str[/\s(.+)/, 1] = "bar"
> str # => "hello bar"
and
$1 # => "world"
Isn't it too bad a non-match raises an IndexError instead of returning nil?
irb(main):006:0> if str[/(hello)/, 1] = ""; puts "match", $1; end
match
hello
=> nil
irb(main):007:0> if str[/(hallo)/, 1] = ""; puts "match", $1; end
IndexError: regexp not matched
from (irb):7:in `[]='
from (irb):7
irb(main):008:0>
--
Jos Backus _/ _/_/_/ Sunnyvale, CA
_/ _/ _/
_/ _/_/_/
_/ _/ _/ _/
jos at catnook.com _/_/ _/_/_/ require 'std/disclaimer'