为什么我不能从哈希中读取值?

Sja*_*sma 2 ruby hash

考虑以下代码:

  hash = {"a"=>["B", "C"], "b"=>["C"], "c"=>["D", "E"], "d"=>["F"]}
  puts hash["a"]
Run Code Online (Sandbox Code Playgroud)

这只是打印没有.

puts hash["a"].class
Run Code Online (Sandbox Code Playgroud)

这打印 NilClass

以下ruby版本中是否存在某种已知错误?

ruby 2.0.0p247(2013-06-27修订版41674)[universal.x86_64-darwin13]

我希望有人可以帮助我,这让我发疯.我的IDE是JetBrains的RubyMine.我也尝试通过IRB直接运行它.

谢谢

PS.OS是OSX

Uri*_*ssi 7

通过复制代码并将其粘贴到我的控制台中,我可以重现您的问题.

然后我拿了你的哈希并做了以下事情:

hash.first.first
# => "a"
hash.first.first.length
# => 2
Run Code Online (Sandbox Code Playgroud)

!

看来你"a"有一个不可打印的第一个字符.删除它,你会没事的.

而你是char 这是什么炭?65279'':

hash.first.first[0].ord
# => 65279
Run Code Online (Sandbox Code Playgroud)