Tôi đang viết một gói bản vẽ với một số phần, và tôi có các toán tử và kiểu dữ liệu rải rác. Tuy nhiên tôi không muốn người dùng thêm các mô-đun tương ứng mỗi lần, vì nó sẽ khá lộn xộn, ví dụ tôi có một Point
lớp, một Monoid
vai trò và một Style
lớp trong các đường dẫn khác nhau như thế này
unit module Package::Data::Monoid;
# $?FILE = lib/Package/Data/Monoid.pm6
role Monoid {...}
unit module Package::Data::Point;
# $?FILE = lib/Package/Data/Point.pm6
class Point {...}
unit module Package::Data::Style;
# $?FILE = lib/Package/Data/Style.pm6
class Style {...}
Tôi muốn có một haskell
khúc dạo đầu giống như lib/Package/Prelude.pm6
hiệu ứng mà tôi có thể viết các kịch bản như vậy
use Package::Prelude;
# I can use Point right away, Style etc...
thay vì làm
use Package::Data::Style;
use Package::Data::Point;
use Package::Data::Monoid;
# I can too use point right away, but for users not knowing the
# inner workings it's too overwhelming
Tôi đã thử nhiều thứ:
- Phiên bản này không mang lại cho tôi hiệu ứng phù hợp, tôi phải nhập toàn bộ đường dẫn đến điểm, tức là
Package::Data::Point
...
unit module Package::Prelude;
# $?FILE = lib/Package/Prelude.pm6
use Package::Data::Style;
use Package::Data::Point;
use Package::Data::Monoid;
- Phiên bản này cung cấp cho tôi
Point
ngay lập tức, nhưng tôi gặp vấn đề với các nhà khai thác, v.v., tôi cũng muốn thêm tự động mọi thứ từ các thói quen được xuất trong các gói ví dụ đã đề cập.
# $?FILE = lib/Package/Prelude.pm6
use Package::Data::Style;
use Package::Data::Point;
use Package::Data::Monoid;
sub EXPORT {
hash <Point> => Point
, <Style> => Style
, <mappend> => &mappend
...
}
Bạn có biết một cách tốt hơn và nhanh chóng để có được một tập tin giống như khúc dạo đầu không?
unit class Package::Data::Point
. Bạn không phải sử dụngmodule
.