Saya menulis paket gambar dengan beberapa bagian, dan saya memiliki operator dan tipe data yang tersebar di seluruh penjuru. Namun saya tidak ingin para pengguna menambahkan modul yang sesuai setiap waktu, karena akan sangat berantakan, misalnya saya memiliki Point
kelas, Monoid
peran dan Style
kelas di jalur yang berbeda seperti ini
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 {...}
Saya ingin memiliki haskell
pembuka seperti lib/Package/Prelude.pm6
dengan efek bahwa saya dapat menulis skrip seperti itu
use Package::Prelude;
# I can use Point right away, Style etc...
bukannya melakukan
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
Saya sudah mencoba banyak hal:
- Versi ini tidak memberi saya efek yang tepat, saya harus mengetikkan seluruh jalur ke titik, yaitu,
Package::Data::Point
...
unit module Package::Prelude;
# $?FILE = lib/Package/Prelude.pm6
use Package::Data::Style;
use Package::Data::Point;
use Package::Data::Monoid;
- Versi ini memberi saya
Point
segera, tetapi saya mendapatkan masalah dengan operator dan sebagainya, juga saya hanya ingin menambahkan semuanya secara otomatis dari rutinitas yang diekspor dalam paket contoh yang disebutkan.
# $?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
...
}
Apakah Anda tahu cara yang lebih baik dan cepat untuk mendapatkan file seperti pembuka?
unit class Package::Data::Point
. Anda tidak harus menggunakanmodule
.