Saya ingin mendefinisikan beberapa himpunan bagian yang saya juga menambahkan beberapa kendala dan beberapa die
pernyataan untuk beberapa pesan kesalahan yang berguna. Saya tidak ingin mendefinisikan mereka di bagian atas modul yang menggunakan himpunan bagian itu dan sebaliknya ingin menempatkan mereka di modul lain sambil juga menghilangkan menggunakan nama yang sepenuhnya memenuhi syarat (FQNs). Misalnya saya punya
unit module Long::Module::Subsets;
subset PosInt
where ($_ ~~ Int || "The value must be an integer")
&& ($_ > 0 || "The value must be greater than 0")
is export
;
# other subsets ...
tapi berhasil
===SORRY!=== Error while compiling /tmp/637321813/main.pl6
Two terms in a row ...
Itu tidak berfungsi, saya pikir saya bisa melakukan sesuatu sebagai berikut tetapi saya bertanya-tanya apakah saya bisa menghindari melakukannya:
use Long::Module::Subsets;
unit Long::Module;
my constant PosInt = Long::Module::Subsets::PosInt;
my constant Byte = Long::Module::Subsets::Byte;
# ... more subsets here
# ... some code here
my PosInt $age;