2012-02-06 26 views
8

Tôi đang cố gắng để thưởng thức một số javascript đệ trình golf đang tuyệt vời trên sân đang tình trạng hỗn loạn, nhưng tôi tiếp tục nhìn thấy những thứ như:Javascript tốc ký regex?

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

... đó là người chiến thắng JS cho: http://golf.shinh.org/p.rb?ttp

Tôi không hiểu làm thế nào đó là cú pháp javascript chính xác, và tôi thậm chí đã cố gắng gửi lại đó, nhưng nó nói đối tượng không phải là một chức năng, đó là một cái gì đó dọc theo dòng của những gì tôi mong đợi sẽ xảy ra.

Đây có phải là một số trục trặc hoặc viết tắt hoặc thứ gì đó trong phiên bản javascript cũ hơn không?

+0

Dường như '/ t. * /' Tạo đối tượng regex và áp dụng đối tượng đó vào chuỗi trong 's', sau đó nối" h "vào mặt trước. Tôi sẽ không biết liệu cú pháp '/ t. */(S)' có hợp lệ hay không. –

Trả lời

13

Đây có phải là một số loại trục trặc hoặc viết tắt hoặc thứ gì đó trong phiên bản javascript cũ hơn không?

Ít hoặc nhiều, có. Theo that site's version info, nó sử dụng SpiderMonkey (công cụ JavaScript của Mozilla), được sử dụng để có tính năng mà các đối tượng thường xuyên biểu hiện được gọi; có nghĩa là nếu re là đối tượng biểu thức chính quy thì re(...) tương đương với re.exec(...). Tính năng đó đã bị xóa trong this change, kết quả là Bug 582717 và trang web đó đã cập nhật lên phiên bản kết hợp loại bỏ đó.

+0

Tuyệt vời, chính xác những gì tôi đã hy vọng. – mowwwalker