Ruby 2.5.5哈希创建报错求助:Repl.it语法错误问题
解决Ruby哈希创建的语法错误问题
嘿,我看到你在Repl.it用Ruby 2.5.5创建哈希时碰到麻烦了,咱们来快速搞定这个问题!
问题根源
你写的代码犯了两个关键语法错误:
- 缺少赋值运算符:你想把哈希赋值给
name_hash变量,但漏掉了=,Ruby会把name_hash { ... }当成是调用一个叫name_hash的方法并传入块,这显然不是你的本意。 - 中文标点符号:原代码最后一个键值对后面的逗号是中文的,Ruby无法识别中文标点,会触发语法错误。
修正后的代码
# 正确的哈希赋值写法 name_hash = {15 => "Michael", 13 => "Christopher", 114 => "Ryan"}
补充说明
- Ruby中创建哈希并赋值给变量的标准语法是
变量名 = { 键 => 值, ... } - 所有标点符号(逗号、大括号等)都必须是英文半角的,中文标点会被Ruby视为无效字符
- 如果你只是创建一个哈希不需要赋值给变量,直接写
{15 => "Michael", ...}也可以,但通常我们会把哈希存到变量里方便后续使用
内容的提问来源于stack exchange,提问作者Sean
相关产品推荐
相关产品推荐

