2010-02-05 13 views
7

Tôi đang viết một số mã clojure, và tôi dựa vào thời gian Joda để xử lý thời gian. Vấn đề là tôi không biết phải nhập gì và tài liệu không rõ ràng về nó. Bây giờ tôi biết rằng ai đó ở đây có thể cho tôi câu trả lời đúng trong vòng chưa đến 5 giây, nhưng tôi muốn biết cách tự mình tìm ra câu trả lời này (ngoài việc rót qua tài liệu cho đến khi tôi tìm được câu trả lời đúng).Làm cách nào để tìm ra không gian tên nào cần nhập từ thư viện java?

Nếu tôi làm điều này bằng Python, tôi sẽ nhập gói cấp cao nhất và sử dụng kết hợp dirhelp để tìm ra những gì tôi cần nhập. Có cách nào để làm điều này trong clojure? Hoặc có bất kỳ loại công cụ java nào khác để tìm ra điều này không? Tôi thích cái gì đó là định hướng dòng lệnh.

+0

Để lưu nội dung, tôi tìm thấy nó bằng cách thực hiện tìm kiếm nhanh trên google. Đó là 'org.joda.time'. Nhưng tôi vẫn muốn biết cách tốt hơn để tìm ra nó. –

Trả lời

8

Thông thường tôi sẽ đi với câu trả lời của David Grant, nhưng nếu bạn không thể tìm thấy bất kỳ JavaDoc (!), Nhưng bạn có tệp jar, bạn có thể sử dụng tiện ích jar để liệt kê các tệp trong jar.

Thư mục các tệp lớp đang được ánh xạ trực tiếp vào tên gói của nó. Ví dụ: jar -tf joda-time-1.6.jar | more danh sách DateTime.class dưới dạng org/joda/time/DateTime.class; DateTime nằm trong gói org.joda.time.

+1

Nó thực sự không phải là nhiều mà tôi * không thể * tìm thấy nó nhiều như nó là tôi không * muốn * để tìm thấy nó. :-) Nếu tôi đã ở dòng lệnh hoặc trong các emacs và tôi muốn tìm ra chuỗi nhập khẩu là gì, việc tạo một 'jar -tf' dễ dàng hơn nhiều so với khi tôi chuyển sang trình duyệt và tìm javadoc. –

3

Trong cùng một cách mà dirhelp sẽ kiểm tra tài liệu về gói trong Python, thông tin hữu ích trong Java có thể được thu thập từ việc đọc Javadocs cho một API cụ thể. Trong trường hợp của Joda Thời gian, các trang web có liên kết trực tiếp đến các tài liệu được tạo ra, ở đây:

http://joda-time.sourceforge.net/api-release/index.html (xem khung phía dưới bên trái)

Tôi không thể nghĩ ra bất cứ điều gì ra tay đó là so sánh trực tiếp với những gì bạn yêu cầu, vì trừ khi bạn hỏi trình nạp lớp cho một lớp cụ thể, trình nạp lớp sẽ không tải nó và bạn sẽ không thể tìm thấy nó.

+0

Đối với bản ghi, 'dir' không kiểm tra tài liệu. Nó tự quan sát chính đối tượng đó. :-) –

+0

@ Jason Baker: cảm ơn. :) –