ฉันต้องการกำหนดชุดย่อยสองสามชุดที่ฉันเพิ่มข้อ จำกัด บางประการและdie
คำสั่งบางอย่างสำหรับข้อความแสดงข้อผิดพลาดที่มีประโยชน์ ฉันไม่ต้องการกำหนดไว้ที่ด้านบนของโมดูลที่ใช้ชุดย่อยเหล่านั้นและต้องการวางไว้ในโมดูลอื่นในขณะที่ทำไปโดยใช้ชื่อที่ผ่านการรับรอง (FQNs) ตัวอย่างเช่นฉันมี
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 ...
แต่ได้
===SORRY!=== Error while compiling /tmp/637321813/main.pl6
Two terms in a row ...
ไม่ทำงานฉันคิดว่าฉันสามารถทำสิ่งต่าง ๆ ดังต่อไปนี้ แต่ฉันสงสัยว่าถ้าฉันสามารถหลีกเลี่ยงได้:
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;
1
ในฐานะที่เป็นหมายเหตุด้านข้างมีโมดูลย่อยทั่วไปที่มี PosInt: github.com/bradclawsie/Subsets-Common
—
0721090601