2012-02-06 7 views
8

私はアナーキーコードゴルフの素晴らしいjavascriptのコードゴルフの提出のいくつかを楽しむしようとしているが、私はのようなものを見続ける:http://golf.shinh.org/p.rb?ttpJavascript正規表現の短縮形ですか?

:のためのJSを受賞した

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

を...私はそれが正しいjavascriptの構文であることを理解していないし、私もそれを再送信しようとしましたが、オブジェクトは関数ではなく、私は何が起こると予想されるのかに沿ったものです。

これは以前のjavascriptバージョンの不具合か簡略なものでしたか?

+0

'/ t。* /'は正規表現オブジェクトを作成し、それを 's'の文字列に適用し、さらに前面に「h」を付加します。 '/ t。* /(s)'構文が有効かどうかは分かりません。 –

答えて

13

これは、以前のjavascriptバージョンの不具合や略記なのですか?

多かれ少なかれ、はい。 that site's version infoによれば、SpiderMonkey(MozillaのJavaScriptエンジン)を使用していました。これは、正規表現オブジェクトが呼び出し可能であったという機能を持っていました。つまり、reが正規表現オブジェクトであれば、re(...)re.exec(...)に相当します。その機能はthis changeで削除されました。結果はBug 582717であり、そのサイトはその削除を組み込んだバージョンに更新されています。

+0

素晴らしい、まさに私が望んでいたもの。 – mowwwalker