在角色 Rational 中§

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

method new(NuT:D $numeratorDeT:D $denominator --> Rational:D)

从分子和分母创建一个新的有理数对象,并将其标准化为最简形式。$denominator 可以为零,在这种情况下,分子根据原始值是负数、零还是正数分别标准化为 -101

在 RatStr 中§

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

method new(Rat $iStr $s)

构造函数需要 RatStr 值,当直接构造一个值时,这些值可以是任何需要的值

my $f = RatStr.new(42.1"forty two and a bit");
say +$f# OUTPUT: «42.1␤» 
say ~$f# OUTPUT: «"forty two and a bit"␤»

在 Version 中§

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

method new(Str:D $s)

从字符串 $s 创建一个 Version。字符串会被梳理,以获取版本对象的数字、字母和通配符组件。除字母数字和星号以外的任何字符都被假定等效于点。任何相邻的数字和字母字符之间也被假定为一个点。

在 Distribution::Path 中§

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

method new(IO::Path $prefixIO::Path :$meta-file = IO::Path)

从给定 $prefix 处的 META6.json 文件创建一个新的 Distribution::Path 实例,元数据中的所有路径都将以此为前缀。如果需要使用 META6.json 以外的文件名,则可以选择传递 :$meta-file

在 X::NYI 中§

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

method new:$feature:$did-you-mean:$workaround)

这是 X:NYI 的默认构造函数,它可以接受三个参数,其含义显而易见。

class Nothing {
    method ventured$sub**@args{
        X::NYI.newfeature => &?ROUTINE.name,
                    did-you-mean => "gained",
                    workaround => "Implement it yourself" ).throw;
    }
}
 
my $nothing = Nothing.new;
$nothing.ventured("Nothing""Gained");

在这种情况下,我们抛出一个异常,表明尚未实现 ventured 例程;我们使用泛型 &?ROUTINE.name 来避免将异常绑定到方法名称,以防以后更改。此代码有效地抛出此异常

# OUTPUT: 
# ventured not yet implemented. Sorry. 
# Did you mean: gained? 
# Workaround: Implement it yourself 
#   in method ventured at NYI.raku line 6 
#   in block <unit> at NYI.raku line 14 

使用异常属性,它构成了我们在那里看到的消息。

在 Metamodel::PackageHOW 中§

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

method new(*%named)

创建一个新的 PackageHOW

在 DateTime 中§

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

multi method new(Int :$year!Int :$month = 1Int :$day = 1,
                 Int :$hour = 0Int :$minute = 0:$second = 0,
                 Int :$timezone = 0:&formatter)
multi method new(Date :$date!,
                 Int :$hour = 0Int :$minute = 0:$second = 0,
                 Int :$timezone = 0:&formatter)
multi method new(Int() $yearInt() $monthInt() $day,
                 Int() $hourInt $minute$second,
                 Int() :$timezone = 0:&formatter)
multi method new(Instant:D $i,  :$timezone=0:&formatter)
multi method new(Numeric:D $posix,  :$timezone=0:&formatter)
multi method new(Str:D $format:$timezone=0:&formatter)

创建一个新的 DateTime 对象。创建新的 DateTime 对象的一种选择是分别从组件(年、月、日、小时...)创建。另一种方法是传递一个 Date 对象作为日期组件,并按组件指定时间。还有一种方法是从 Instant 获取时间,并且只提供时区和格式化程序。或者,您可以提供一个 Numeric 作为 UNIX 时间戳,而不是 Instant。

您还可以提供一个以 ISO 8601 时间戳记法或完整的 RFC 3339 日期和时间格式化的 Str。字符串应格式化为 yyyy-mm-ddThh:mm:ssZyyyy-mm-ddThh:mm:ss+0100。我们比 ISO 8601 标准的限制更少,因为我们允许 Unicode 数字以及简写和扩展时间格式的混合。

无效的输入字符串会抛出一个类型为 X::Temporal::InvalidFormat 的异常。如果您提供了一个包含时区的字符串,并提供了名为 timezone 的命名参数,则会抛出一个类型为 X::DateTime::TimezoneClash 的异常。

my $datetime = DateTime.new(year => 2015,
                            month => 1,
                            day => 1,
                            hour => 1,
                            minute => 1,
                            second => 1,
                            timezone => 1);
$datetime = DateTime.new(date => Date.new('2015-12-24'),
                         hour => 1,
                         minute => 1,
                         second => 1,
                         timezone => 1);
$datetime = DateTime.new(201511# First January of 2015 
                         111);   # Hour, minute, second with default time zone 
$datetime = DateTime.new(now);                       # Instant. 
# from a Unix timestamp 
say $datetime = DateTime.new(1470853583.3);          # OUTPUT: «2016-08-10T18:26:23.300000Z␤» 
$datetime = DateTime.new("2015-01-01T03:17:30+0500"# Formatted string

从 Rakudo 2022.03 版本开始,day 参数可以是一个 Callable,其中 * 返回该月的最后一天,而 *-n 返回倒数第 n 天。

从 Rakudo 2022.07 版本开始,也可以仅指定一个 "YYYY-MM-DD" 字符串来表示给定日期的午夜。

say DateTime.new("2023-03-04");  # OUTPUT: «2023-03-04T00:00:00Z␤»

在 IO::Path::Unix 中§

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

IO::Path.new 相同,但 :$SPEC 不能设置,并且默认为 IO::Spec::Unix,无论代码在哪个操作系统上运行。

在 Complex 中§

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

multi method new(Real $reReal $im --> Complex:D)

从实部和虚部创建一个新的 Complex 对象。

my $complex = Complex.new(11);
say $complex;    # OUTPUT: «1+1i␤»

如果在没有参数的情况下创建,则实部和虚部都视为零。

say Complex.new# OUTPUT: «0+0i␤»

在 Map 中§

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

method new(*@args)

从交替的键和值列表创建一个新的 Map,其语义哈希和映射文档中描述的相同,但也接受 Pair 而不是单独的键和值。使用分组运算符或将键用引号引起来,以确保文字对不会被解释为命名参数。

my %h = Map.new('a'1'b'2);
 
# WRONG: :b(2) interpreted as named argument 
say Map.new('a'1:b(2)).keys# OUTPUT: «(a)␤» 
 
# RIGHT: :b(2) interpreted as Pair because of extra parentheses 
say Map.new( ('a'1:b(2)) ).keys.sort# OUTPUT: «(a b)␤» 
 
# RIGHT: 'b' => 2 always creates a Pair 
say Map.new('a'1'b' => 2).keys.sort# OUTPUT: «(a b)␤»

提供了一种用于创建 Map 的简写语法

my %h is Map = 'a'1'b'2;

在 Proxy 中§

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

method new(:&FETCH!:&STORE! --> Proxy:D)

创建一个新的 Proxy 对象。当访问值时,将使用一个参数(代理对象)调用 &FETCH,并且必须返回提取生成的值。当在容器中存储新值时,将使用两个参数(代理对象和新值)调用 &STORE

在 Failure 中§

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

multi method new(Failure:D:)
multi method new(Failure:U:)
multi method new(Failure:U: Exception:D \exception)
multi method new(Failure:U: $payload)
multi method new(Failure:U: |cap (*@msg))

返回一个新的 Failure 实例,其有效负载作为参数给出。如果在 Failure 对象上不带参数调用,它将抛出异常;在类型值上,它将创建一个没有有效负载的空 Failure。后者可以是 ExceptionException 的有效负载。典型的有效负载是一个带有错误消息的 Str。也接受有效负载列表。

my $e = Failure.new(now.DateTime'WELP‼');
say $e;
CATCH{ default { say .^name''.Str } }
# OUTPUT: «X::AdHoc: 2017-09-10T11:56:05.477237ZWELP‼␤»

在角色 CX::Warn 中§

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

当在任何块中抛出警告时,将创建 CX::Warn 对象。

在 Proc 中§

有关 例程 new 的主要文档,请参阅上下文中的内容

method new(Proc:U:
        :$in = '-',
        :$out = '-',
        :$err = '-',
        Bool :$bin = False,
        Bool :$chomp = True,
        Bool :$merge = False,
        Str:D :$enc = 'UTF-8',
        Str:D :$nl = "\n",
    --> Proc:D)
 
sub shell(
        $cmd,
        :$in = '-',
        :$out = '-',
        :$err = '-',
        Bool :$bin = False,
        Bool :$chomp = True,
        Bool :$merge = False,
        Str:D :$enc = 'UTF-8',
        Str:D :$nl = "\n",
        :$cwd = $*CWD,
        Hash() :$env = %*ENV
    --> Proc:D)

new 创建一个新的 Proc 对象,而 runshell 创建一个对象,并分别使用 @args$cmd 中提供的命令和参数生成它。

$in$out$err 是待启动程序的三个标准流,默认为 "-",这意味着它们继承父进程的流。将其中一个(或多个)设置为 True 会使流作为同名的 IO::Pipe 对象可用,例如 $proc.out。您可以将它们设置为 False 以丢弃它们。或者,您可以传入现有的 IO::Handle 对象(例如 IO::Pipe),在这种情况下,此句柄将用于该流。

请记住,进程流驻留在进程变量中,而不是驻留在使程序可以使用它们的动态变量中。因此,修改主机进程中动态文件句柄变量(例如 $*OUT不会对生成的进程产生影响,这与 $*CWD$*ENV 不同,后者的更改实际上会反映在生成的进程中。

my $p-name = "/tmp/program.raku";
my $program = Q:to/END/; 
    #!/usr/bin/env raku
 
    $*OUT.say( qq/\t$*PROGRAM: This goes to standard output/ );
END
 
spurt $p-name$program;
 
$*OUT.put: "1. standard output before doing anything weird";
 
{
    temp $*OUT = open '/tmp/out.txt':w;
    $*OUT.put: "2. temp redefine standard output before this message";
    shell"raku $p-name" ).so;
}
 
$*OUT.put: "3. everything should be back to normal";
# OUTPUT 
# 1. standard output before doing anything weird 
#     /tmp/program.raku: This goes to standard output 
# 3. everything should be back to normal 
 
# /tmp/out.txt will contain: 
# 2. temp redefine standard output before this message 

此程序显示使用 shell 生成的程序没有使用主机进程中定义的临时 $*OUT 值(重定向到 /tmp/out.txt),而是使用了进程中定义的初始 STDOUT

$bin 控制着流是被作为二进制(即 Blob 对象)还是文本(即 Str 对象)处理。如果 $bin 为 False,则 $enc 保存用于编码发送到输入流的字符串以及解码来自输出和错误流的二进制数据的字符编码。

如果将 $chomp 设置为 True,则在使用 linesget 读取时,将从输出和错误流中删除换行符。 $nl 控制您对换行符的定义。

如果将 $merge 设置为 True,则标准输出和错误流最终将在 $proc.out 中合并。

在 Int 中§

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

multi method new(Any:U $type)
multi method new(Any:D \value --> Int:D)
multi method new(int   \value --> Int:D)

第一种形式将抛出异常;第二种和第三种形式将根据变量中包含的实际整数值创建一个新的 Int。

在 Backtrace 中§

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

multi method new()
multi method new(Int:D $offset)
multi method new(Mu \ex)
multi method new(Mu \exInt:D $offset)
multi method new(List:D $bt)
multi method new(List:D $btInt:D $offset)

创建一个新的回溯,使用其调用位置作为回溯的起点,或者使用作为参数传递的 $offset。如果传递了对象或列表(其中将包含列表形式的回溯),则将使用它们代替当前代码。

my $backtrace = Backtrace.new;

在 IO::Path::Cygwin 中§

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

IO::Path.new 相同,但 :$SPEC 不能设置,并且默认为 IO::Spec::Cygwin,而不管运行代码的操作系统是什么。

在 Junction 中§

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

multi method new(Junction: \valuesStr :$type!)
multi method new(Junction: Str:D \type, \values)

这些构造函数从定义它的类型和一组值构建一个新的连接。

my $j = Junction.new(<Þor Oðinn Loki>type => "all");
my $n = Junction.new"one"1..6 )

两个 multis 之间的主要区别在于 Junction 的类型是如何作为参数传递的;要么作为第一个参数按位置传递,要么使用 type 作为命名参数传递。

在 Distribution::Hash 中§

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

method new($hash:$prefix)

$hash 中包含的元数据创建一个新的 Distribution::Hash 实例。元数据中的所有路径都将以 :$prefix 为前缀。

在 RakuAST::Doc::Block 中§

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

method new(
  Str:D  :$type!,        # type of block, e.g. "head" 
  Int:D  :$level = 0,    # level of block, e.g. 1 for "=head1" 
         :%config,       # any configuration to be applied 
  Str:D  :$margin = "",  # left margin (0 or more spaces) 
         :@paragraphs,   # paragraphs of this block 
  Bool:D :$for,          # this is a =for block 
  Bool:D :$abbreviated,  # this is an abbreviated block 
  Bool:D :$directive     # this is a directive (also abbreviated) 
)

可以调用 new 方法来创建一个新的 RakuAST::Doc::Block 对象。它只接受命名参数,其中 :type 参数是必需的。

  =begin foo
  bar
  =end foo
 
my $block = RakuAST::Doc::Block.new(
  :margin("  "),
  :type<foo>,
  :paragraphs("bar\n",)
);

请注意,段落不应包含左页边距空白。

在 Supplier 中§

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

method new()

Supplier 构造函数。

在 Telemetry::Sampler 中§

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

method new(Telemetry::Sampler: @instruments --> Telemetry::Sampler:D)

new 方法接受一个工具列表。如果没有指定工具,它将查看 RAKUDO_TELEMETRY_INSTRUMENTS 环境变量以查找工具规范。如果两者都不可用,则将假定为 Telemetry::Instrument::UsageTelemetry::Instrument::ThreadPool

可以通过工具类的类型对象(例如 Telemetry::Instrument::Usage)或字符串指定工具,在这种情况下,它将自动以“Telemetry::Instrument::”为前缀,因此“Usage”将与 Telemetry::Instrument::Usage 相同。

在 IO::Socket::INET 中§

有关 method new 的主要文档,请参阅上下文

multi method new(
        :$host,
        :$port,
        :$family = PF_INET,
        :$encoding = 'utf-8',
        :$nl-in = "\r\n",
    --> IO::Socket::INET:D)
multi method new(
        :$localhost,
        :$localport,
        :$family = PF_INET,
        :$listen,
        :$encoding = 'utf-8',
        :$nl-in = "\r\n",
    --> IO::Socket::INET:D)

创建一个新的套接字。

如果 :$listen 为 True,则创建一个新的套接字,该套接字在端口 :$localport 上监听 :$localhost(可以是 IP 地址或域名);换句话说,:$listen 标志决定了套接字的服务器模式。否则(即 :$listenFalse),新套接字将立即打开与端口 :$port 上的 :$host 的连接。

:$family 默认为 IPv4 的 PF_INET 常量,并且可以设置为 IPv6 的 PF_INET6 常量。

对于文本操作(例如 method linesmethod get),:$encoding 指定编码,:$nl-in 确定分隔行的字符。

在 ComplexStr 中§

有关 method new 的主要文档,请参阅上下文

method new(Complex $iStr $s)

构造函数需要 ComplexStr 值,直接构造时,这些值可以是任何所需的值

my $f = ComplexStr.new(42+0i, "forty two (but complicated)");
say +$f# OUTPUT: «42+0i␤» 
say ~$f# OUTPUT: «"forty two (but complicated)"␤»

在 RakuAST::Doc::Declarator 中§

有关 method new 的主要文档,请参阅上下文

method new(
  Str:D :$WHEREFORE,  # the associated RakuAST object 
        :@leading,    # leading lines of documentation 
        :@trailing    # trailing lines of documentation 
)

可以调用 new 方法来创建一个新的 RakuAST::Doc::Declarator 对象。它只接受命名参数。

# there is no syntax for creating just a ::Declarator object 
 
my $declarator = RakuAST::Doc::Declarator.new(
  :WHEREFORE(RakuAST::VarDeclaration::Simple.new(...)),
  :leading("line 1 leading","line 2 leading"),
  :trailing("line 1 trailing","line 2 trailing")
);

请注意,开头和结尾的文档可能包含任何左空白。

在 IO::Path::Win32 中§

有关 method new 的主要文档,请参阅上下文

IO::Path.new 相同,但 :$SPEC 不能设置,并且默认为 IO::Spec::Win32,无论代码在哪个操作系统上运行。

在 Semaphore 中§

有关 method new 的主要文档,请参阅上下文

method newint $permits )

使用允许的访问次数初始化信号量。例如,当设置为 2 时,程序线程可以通过 acquire 方法两次,直到第三次调用 acquire 时阻塞。

在 role Blob 中§

有关 method new 的主要文档,请参阅上下文

multi method new(Blob:)
multi method new(Blob: Blob:D $blob)
multi method new(Blob: int @values)
multi method new(Blob: @values)
multi method new(Blob: *@values)

创建一个空的 Blob,或者从另一个 Blob 创建一个新的 Blob,或者从整数或值列表(必须强制转换为整数)创建一个新的 Blob

my $blob = Blob.new([123]);
say Blob.new(<1 2 3>); # OUTPUT: «Blob:0x<01 02 03>␤»

在 IO::Path::Parts 中§

有关 method new 的主要文档,请参阅上下文

method new(\volume, \dirname, \basename)

创建一个新的 IO::Path::Parts 对象,其中 \volume\dirname\basename 分别为卷、目录名和基本名部分。

在 Supplier::Preserving 中§

有关 method new 的主要文档,请参阅上下文

method new()

Supplier 构造函数。

在 Thread 中§

有关 method new 的主要文档,请参阅上下文

method new(:&code!Bool :$app_lifetime = FalseStr :$name = '<anon>' --> Thread:D)

创建并返回一个新的 Thread,但不启动它。&code 是将在单独线程中运行的代码。

$name 是标识线程的用户指定的字符串。

如果 $app_lifetime 设置为 True,则在线程终止时终止该线程。如果设置为 False,则进程仅在线程完成时终止。

在 Mu 中§

有关 method new 的主要文档,请参阅上下文

multi method new(*%attrinit)

用于构建(创建+初始化)类的新对象的默认方法。此方法仅接受命名参数,然后使用这些参数初始化具有相同名称的访问器的属性。

类可以提供自己的 new 方法来覆盖此默认方法。

new 触发一个对象构造机制,该机制在继承层次结构的每个类中调用名为 BUILD 的子方法(如果存在)。有关更多信息,请参阅有关对象构造的文档

在 IO::CatHandle 中§

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

method new(*@handles:&on-switch:$chomp = True,
           :$nl-in = ["\n""\r\n"], Str :$encodingBool :$bin)

创建一个新的 IO::CatHandle 对象。

@handles 位置参数指示 IO::CatHandle 读取句柄的来源,并且可以处理 CoolIO::PathIO::Handle(包括 IO::Pipe)对象的混合集合。在处理来自 IO::CatHandle 的输入时(因此操作不会在 .new 调用期间发生,而只会在需要 @handles 的数据时发生),它将遍历 @handles 列表,按如下方式处理每个参数

  • Cool 对象将被强制转换为 IO::Path

  • IO::Path 对象将使用 IO::CatHandle(调用者)的 open 调用属性打开以供读取;

  • 未打开的 IO::Handle 对象将以与 IO::Path 对象相同的方式打开;

  • 并且已打开的 IO::Handle 对象的所有属性都将设置为调用者 IO::CatHandle 的属性。

简而言之,所有 @handles 最终都将成为以与调用者 IO::CatHandle 相同的模式和属性打开的 IO::Handle 对象。

有关 :&on-switch 命名参数的详细信息,请参阅.on-switch 方法,默认情况下不设置该参数。

:$encoding 命名参数指定句柄的编码,并接受与 IO::Handle.encoding 相同的值。如果希望句柄处于二进制模式,请将 :$bin 命名参数设置为 True。尝试同时指定已定义的 :$encodingTrue :$bin 是一个致命错误,会导致抛出 X::IO::BinaryAndEncoding 异常。如果既未设置 :$encoding 也未将 :$bin 设置为 true 值,则句柄将默认为 utf8 编码。

:$chomp:$nl-in 参数与 IO::Handle 中的含义相同,并采用相同的默认值。

在 NumStr 中§

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

method new(Num $iStr $s)

构造函数需要 NumC<Str>|/type/Str 值,直接构造时,这些值可以是任何所需的值

my $f = NumStr.new(42.1e0"forty two and a bit");
say +$f# OUTPUT: «42.1␤» 
say ~$f# OUTPUT: «"forty two and a bit"␤»

在 IntStr 中§

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

method new(Int $iStr $s)

构造函数需要 IntStr 值,直接构造时,这些值可以是任何所需的值

my $f = IntStr.new(42"forty two");
say +$f# OUTPUT: «42␤» 
say ~$f# OUTPUT: «"forty two"␤»

在 Seq 中§

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

proto method new(Seq: |{*}
multi method new(Seq: Iterator:D $iter)
multi method new(Seq:)

从作为单个参数传递的提供的迭代器创建一个新的 Seq 对象。如果在没有参数的情况下调用,则创建一个空的 Seq

在 Date 中§

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

multi method new($year$month$day:&formatter --> Date:D)
multi method new(:$year!:$month = 1:$day = 1  --> Date:D)
multi method new(Str $date                        --> Date:D)
multi method new(Instant:D $dt                    --> Date:D)
multi method new(DateTime:D $dt                   --> Date:D)

创建一个新的 Date 对象,可以从可以强制转换为整数的 (年、月、日) 三元组、形式为 YYYY-MM-DD 的字符串 (ISO 8601) 或 Instant 或 DateTime 对象创建。可选地接受格式化程序作为命名参数。

my $date = Date.new(204211);
$date = Date.new(year => 2042month => 1day => 1);
$date = Date.new("2042-01-01");
$date = Date.new(Instant.from-posix: 1482155532);
$date = Date.new(DateTime.now);

从 Rakudo 2022.03 开始,“日”参数也可以是可调用的,其中 * 表示一个月中的最后一天,并且可以从最后一天开始计数

say Date.new(20422*); # OUTPUT: «2042-02-28␤» 
say Date.new(20442*); # OUTPUT: «2044-02-29␤»

在 Proc::Async 中§

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

multi method new(*@ ($path*@args), :$w:$enc:$translate-nl:$arg0,
                 :$win-verbatim-args = False,
                 :$started = False --> Proc::Async:D)
multi method new(   :$path:@args,  :$w:$enc:$translate-nl:$arg0,
                 :$win-verbatim-args = False,
                 :$started = False --> Proc::Async:D)

使用外部程序名称或路径 $path 和命令行参数 @args 创建一个新的 Proc::Async 对象。

如果将 :w 传递给 new,则会打开一个指向外部程序标准输入流 (stdin) 的管道,您可以使用 writesay 向其写入数据。

:enc 指定流的 编码(仍然可以在各个方法中覆盖),默认为 utf8

如果 :translate-nl 设置为 True(默认值),则特定于操作系统的换行符(例如 Windows 上的 \r\n)将自动转换为 \n

如果 :arg0 设置为某个值,则该值将作为 arg0 传递给进程,而不是程序名称。

:started 属性默认设置为 False,因此您需要之后使用 .start 启动命令。如果您想绑定任何处理程序,您可能不希望这样做,但如果您只需要立即启动外部程序,则可以这样做。

在 Windows 上,标志 $win-verbatim-args 禁用所有进程参数的自动引用。有关 Windows 命令引用的更多信息,请参阅 此博客。该标志在所有其他平台上都将被忽略。该标志是在 Rakudo 2020.06 版本中引入的,在旧版本中不存在。默认情况下,它设置为 False,在这种情况下,参数将根据 Microsoft 约定进行引用。

在 IO::Path::QNX 中§

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

IO::Path.new 相同,但 :$SPEC 不能设置,并且默认为 IO::Spec::QNX,而不管运行代码的操作系统是什么。

在 RakuAST::Doc::Paragraph 中§

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

method new(*@atoms)

必须调用 new 方法来创建一个新的 RakuAST::Doc::Paragraph 对象。它接受任意数量的位置参数作为逻辑段落的原子,其中原子是字符串或 RakuAST::Doc::Markup 对象。

通常,仅当逻辑段落至少有一个标记对象时,才会创建 RakuAST::Doc::Paragraph 对象。

my $paragraph = RakuAST::Doc::Paragraph.new(
  "Text before ",
  RakuAST::Doc::Markup.new(:letter<B>:atoms("and")),
  " after markup\n"
);

在 IO::Special 中§

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

method new(:$!what!)

接受一个必需的属性 what。您不太可能需要自己构造这些对象之一。

在 Formatter 中§

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

method new($format --> Callable:D)

从与 sprintf 兼容的格式字符串返回缓存的 Callable 对象。如果以前从未见过给定的格式字符串,则将创建一个新的 Callable 对象。

use v6.e.PREVIEW;
my &zero5 = Formatter.new("%05d");
say zero5(42);                  # OUTPUT: «00042␤» 

在 Uni 中§

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

method new(*@codes --> Uni:D)

从给定的代码点编号创建一个新的 Uni 实例。

在 IO::Path 中§

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

multi method new(Str:D $pathIO::Spec :$SPEC = $*SPECStr() :$CWD = $*CWD)
multi method new(
    :$basename!:$dirname = '.':$volume = ''
    IO::Spec :$SPEC = $*SPECStr() :$CWD = $*CWD
)

从路径字符串(正在解析卷、目录名和基本名)或从作为命名参数传递的卷、目录名和基本名创建一个新的 IO::Path 对象。

路径的操作将使用 :$SPEC 语义(默认为当前的 $*SPEC)执行,并将使用 :$CWD 作为路径相对于的目录(默认为 $*CWD)。

如果 $path 包含空字节,它将抛出一个异常,并显示“无法使用空字符 (U+0000) 作为路径的一部分”消息。

在 Pair 中§

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

multi method new(Pair: Mu  $keyMu  $value)
multi method new(Pair: Mu :$keyMu :$value)

构造一个新的 Pair 对象。

在 Num 中§

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

multi method new()
multi method new($n)

不带参数的 Num.new 将创建一个值为 0e0Num。如果带参数,它将被强制转换为 Num,然后返回。

say Num.new(⅓); # OUTPUT: «0.3333333333333333␤»

格式化§

请参阅上下文中的主要文档,了解方法 new

method new($format --> Format:D)

从兼容 sprintf 的格式字符串创建一个新的 Format 对象。

use v6.e.PREVIEW;
my $d = Format.new("%05d");
say $d;                         # OUTPUT: «%05d␤» 
say $d(42);                     # OUTPUT: «00042␤» 

在 RakuAST::Doc::Markup 中§

请参阅上下文中的主要文档,了解方法 new

method new(
  Str:D  :$letter!,      # markup identifier, e.g. "B" 
  Str:D  :$opener = "<"# opener marker 
  Str:D  :$closer = ">"# closer marker 
         :@atoms,        # any atoms of this markup 
         :@meta,         # any meta of this markup 
)

可以调用 new 方法来创建一个新的 RakuAST::Doc::Markup 对象。它只接受命名参数,其中 :letter 参数是必需的。

B<and>
my $markup = RakuAST::Doc::Markup.new(
  :letter<B>,
  :atoms("and")
);

请注意,除了 :letter 之外,所有参数都是可选的。因此也可以创建“空”标记。

在 Nil 中§

请参阅上下文中的主要文档,了解方法 new

method new(*@)

返回 Nil