Trong Mercurial, nhiều người trong các phần mở rộng quấn chuỗi help/cú pháp của họ trong một cuộc gọi đến một chức năng gạch dưới, như vậy:Mercurial/Python - Chức năng Underscore làm gì?
_('[OPTION] [QUEUE]')
này confuses me, bởi vì nó dường như không cần thiết (các Writing Extensions hướng dẫn không đề cập đến nó) và dường như không có một _ định nghĩa trong lớp, vì vậy tôi tự hỏi nếu đây là một cú pháp đặc biệt mà tôi không hiểu, có lẽ một cách khác để nói lambda, hoặc có thể là chức năng nhận diện? Ngoài ra tôi tự hỏi những gì lợi ích của phương pháp này (bất cứ điều gì nó là) là hơn chỉ là chuỗi thô như tài liệu cho thấy.
Không có gì tôi thấy trong tài liệu Python đề cập đến một hàm như vậy, vì vậy tôi không chắc đây có phải là câu hỏi Python hay câu hỏi Mercurial.
Dưới đây là hai ví dụ mà sử dụng cấu trúc này (nhìn vào cmdtable
điển gần cuối của tập tin)
- https://www.mercurial-scm.org/repo/hg/file/42408cd43f55/hgext/mq.py
- https://www.mercurial-scm.org/repo/hg/file/42408cd43f55/hgext/graphlog.py
Ahaha! Ok cảm ơn bạn! Vì vậy, đây là để thuận tiện nếu ai đó muốn chạy nó bằng ngôn ngữ riêng của họ - nhưng họ vẫn phải cung cấp/cam kết bản dịch của riêng họ, phải không? Nếu tôi sử dụng gettext tôi không dự kiến sẽ cung cấp của riêng tôi, phải không? – dimo414
@ dimo414, với 'gettext' của thư viện chuẩn (và với ngôn ngữ riêng của GNU), bạn đã _definitely_ dự kiến sẽ cung cấp bản dịch của riêng bạn - mã của' gettext' là lấy và sử dụng các cụm từ đã dịch, nó chắc chắn nhất ** không ** làm dịch máy tự động giữa các ngôn ngữ tự nhiên khác nhau !!! –
@ Alex, xin lỗi tôi không rõ ràng - câu hỏi là về kỳ vọng chứ không phải chức năng. Từ quan điểm "cung cấp chương trình hoàn thành", tôi có dự kiến tự tạo bản dịch này hay không, hoặc tôi có thể phát hành mã mà không có chúng không? – dimo414