Tôi đã xem hướng dẫn Ngôn ngữ lập trình Swift được cung cấp bởi apple. mẫu Sau đây là từ cuốn sách:Ràng buộc biến mẫu không thể xuất hiện trong biểu thức
class HTMLElement {
let name :String;
let text: String?;
@lazy var asHTML :() -> String = {
if let text = self.text {
return "<\(self.name)>\(self.text)</\(self.name)>";
} else {
return "<\(self.name) />"
}
}
}
tôi sai viết đóng cửa như sau:
@lazy var asHTML :() -> String = {
if (let text = self.text) {
return "<\(self.name)>\(self.text)</\(self.name)>";
} else {
return "<\(self.name) />"
}
}
Thông báo ngoặc xung quanh let text = self.text
và trình biên dịch phàn nàn về:
Pattern biến ràng buộc không thể xuất hiện trong một biểu thức
Chỉ cần tự hỏi Pattern Variable Binding
là gì và tại sao nó không thể xuất hiện trong một biểu thức?
Có cần thiết để làm sth như thế này bằng các ngôn ngữ khác không? Tôi không điều như vậy ví dụ: nếu (var name = 'CjCoax') {console.log ('bạn sẽ không vi phạm ở đây')} '. Ví dụ javascript của nó nhưng tốt để giải thích những gì bạn đang cố gắng làm – sakhunzai
@cjcoax một số khác biệt với mục tiêu-C và nhanh chóng được thể hiện trong mã của bạn: 1) ';' không cần thiết, mặc dù trình biên dịch một cách an toàn bỏ qua chúng. 2) Parens là không cần thiết (hoặc trong các trường hợp như thế này, cho phép trong báo cáo kiểm soát dòng chảy –