2012-02-06 2 views
8

Я пытаюсь пользоваться некоторыми из удивительного яваскрипта кода для гольфа представления на анархию код гольф, но я продолжаю видеть вещи, как:Javascript regex стенография?

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

... который был победитель JS для: http://golf.shinh.org/p.rb?ttp

Я не понимаю, как это правильный синтаксис javascript, и я даже попытался повторить его, но он сказал, что объект не является функцией, что является чем-то вроде того, что я ожидаю.

Был ли это какой-то сбой или стенография или что-то в старой версии javascript?

+0

Похоже, что '/ t. * /' Создает объект регулярного выражения и применяет его к строке в 's', а затем добавляет« h »к фронту. Я бы не знал, действителен ли синтаксис '/ t. */(S)'. –

ответ

13

Был ли это какой-то сбой или стенография или что-то в старой версии javascript?

Больше или меньше, да. Согласно that site's version info, он использует SpiderMonkey (движок JavaScript Mozilla), в котором использовалась функция, которая вызывала объекты регулярного выражения; то есть, если re был объектом регулярного выражения, то re(...) был эквивалентен re.exec(...). Эта функция была удалена в this change, результат Bug 582717, и этот сайт с тех пор обновлен до версии, которая включает в себя удаление.

+0

Удивительный, именно то, на что я надеялся. – mowwwalker

Смежные вопросы