perl6 – 在Perl 6中打印对象

前端之家收集整理的这篇文章主要介绍了perl6 – 在Perl 6中打印对象前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
为什么我会得到不同的结果?
class Car {
  has $.wheels;
}

my $my_car = Car.new( wheels => 4 );

say  $my_car ;  # Car.new(wheels => 4)
say "$my_car";  # Car<94582644384824>
put  $my_car ;  # Car<94582644384824>

我想在第二和第三种情况下,$my_car被字符串化,但结果意味着什么?

解决方法

say命令在其参数上调用.gist. put命令在其参数上调用.Str.插入对象时也会发生这种情况.

默认的gist方法查看对象的公共属性,并从中创建一个字符串.

您可以通过提供自己的Str方法来控制对象的字符串化方式.

猜你在找的Perl相关文章