2012-09-06 39 views
10

Tôi không thể nhận xét và biên dịch dòng mã sau bằng/* * /, trong trình chỉnh sửa XCode. Tôi cất ví dụ này xuống từ một chuỗi phức tạp hơn được sử dụng trong một truy vấn XPath:Tại sao tôi không thể nhận xét chuỗi này?

chuỗi chính nó có vẻ tốt đẹp:

NSString* s = @"//*//"; 

sẽ không biên dịch cho tôi:

/* 
NSString* s = @"//*//"; 
*/ 

XCode 4.4. Tôi sẽ gửi một radar nếu bất cứ ai có thể xác nhận tôi không ngu ngốc.

EDIT: tốt đẹp để thấy rằng highlighter SO cú pháp cũng trưng bày một vấn đề với điều này ...

EDIT: okay, tôi nộp một báo cáo lỗi với Apple. Cảm ơn.

EDIT: Mỗi câu trả lời của Rob bên dưới, đây không phải là lỗi :) Cảm ơn bạn đã giải thích, Rob; hoàn toàn có ý nghĩa bây giờ.

+0

Điều thú vị là các ký tự trong chuỗi có vẻ như khắc phục được nhưng đó không phải là một giải pháp chính xác ... đó là một nỗi đau. –

+0

Các cú pháp làm nổi bật cú pháp đó không gây ngạc nhiên cho tôi. Đó là trình biên dịch nghẹn ngào trên nó là đáng ngạc nhiên với tôi. Tôi đoán các highlighter cú pháp phải chia sẻ các biên dịch front-end ... – TomSwift

+0

Tôi nghĩ rằng cướp mayoff là đúng, vì vậy tôi loại bỏ bình luận trước đó của tôi. – JWWalker

Trả lời

7

Đây không phải là lỗi trình biên dịch. Ký tự ngoặc kép " không có ý nghĩa đặc biệt bên trong nhận xét, vì vậy bộ tiền xử lý không chú ý đến nó. Bộ xử lý trước chỉ kết thúc nhận xét ngay sau khi thấy các ký tự */.

Cách tốt nhất để nhận xét một phần mã là đặt // ở đầu mỗi dòng. Nhận xét // kết thúc ở dòng mới tiếp theo. Xcode có một lệnh menu (phím tắt: ⌘ /) sẽ nhận xét hoặc bỏ ghi chú các dòng đã chọn của bạn bằng cách chèn hoặc xóa // ở đầu mỗi dòng.

+0

Và thậm chí cả phím tắt - lệnh-dấu gạch chéo với khối được đánh dấu. –

+0

Cảm ơn bạn đã giải thích! – TomSwift

+0

@BenZotto Tôi đã ở trên iPad của mình khi tôi viết điều đó nên tôi không chắc chắn về lối tắt. Cảm ơn lời nhắc. –

0

Phát hiện và kết thúc nhận xét trong @"//*//"; Tôi không biết bất kỳ trình chỉnh sửa nào cho phép lồng nhận xét khối (Tôi biết đó không phải là những gì bạn đang làm, nhưng cùng một vấn đề). Hãy chú ý đến mức độ cao của cú pháp highlighter trên SO.

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