2012-02-06 18 views
8

sto cercando di godere di alcune delle impressionanti javascript osservazioni codice di campi da golf in codice l'anarchia, ma continuo a vedere le cose come:Javascript regex stenografia?

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

... che era il vincitore JS per: http://golf.shinh.org/p.rb?ttp

Non capisco come sia corretta la sintassi javascript, e ho persino provato a inviarlo di nuovo, ma ha detto che l'oggetto non è una funzione, che è qualcosa sulla falsariga di ciò che mi aspetterei che accadesse.

Era una specie di glitch o stenografia o qualcosa in una versione precedente di JavaScript?

+0

Sembra che '/ t. * /' Crei un oggetto regex e lo applichi alla stringa in 's', quindi aggiunge" h "in primo piano. Non saprei dire se la sintassi '/ t. */(S)' sia valida. –

risposta

13

Era una specie di glitch o stenografia o qualcosa di simile in una versione precedente di JavaScript?

Più o meno, sì. Secondo that site's version info, utilizza SpiderMonkey (motore JavaScript di Mozilla), che aveva la funzione di richiamare gli oggetti di espressione regolare; vale a dire che se re era un oggetto a espressione regolare, allora re(...) era equivalente a re.exec(...). Quella funzione è stata rimossa in this change, un risultato di Bug 582717 e tale sito è stato successivamente aggiornato a una versione che incorpora tale rimozione.

+0

Fantastico, esattamente quello che speravo. – mowwwalker