2012-02-06 43 views
8

我试图享受一些关于无政府主义的代码高尔夫真棒javascript代码高尔夫球提交的,但我一直看到的东西,如:Javascript正则表达式缩写?

for(;s=readline();)print("h"+/t.*/(s)) 

...这是JS得主:http://golf.shinh.org/p.rb?ttp

我不明白这是如何正确的JavaScript语法,我甚至尝试重新提交,但它表示对象不是一个函数,这是我期望发生的事情。

这是一种小故障或速记或在旧的JavaScript版本中的东西?

+0

它看起来像'/ t。* /'创建一个正则表达式对象并将其应用于's'中的字符串,然后将“h”附加到前面。我不知道'/ t。* /(s)'语法是否有效。 – 2012-02-07 01:33:36

回答

13

这是一种小故障或速记或在旧的JavaScript版本中的东西?

或多或少,是的。根据that site's version info,它使用了SpiderMonkey(Mozilla的JavaScript引擎),它曾经具有可调用正则表达式对象的功能;也就是说,如果re是正则表达式对象,则re(...)相当于re.exec(...)。该功能在this change中被删除,结果为Bug 582717,并且该网站已更新为合并该删除的版本。

+0

真棒,正是我所希望的。 – mowwwalker 2012-02-07 02:32:40