2012-02-06 28 views
8

Ben anarşi kod golf müthiş javascript kodu golf yazılardan bazılarını tadını çıkarmaya çalışıyorum ama gibi şeyler görmeye devam: http://golf.shinh.org/p.rb?ttpJavascript regex shorthand?

: JS kazanan oldu

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

... Bunun nasıl doğru javascript sözdizimi olduğunu anlamıyorum ve bunu tekrar göndermeyi denedim, ancak nesnenin bir işlev olmadığını, bunun olmasını beklediğim şeyin çizgileri boyunca bir şey olduğunu söyledi.

Bu, eski bir javascript sürümünde bir çeşit aksaklık mı, kısaydı mı?

+0

'/ t gibi gözüküyor. * /' Bir regex nesnesi oluşturur ve 's' içindeki dizeye uygular ve sonra "h" yi ön tarafa ekler. Ben/t. */(S) 'sözdiziminin geçerli olup olmadığını bilmiyorum. –

cevap

13

Bu, eski bir javascript sürümünde bir çeşit aksaklık mı, kısaydı mı?

Az ya da çok, evet. that site's version info'a göre, normal ifade nesnelerinin callable özelliği olan SpiderMonkey'i (Mozilla'nın JavaScript motoru) kullanır; Yani, re düzenli ifade nesnesindeyse, re(...)re.exec(...)'a eşdeğerdir. Bu özellik, Bug 582717 sonucu olan this change sürümünde kaldırıldı ve söz konusu site bu kaldırmayı içeren bir sürüme güncellendi.

+0

Harika, tam olarak ne için umuyordum. – mowwwalker