Dấu gạch chéo thực sự thoát ra là gì?
Nó được sử dụng như một nhân vật trốn thoát. Nhưng tôi luôn tự hỏi cái gì thoát ra, hay cái gì đang trốn thoát.
Tôi biết "\ n" chỉ định một dòng mới. Nhưng những gì thoát ra vào? Tại sao nó được gọi như vậy?
Dấu gạch chéo thực sự thoát ra là gì?
Nó được sử dụng như một nhân vật trốn thoát. Nhưng tôi luôn tự hỏi cái gì thoát ra, hay cái gì đang trốn thoát.
Tôi biết "\ n" chỉ định một dòng mới. Nhưng những gì thoát ra vào? Tại sao nó được gọi như vậy?
Câu trả lời:
Dấu gạch chéo ngược được sử dụng làm ký tự đánh dấu để báo cho trình biên dịch / trình thông dịch rằng ký tự tiếp theo có một số ý nghĩa đặc biệt. Những gì nhân vật tiếp theo có nghĩa là tùy thuộc vào việc thực hiện. Ví dụ: ngôn ngữ kiểu C sử dụng \ n để có nghĩa là dòng mới và \ t có nghĩa là tab.
Việc sử dụng từ "thoát" thực sự có nghĩa là tạm thời thoát khỏi việc phân tích cú pháp văn bản và sang một chế độ khác trong đó ký tự tiếp theo được xử lý khác nhau.
:))
Đây là một thuật ngữ liên quan đến chuỗi thoát và khóa Esc (thoát).
Bản thân nhân vật không "chạy trốn" khỏi bất kỳ nhân vật nào khác. Người ta có thể nói nhân vật đi theo nhân vật thoát (giả sử \ n từ ví dụ của bạn) thoát khỏi số phận được sử dụng như một n bình thường trong một số ứng dụng và được sử dụng thay thế như một dòng mới.
Trình tự thoát có rất nhiều điểm chung với khái niệm giao tiếp ngoài băng :
Đôi khi cũng được sử dụng để mô tả những gì người liên lạc gọi các ký tự thay đổi, chẳng hạn như ESC dẫn các chuỗi điều khiển cho nhiều thiết bị đầu cuối hoặc các chỉ báo dịch chuyển mức trong mã Baudot 5 bit cũ.
Giả sử bạn đang thực hiện chuyển tập tin qua một cổng nối tiếp và bạn thương lượng với máy tính ở đầu bên kia: "OK, đây là tập tin". Vì trong trường hợp chung, tất cả các ký tự có thể là các ký tự tệp hợp lệ (nếu đó là tệp ASCII), bạn có một số vấn đề:
Nhiều người trong suốt lịch sử điện toán đã thực hiện rất nhiều phương pháp khác nhau để giải quyết vấn đề này.
Trong trường hợp chuỗi ký tự trong ngôn ngữ lập trình, đó là một vấn đề tương tự. Câu trích dẫn đầu tiên cho biết "ở đây có chuỗi - bắt đầu đọc cho đến khi bạn nhận được một trích dẫn khác". Tất nhiên, sau đó bạn có vấn đề gửi một ký tự trích dẫn, vì vậy họ đã phát minh ra chuỗi thoát dấu gạch chéo. Nếu bạn thấy một dấu gạch chéo và sau đó là một trích dẫn, thì đó là một trích dẫn theo nghĩa đen, không phải là kết thúc của chuỗi. Thật không may, bạn vừa nuốt một con nhện để ăn ruồi, vì bây giờ bạn không thể gửi kết hợp dấu gạch chéo theo nghĩa đen. Vì vậy, bạn có thể thoát khỏi một dấu gạch chéo bằng một dấu gạch chéo khác. Vì vậy, dấu gạch chéo có nghĩa là dấu gạch chéo, dấu gạch chéo có nghĩa là trích dẫn. Điều đó cho phép họ sử dụng dấu gạch chéo cho các ký tự không thể in hoặc khó in khác như trả về vận chuyển, nguồn cấp dữ liệu, tab, v.v.
Đó là một lối thoát khỏi bối cảnh phân tích cú pháp , đó là đòi hỏi (những gì một nhân vật phản diện) n
phải được giải thích n
thay vì như một newline
.
Điểm khác biệt thú vị nhất của nó là một lối thoát không chuyển phân tích ngữ cảnh theo cách mà một nhân vật trích dẫn "
(hoặc nhiều biểu tượng khác) sẽ làm, yêu cầu một "
(hoặc một số biểu tượng khác) quay lại bối cảnh trước đây. Họ chỉ cần một chút chuyển hướng nhưng trở lại con đường càng sớm càng tốt.
Tuy nhiên, không ai nói về bối cảnh phân tích cú pháp nữa, dường như không ai viết trình phân tích cú pháp nữa, kể từ khi xml và json ra đời. Một số vấn đề ngừng là chủ đạo, đi vào một khái niệm thích hợp và kỳ lạ như thế vẫn còn tồn tại xung quanh.