私はいくつかのパーツを含む描画パッケージを書いており、演算子とデータ型が散在しています。ただし、ユーザーに毎回対応するモジュールを追加してほしくありません。これは非常に煩雑になるためです。たとえばPoint
、次のような異なるパスにクラス、Monoid
ロール、Style
クラスがあるとします。
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 {...}
私はそのよう
なスクリプトを書くことができるという効果でhaskell
同様のプレリュードを持ちたいですlib/Package/Prelude.pm6
use Package::Prelude;
# I can use Point right away, Style etc...
する代わりに
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
私は多くのことを試しました:
- このバージョンは私に正しい効果を与えません、私はポイントするためにパス全体をタイプしなければなりません、すなわち
Package::Data::Point
...
unit module Package::Prelude;
# $?FILE = lib/Package/Prelude.pm6
use Package::Data::Style;
use Package::Data::Point;
use Package::Data::Monoid;
- このバージョンは
Point
すぐに使用できますが、演算子などに問題が発生します。また、上記のサンプルパッケージのエクスポートされたルーチンからすべてを自動的に追加したいだけです。
# $?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
...
}
あなたはそのようなプレリュードのようなファイルを取得するより良い迅速な方法を知っていますか?
unit class Package::Data::Point
。を使用する必要はありませんmodule
。