2011-10-20 23 views
14

Tôi muốn đặt các đối số trên các dòng khác nhau, nhưng tôi nhận được lỗi phân tích cú pháp trên tất cả các biến thể mà tôi thử, bao gồm thêm dấu phẩy, dấu ngoặc đơn kiểu allwin và các thụt lề khác nhau.Làm thế nào để định dạng chức năng định nghĩa với các đối số trên nhiều dòng?

constructor: (
    @a 
    @b 
    @c 
) -> 
+0

Tôi thấy rằng bạn [đã đăng sự cố] (https://github.com/jashkenas/coffee-script/issues/1784) về việc này. –

Trả lời

26

Hãy thử:

constructor:\ 
(@a 
, @b 
, @c 
) -> 

Cả trailing \ và hàng đầu , newlines đàn áp trong CoffeeScript.

1

Dường như bạn đã hết may mắn. Nếu bạn nhìn vào grammar rules for the function definition, bạn sẽ thấy rằng các quy tắc được định nghĩa là:

'PARAM_START ParamList PARAM_END FuncGlyph Block' 

Các quy tắc cho Block cho phép TERMINATOR tokens (mà là dấu chấm phẩy hoặc vận chuyển trở lại) nhưng ParamList quy tắc (một trong những bạn quan tâm đến việc thêm dòng mới vào) không cho phép.

Các vấn đề liên quan