作者AIGecko (师大猫耳控)
看板Ruby
标题[问题] 杂凑中以符号为键的字面常数
时间Sat Oct 15 00:32:49 2016
版本为 ruby 2.3.1p112 (2016-04-26) [x86_64-linux-gnu]
今天测试杂凑的literal发生一个问题
{
module:
2 }
这个字面常数不能正确输入
按下enter後不会完成输入
但是
{
:module =>
2 }
则可以正常运行
搜寻过杂凑的字面常数或是保留字也没有线索
是否有相关的保留字或是为BUG?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 59.115.174.85
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Ruby/M.1476462775.A.649.html
1F:推 dododavid006: module 是关键字 所以应该只能用 :module 10/15 00:39
2F:→ AIGecko: 好像有些保留字可以有些不行 正在踹 10/15 00:42
3F:→ AIGecko: do def module if for unless until while以上不可 10/15 00:45
4F:→ AIGecko: 其他像是class when else end elsif就可以 10/15 00:46
5F:→ AIGecko: 不行的保留字後面都是期待有end出现 10/15 00:48
6F:→ AIGecko: 以前也没想过这种用保留字的写法会造成错误 10/15 00:51
7F:推 joshua5201: 保留字跟关键字定义不一样 10/15 14:37
8F:→ AIGecko: 不小心混为一谈了 关键字是和特殊意义 保留字是不能取名 10/15 21:52
9F:推 tonytonyjan: 那是你用 irb 才会这样,它在等 end 10/16 01:46
10F:→ AIGecko: 感谢楼上 测试过在档案中写了print({module:1})是合法的 10/16 22:02
11F:→ AIGecko: 但是省略小括号就语法错误了 10/16 22:03
12F:→ aquarianboy: 省略小括号会错是因为後面就变 block 了 10/25 02:31
13F:→ aquarianboy: 你该省略的是大括号 print(module: 2) 10/25 02:31