我发现了一些我无法解释的东西,所以我把它打到了我认为的最低限度:
# file OurTest.rakumod
unit module OurTest;
use NativeCall;
our $our-errno is export := cglobal('libc.so.6', 'errno', int32); # note the "our"
# file test.raku
use NativeCall;
use lib '.';
use OurTest;
my $my-errno := cglobal('libc.so.6', 'errno', int32); # note the "my"
say $my-errno.^name; # output: Int
say $our-errno.^name; # output: Any
为什么声明为的变量my
似乎our
包含不同类型的数据?
文档中没有暗示这种行为,这对我来说是出乎意料的。