Tôi muốn xác định một vài tập hợp con mà tôi cũng đang thêm một vài ràng buộc và một số die
câu lệnh cho một số thông báo lỗi hữu ích. Tôi không muốn định nghĩa chúng ở đầu mô-đun sử dụng các tập hợp con đó và thay vào đó muốn đặt chúng vào một mô-đun khác trong khi sử dụng tên đầy đủ (FQN) của chúng. Chẳng hạn, tôi có
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 ...
nhưng có
===SORRY!=== Error while compiling /tmp/637321813/main.pl6
Two terms in a row ...
Điều đó không hiệu quả Tôi nghĩ rằng tôi có thể làm điều gì đó như sau nhưng tôi tự hỏi Nếu tôi có thể tránh làm điều đó:
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;