Делаю hash, ключ — строка/буква (не ASCII), значение — число.
В irb работает, в однострочнике работает, в скрипте не работает.
$ irb
irb(main):001:0> h = Hash.new
=> {}
irb(main):002:0> h["б"] = 2
=> 2
irb(main):003:0> puts h["б"]
2
=> nil
$ ruby -e 'h = Hash.new; h["б"] = 2; puts h["б"]'
2
$ ./test.rb
./test.rb:4: invalid multibyte char (US-ASCII)
./test.rb:4: invalid multibyte char (US-ASCII)
./test.rb:4: syntax error, unexpected $end, expecting ']'
h["б"] = 2
^
$ cat test.rb
#!/usr/bin/ruby
h = Hash.new
h["б"] = 2
puts h["б"]
$ irb -v
irb 0.9.6(09/06/30)
$ ruby -v
ruby 1.9.2p0 (2010-08-18 revision 29036) [x86_64-linux]
$ locale
LANG=en_US.UTF-8
...
Что за фокусы? ЧТЯДНТ?