2013-04-12 40 views
5

Xin lỗi trước, đây là điều mà tôi thực sự nghĩ rằng tôi có thể tìm thấy trên web, nhưng tôi đã gặp khó khăn.

Trong Python, trong phần tiêu đề, tôi thấy rằng đôi khi mọi người sẽ quấn các chữ của họ bằng ký hiệu đô la ($). Có vẻ như, đánh giá từ các ví dụ, rằng đây là một con trỏ để điền vào thông tin được cập nhật tự động (có thể thông qua kiểm soát nguồn?), Nhưng tôi không hiểu nó hoạt động như thế nào.

Ví dụ:

__version__ = '$Revision: 4799 $'.split()[1] 
__date__ = '$Date: 2006-09-25 11:09:02 -0400 (Mon, 25 Sep 2006) $'.split()[1] 
__author__ = 'John Doe FIX: put in the authors name' 

là một ví dụ mà tôi tìm thấy tại (Python Example Documentation Template). Vì vậy, $ được bao quanh phiên bản (sẽ thay đổi theo thời gian), và ngày (cũng sẽ thay đổi). Giả sử nó là một số loại con trỏ để luôn luôn nắm bắt thông tin cập nhật liên quan đến phiên bản, ngày, vv, ai đó có thể chỉ cho tôi cách thức hoạt động này? Phần mềm điều khiển nguồn nào sử dụng cú pháp này? Có giống nhau giữa các ngôn ngữ không?

Cảm ơn bạn!

Trả lời

3

Điều này không cụ thể đối với Python, nó được sử dụng bởi các hệ thống kiểm soát nguồn, quay lại RCS và CVS.

Xem CVS Keywords để biết danh sách cú pháp CVS. Trong khi ít người sử dụng CVS ngày nay, nhiều người trong số các hệ thống kiểm soát nguồn người sử dụng làm sử dụng (đáng chú ý nhất là, lật đổ) xử lý cú pháp CVS hoặc một biến thể nhỏ của nó. (Và một số người cũng tạo các kịch bản xây dựng để thực hiện các thay thế tương tự tại thời gian xây dựng thay vì thời gian đăng ký.)

+0

Cảm ơn bạn rất nhiều! Tôi nghĩ đó là một cái gì đó như thế này, nhưng không thể tìm thấy bất cứ điều gì để xác nhận những gì bạn đã nói. Cảm ơn các liên kết. –

2

Đây là kết quả của subversion's keyword substitution (ban đầu là CVS). Có, nó hoạt động với tất cả các tệp, không chỉ mã nguồn python.

+0

Xin chào Pavel, cảm ơn bạn rất nhiều! Tôi thực sự muốn nói rằng cả bạn & abarnet của là "chính xác", nhưng tôi đoán StackExchange không cho phép tôi chọn 2 câu trả lời đúng. –

1

Điều này được gọi là "thay thế từ khóa" và các biến thể của ý tưởng này được triển khai trong một số hệ thống kiểm soát phiên bản, như RCS, CVS và Subversion. Cho rằng, bây giờ bạn có thể dễ dàng tìm kiếm trên web để biết chi tiết.

1

Nó không phải là python cụ thể.

Một số hệ thống kiểm soát phiên bản (RCS, CVS và SVN ít nhất) tự động chèn số sửa đổi và ngày sửa đổi cuối cùng của tệp bằng các biến đặc biệt đó.

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