2012-03-27 35 views
18

Tôi đã đọc hai bài viết gần đây rằng thảo luận về Phụ thuộc và nhập khẩuNhập khẩu và Phụ thuộc

Nhưng tôi có bốn kéo dài, câu hỏi liên quan:

  1. Giả sử tôi muốn hai gói cũng có sẵn cho người dùng cuối khi họ l oad trong gói của tôi. Có lý do chính đáng nào để không sử dụng Phụ thuộc vào ngữ cảnh này không? (Điểm ở đây là tải tất cả ba gói thông qua lệnh tải chỉ một gói.)

  2. Bạn có thể chỉ định gói trong cả trường Phụ thuộc và Nhập?

  3. Nếu gói được liệt kê trong Phụ thuộc, có điểm nào cũng liệt kê nó trong Nhập không? Hoặc là lợi ích của Nhập khẩu đã bị từ chối bằng cách sử dụng Tùy thuộc?

  4. Có đúng không? Gói phải được liệt kê trong trường Nhập khẩu của tệp DESCRIPTION nếu và chỉ khi gói được nhập (toàn bộ hoặc một phần) trong tệp NAMESPACE.

Cảm ơn nhiều!

David

+1

Rất nhiều liên quan: http://stackoverflow.com/q/8637993/602276 – Andrie

+1

Bây giờ tôi thấy - bạn đã làm trong thực tế liên kết đến 2 bài viết trước, nhưng đó không phải là rất rõ ràng. Tôi đã chỉnh sửa câu hỏi của bạn để làm rõ hơn. Câu hỏi hay, nhân tiện. +1 – Andrie

Trả lời

11

Vài điểm và tôi sẽ thừa nhận rằng đôi khi tôi cũng thấy nhầm lẫn. Nhưng tôi đã xem xét lại nó gần đây, và đây là việc của tôi:

  1. "Phụ thuộc" là cách chúng tôi thường làm; nó gần nhất với "chỉ cần tải cả ba": khi thứ ba của bạn phụ thuộc vào hai thứ kia, cả ba sẽ được tải.

  2. Với không gian tên, chúng tôi cũng có thể nhập. Điều đó mang lại chỉ các biểu tượng đã nêu, có thể là dữ liệu hoặc chức năng. Tôi sử dụng điều này đôi khi; nó sẽ không tải gói khác mà bạn nhập từ nhưng chỉ cần làm cho các biểu tượng đã nêu có sẵn. Như vậy, nó "nhẹ" hơn Depends.

  3. Nếu bạn phụ thuộc, không cần nhập.

  4. Điều đó đúng: Nếu bạn sử dụng các khai báo trong NAMESPACE để nhập ký hiệu từ các gói khác, gói khác cần phải được liệt kê trong Nhập: trong tệp DESCRIPTION.

+1

Câu trả lời hay. Ngoài ra, tôi nhận là 'Nhập khẩu' an toàn hơn' Phụ thuộc'. Tôi rất có thể sử dụng thuật ngữ sai ở đây, nhưng nếu bạn 'Import', thì các gói đã nhập sẽ tồn tại trong một" ngăn xếp "là" nội bộ "vào không gian tên của gói nhập. Điều này bảo vệ chống lại kịch bản mà các gói tải khác sau đó sẽ che dấu các chức năng. Nếu mô tả mơ hồ này chính xác từ xa, bạn có thể thêm mô tả thích hợp vào câu trả lời của mình không? – Andrie

+0

Tôi nghĩ rằng tôi biết những gì bạn có ý nghĩa, nhưng không thể từ nó theo một cách tôi hài lòng với.Nhưng điểm chính của bạn là tốt: "Nhập khẩu" là hạt mịn hơn và ít có khả năng có tác dụng phụ. –

+0

Ahah, tôi biết có một câu hỏi và câu trả lời tương tự gần đây. @ josho'brien để giải cứu trong http://stackoverflow.com/a/8638902/602276 – Andrie