[问题] 杂凑中以符号为键的字面常数

楼主: AIGecko (师大猫耳控)   2016-10-15 00:32:49
版本为 ruby 2.3.1p112 (2016-04-26) [x86_64-linux-gnu]
今天测试杂凑的literal发生一个问题
{ module: 2 }
这个字面常数不能正确输入
按下enter后不会完成输入
但是
{ :module => 2 }
则可以正常运行
搜寻过杂凑的字面常数或是保留字也没有线索
是否有相关的保留字或是为BUG?
作者: dododavid006 (朔雪)   2016-10-15 00:39:00
module 是关键字 所以应该只能用 :module
楼主: AIGecko (师大猫耳控)   2016-10-15 00:42:00
好像有些保留字可以有些不行 正在踹do def module if for unless until while以上不可其他像是class when else end elsif就可以不行的保留字后面都是期待有end出现以前也没想过这种用保留字的写法会造成错误
作者: joshua5201 (炸虾子)   2016-10-15 14:37:00
保留字跟关键字定义不一样
楼主: AIGecko (师大猫耳控)   2016-10-15 21:52:00
不小心混为一谈了 关键字是和特殊意义 保留字是不能取名
作者: tonytonyjan (南洋大兜虫)   2016-10-16 01:46:00
那是你用 irb 才会这样,它在等 end
楼主: AIGecko (师大猫耳控)   2016-10-16 22:02:00
感谢楼上 测试过在档案中写了print({module:1})是合法的但是省略小括号就语法错误了
作者: aquarianboy (我是没牌的营养师!)   2016-10-25 02:31:00
省略小括号会错是因为后面就变 block 了你该省略的是大括号 print(module: 2)

Links booklink

Contact Us: admin [ a t ] ucptt.com