在版本中§

有关方法 Str,请参阅主要文档 在上下文中

method Str(Version:D: --> Str:D)

返回调用者的字符串表示形式。

my $v1 = v1.0.1;
my $v2 = Version.new('1.0.1');
say $v1.Str;                                      # OUTPUT: «1.0.1␤» 
say $v2.Str;                                      # OUTPUT: «1.0.1␤»

在日期时间中§

有关方法 Str,请参阅主要文档 在上下文中

method Str(DateTime:D: --> Str:D)

返回调用者的字符串表示形式,由 格式化程序 完成。如果未指定格式化程序,则将返回 ISO 8601 时间戳。

say DateTime.new('2015-12-24T12:23:00+0200').Str;
# OUTPUT: «2015-12-24T12:23:00+02:00␤» 

在匹配中§

有关方法 Str,请参阅主要文档 在上下文中

method Str(Match:D: --> Str:D)

返回匹配的文本。

"abc123def" ~~ /\d+/;
say $/.Str;               # OUTPUT: «123␤»

在列表中§

有关方法 Str,请参阅主要文档 在上下文中

method Str(List:D: --> Str:D)

将列表中的元素字符串化并用空格连接它们(与 .join(' ') 相同)。

say (1,2,3,4,5).Str# OUTPUT: «1 2 3 4 5␤»

在同形异义词中§

有关方法 Str,请参阅主要文档 在上下文中

method Str(Allomorph:D:)

返回调用者的 Str 值。

在整数中§

有关方法 Str,请参阅主要文档 在上下文中

multi method Str(Int:D)
multi method Str(Int:D:$superscript)
multi method Str(Int:D:$subscript)

返回数字的字符串表示形式。

say 42.Str;                # OUTPUT: «42␤»

CoolInt 的父类,因此很少需要显式调用 Int.Str 方法,除非您希望字符串以上角标或下角标返回。

say 42.Str(:superscript); # OUTPUT: «⁴²␤» 
say 42.Str(:subscript);   # OUTPUT: «₄₂␤»

:superscript:subscript 命名参数自 2023.05 Rakudo 编译器版本起可用。

在回溯中§

有关方法 Str,请参阅主要文档 在上下文中

multi method Str(Backtrace:D:)

返回回溯的简洁字符串表示形式,省略标记为 is hidden-from-backtrace 的例程,并且由实现决定,还省略设置中的一些例程。

my $backtrace = Backtrace.new;
say $backtrace.Str;

在连接中§

有关方法 Str,请参阅主要文档 在上下文中

multi method Str(Junction:D:)

自动对元素执行 .Str 方法,并将结果作为 Junction 返回。使用 .Str 方法(printput)的输出方法被特殊处理为自动连接连接,尽管它们能够接受 Mu 类型。

在 RakuAST::Doc::Block 中§

参见 上下文中的主要文档,了解方法 Str

put $block;  # bar␤ 

返回块的段落字符串,以及任何标记字符串。

在 StrDistance 中§

参见 上下文中的主要文档,了解方法 Str

multi method Str(StrDistance:D: --> Str)

返回一个after字符串值。

my $str-dist = ($str ~~ tr/old/new/);
say $str-dist.Str# OUTPUT: «fnew␤» 
say ~$str-dist;    # OUTPUT: «fnew␤» 

在角色 Sequence 中§

参见 上下文中的主要文档,了解方法 Str

multi method Str(::?CLASS:D:)

字符串化缓存的序列。

在角色 Blob 中§

参见 上下文中的主要文档,了解方法 Str

multi method Str(Blob:D:)

抛出 X::Buf::AsStr,其中 Str 作为有效负载。要转换为 Str,您需要使用 .decode

在 Label 中§

参见 上下文中的主要文档,了解方法 Str

转换为字符串,包括名称、文件和定义的行。

在 Thread 中§

参见 上下文中的主要文档,了解方法 Str

method Str(Thread:D: --> Str:D)

返回一个包含调用者 线程 ID名称 的字符串。

my $t = Thread.new(code => { for 1..5 -> $v { say $v }}name => 'calc thread');
say $t.Str;                           # OUTPUT: «Thread<3>(calc thread)␤»

在 Mu 中§

参见 上下文中的主要文档,了解方法 Str

multi method Str(--> Str)

返回调用者的字符串表示形式,旨在供机器读取。方法 Str 对类型对象发出警告,并生成空字符串。

say Mu.Str;   # Use of uninitialized value of type Mu in string context. 
my @foo = [2,3,1];
say @foo.Str  # OUTPUT: «2 3 1␤»

在 IO::CatHandle 中§

参见 上下文中的主要文档,了解方法 Str

method Str(IO::CatHandle:D: --> Str:D)

在当前活动源句柄上调用 .Str 并返回结果。如果 源句柄队列已耗尽,则返回一个实现定义的字符串(在 Rakudo 中为 '<closed IO::CatHandle>')。

在 Date 中§

参见 上下文中的主要文档,了解方法 Str

multi method Str(Date:D: --> Str:D)

返回调用者的字符串表示形式,如 格式化程序 所指定。如果未指定格式化程序,则将返回 (ISO 8601) 日期。

say Date.new('2015-12-24').Str;                     # OUTPUT: «2015-12-24␤» 
 
my $fmt = { sprintf "%02d/%02d/%04d".month.day.year };
say Date.new('2015-12-24'formatter => $fmt).Str;  # OUTPUT: «12/24/2015␤»

在 ForeignCode 中§

参见 上下文中的主要文档,了解方法 Str

method StrForeignCode:D: )

通过调用 name 返回代码的名称。

在 RakuAST::Doc::Paragraph 中§

参见 上下文中的主要文档,了解方法 Str

put $paragraph;  # Text before B<and> after markup␤␤ 

返回段落的字符串,以及任何标记字符串。

在 IO::Special§

查看 上下文中的主要文档 以了解方法 Str

method Str(IO::Special:D:)

这将返回 '<STDIN>''<STDOUT>''<STDERR>'(视情况而定)。

在 IO::Handle§

查看 上下文中的主要文档 以了解方法 Str

返回 .path 的值,强制转换为 Str

say "foo".IO.open.Str# OUTPUT: «foo␤» 

在 IO::Path§

查看 上下文中的主要文档 以了解方法 Str

method Str(IO::Path:D: --> Str)

IO::Path.path 的别名。特别注意,IO::Path 的默认字符串化不会使用 $.CWD 属性 的值。若要在保留完整路径信息的情况下进行字符串化,请使用 .absolute.relative 方法。

在角色 Real§

查看 上下文中的主要文档 以了解方法 Str

multi method Str(Real:D:)

在调用者上调用 Bridge 方法,然后在其返回值上调用 Str 方法

在 Pair§

查看 上下文中的主要文档 以了解方法 Str

multi method Str(Pair:D: --> Str:D)

返回调用者的字符串表示形式,格式为 键 ~ \t ~ 值

my $b = eggs => 3;
say $b.Str;                                       # OUTPUT: «eggs  3␤»

在 Num§

查看 上下文中的主要文档 以了解方法 Str

method Str(Int:D)

返回数字的字符串表示形式。

say π.Str;                # OUTPUT: «3.141592653589793␤»

CoolNum 的父类,因此很少需要显式调用 Num.Str 方法。

say π.Str.comb == π.comb# OUTPUT: «True␤»

在 RakuAST::Doc::Markup§

查看 上下文中的主要文档 以了解方法 Str

put $markup;  # B<and>␤ 

返回标记对象字符串,其中任何嵌入标记也已字符串化。

在 Nil§

查看 上下文中的主要文档 以了解方法 Str

method Str()

警告用户他们试图将 Nil 字符串化。

在 Code§

查看 上下文中的主要文档 以了解方法 Str

multi method Str(Code:D: --> Str:D)

将输出方法名称,但也会产生警告。请改用 .raku.gist

sub marine() { }
say ~&marine;
# OUTPUT: «Sub object coerced to string (please use .gist or .raku to do that)␤marine␤» 
say &marine.Str;
# OUTPUT: «Sub object coerced to string (please use .gist or .raku to do that)␤marine␤» 
say &marine.raku# OUTPUT: «sub marine { #`(Sub|94280758332168) ... }␤»

在角色 Systemic§

查看 上下文中的主要文档 以了解方法 Str

method Str

返回对象名称的实例方法。

say $*RAKU.Str# OUTPUT: «Raku␤»