2012-02-06 37 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