在 IO::Spec::Unix 中§

有关 方法 join 的主要文档,请参阅 上下文

method join ($Str:D $dirStr:D $file --> Str:D)

类似于 catpath,它获取两个路径片段并对其进行连接,必要时添加或删除路径分隔符,但如果 $dir$file 都是字符串 '/' 或如果 $dir 是字符串 '.',它将仅返回 $file。对于具有卷的系统,第一个参数将被忽略(它存在是为了与其他 IO::Spec 类型保持一致的接口)。

IO::Spec::Unix.join($'foo''bar').say# OUTPUT: «foo/bar␤» 
IO::Spec::Unix.join($'/''/').say;     # OUTPUT: «/␤» 
IO::Spec::Unix.join($'.''foo').say;   # OUTPUT: «foo␤» 
say $*SPEC.join(True,".","/foo");         # OUTPUT: «/foo␤»

在 List 中§

有关 例程 join 的主要文档,请参阅 上下文

sub    join($separator*@list)
method join(List:D: $separator = "")

通过对每个元素调用 .Str,将列表的元素视为字符串,用 $separator 交错排列,并将所有内容连接成一个字符串。

示例

say join '', <a b c>;             # OUTPUT: «a, b, c␤»

方法形式还允许你省略分隔符

say <a b c>.join;               # OUTPUT: «abc␤»

请注意,方法形式不会展平子列表

say (1, <a b c>).join('|');     # OUTPUT: «1|a b c␤»

子例程形式表现得很有吸引力,将第一个之后的全部参数展平为单个列表

say join '|'1, <a b c>;       # OUTPUT: «1|a|b|c␤»

在这种情况下,列表 <a b c> 会被吸收并展平,这与以方法形式调用 join 时发生的情况不同。

如果列表中的一个元素恰好是 Junction,那么 join 也会返回一个 Junction,其中连接尽可能多地完成

say ("a"|"b","c","d").join;     # OUTPUT: «any(acd,bcd)␤»

在 IO::Spec::Win32 中§

有关 方法 join 的主要文档,请参阅 上下文

method join (Str:D $volumeStr:D $dirStr:D $file --> Str:D)

类似于 catpath,它获取两个路径片段并对其进行连接,必要时添加或删除路径分隔符,但如果 $dir$file 都是字符串 '/' 或如果 $dir 是字符串 '.',它将仅返回 $file。对于具有卷的系统,第一个参数将被忽略(它存在是为了与其他 IO::Spec 类型保持一致的接口)。

IO::Spec::Win32.join('C:''/some/dir''foo.txt').say;
# OUTPUT: «C:/some/dir\and/more␤» 
 
IO::Spec::Win32.join('C:''.''foo.txt').say;
# OUTPUT: «C:foo.txt␤» 
 
IO::Spec::Win32.join('C:'\'/').say;
# OUTPUT: «C:\␤» 
 
IO::Spec::Win32.join('//server/share'\'/').say;
# OUTPUT: «//server/share␤» 
 
IO::Spec::Win32.join('E:''''foo.txt').say;
# OUTPUT: «E:foo.txt␤»

在 Any 中§

有关 方法 join 的主要文档,请参阅 上下文

method join($separator = ''is nodal

通过调用 self.list 将对象转换为列表,并在列表上调用 .join。可以采用分隔符,默认情况下分隔符为空字符串。

(1..3).join.say;       # OUTPUT: «123␤» 
<a b c>.join("").put# OUTPUT: «a❧b❧c␤»

在 IO::Spec::Cygwin 中§

有关 方法 join 的主要文档,请参阅 上下文

method join(|c)

IO::Spec::Win32.join 相同,除了在最终结果中将反斜杠替换为斜杠。

在 Thread 中§

有关 方法 join,请参阅 上下文中的主要文档

method join(Thread:D:)

等待线程完成。