在角色 Rational 中§
有关方法 new 的主要文档,请参阅上下文
method new(NuT , DeT --> Rational)
从分子和分母创建一个新的有理数对象,并将其标准化为最简形式。$denominator
可以为零,在这种情况下,分子根据原始值是负数、零还是正数分别标准化为 -1
、0
或 1
。
在 RatStr 中§
有关方法 new 的主要文档,请参阅上下文
method new(Rat , Str )
构造函数需要 Rat
和 Str
值,当直接构造一个值时,这些值可以是任何需要的值
my = RatStr.new(42.1, "forty two and a bit");say +; # OUTPUT: «42.1»say ~; # OUTPUT: «"forty two and a bit"»
在 Version 中§
有关方法 new 的主要文档,请参阅上下文
method new(Str )
从字符串 $s
创建一个 Version
。字符串会被梳理,以获取版本对象的数字、字母和通配符组件。除字母数字和星号以外的任何字符都被假定等效于点。任何相邻的数字和字母字符之间也被假定为一个点。
在 Distribution::Path 中§
有关方法 new 的主要文档,请参阅上下文
method new(IO::Path , IO::Path : = IO::Path)
从给定 $prefix
处的 META6.json
文件创建一个新的 Distribution::Path
实例,元数据中的所有路径都将以此为前缀。如果需要使用 META6.json
以外的文件名,则可以选择传递 :$meta-file
。
在 X::NYI 中§
有关方法 new 的主要文档,请参阅上下文
method new( :, :, :)
这是 X:NYI
的默认构造函数,它可以接受三个参数,其含义显而易见。
my = Nothing.new;.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(*)
创建一个新的 PackageHOW
。
在 DateTime 中§
有关方法 new 的主要文档,请参阅上下文
multi method new(Int :!, Int : = 1, Int : = 1,Int : = 0, Int : = 0, : = 0,Int : = 0, :)multi method new(Date :!,Int : = 0, Int : = 0, : = 0,Int : = 0, :)multi method new(Int() , Int() , Int() ,Int() , Int , ,Int() : = 0, :)multi method new(Instant , :=0, :)multi method new(Numeric , :=0, :)multi method new(Str , :=0, :)
创建一个新的 DateTime
对象。创建新的 DateTime 对象的一种选择是分别从组件(年、月、日、小时...)创建。另一种方法是传递一个 Date
对象作为日期组件,并按组件指定时间。还有一种方法是从 Instant
获取时间,并且只提供时区和格式化程序。或者,您可以提供一个 Numeric
作为 UNIX 时间戳,而不是 Instant。
您还可以提供一个以 ISO 8601 时间戳记法或完整的 RFC 3339 日期和时间格式化的 Str
。字符串应格式化为 yyyy-mm-ddThh:mm:ssZ
或 yyyy-mm-ddThh:mm:ss+0100
。我们比 ISO 8601 标准的限制更少,因为我们允许 Unicode 数字以及简写和扩展时间格式的混合。
无效的输入字符串会抛出一个类型为 X::Temporal::InvalidFormat
的异常。如果您提供了一个包含时区的字符串,并提供了名为 timezone
的命名参数,则会抛出一个类型为 X::DateTime::TimezoneClash
的异常。
my = DateTime.new(year => 2015,month => 1,day => 1,hour => 1,minute => 1,second => 1,timezone => 1);= DateTime.new(date => Date.new('2015-12-24'),hour => 1,minute => 1,second => 1,timezone => 1);= DateTime.new(2015, 1, 1, # First January of 20151, 1, 1); # Hour, minute, second with default time zone= DateTime.new(now); # Instant.# from a Unix timestampsay = DateTime.new(1470853583.3); # OUTPUT: «2016-08-10T18:26:23.300000Z»= 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 , Real --> Complex)
从实部和虚部创建一个新的 Complex
对象。
my = Complex.new(1, 1);say ; # OUTPUT: «1+1i»
如果在没有参数的情况下创建,则实部和虚部都视为零。
say Complex.new; # OUTPUT: «0+0i»
在 Map 中§
有关 方法 new 的主要文档,请参阅上下文中的内容
method new(*)
从交替的键和值列表创建一个新的 Map,其语义与哈希和映射文档中描述的相同,但也接受 Pair
而不是单独的键和值。使用分组运算符或将键用引号引起来,以确保文字对不会被解释为命名参数。
my = Map.new('a', 1, 'b', 2);# WRONG: :b(2) interpreted as named argumentsay Map.new('a', 1, :b(2)).keys; # OUTPUT: «(a)»# RIGHT: :b(2) interpreted as Pair because of extra parenthesessay Map.new( ('a', 1, :b(2)) ).keys.sort; # OUTPUT: «(a b)»# RIGHT: 'b' => 2 always creates a Pairsay Map.new('a', 1, 'b' => 2).keys.sort; # OUTPUT: «(a b)»
提供了一种用于创建 Map 的简写语法
my is Map = 'a', 1, 'b', 2;
在 Proxy 中§
有关 方法 new 的主要文档,请参阅上下文中的内容
method new(:!, :! --> Proxy)
创建一个新的 Proxy
对象。当访问值时,将使用一个参数(代理对象)调用 &FETCH
,并且必须返回提取生成的值。当在容器中存储新值时,将使用两个参数(代理对象和新值)调用 &STORE
。
在 Failure 中§
有关 方法 new 的主要文档,请参阅上下文中的内容
multi method new(Failure:)multi method new(Failure:)multi method new(Failure: Exception \exception)multi method new(Failure: )multi method new(Failure: |cap (*))
返回一个新的 Failure
实例,其有效负载作为参数给出。如果在 Failure
对象上不带参数调用,它将抛出异常;在类型值上,它将创建一个没有有效负载的空 Failure
。后者可以是 Exception
或 Exception
的有效负载。典型的有效负载是一个带有错误消息的 Str
。也接受有效负载列表。
my = Failure.new(now.DateTime, 'WELP‼');say ;CATCH# OUTPUT: «X::AdHoc: 2017-09-10T11:56:05.477237ZWELP‼»
在角色 CX::Warn 中§
有关 方法 new 的主要文档,请参阅上下文中的内容
当在任何块中抛出警告时,将创建 CX::Warn
对象。
在 Proc 中§
有关 例程 new 的主要文档,请参阅上下文中的内容
method new(Proc:: = '-',: = '-',: = '-',Bool : = False,Bool : = True,Bool : = False,Str : = 'UTF-8',Str : = "\n",--> Proc)sub shell(,: = '-',: = '-',: = '-',Bool : = False,Bool : = True,Bool : = False,Str : = 'UTF-8',Str : = "\n",: = ,Hash() : =--> Proc)
new
创建一个新的 Proc
对象,而 run
或 shell
创建一个对象,并分别使用 @args
或 $cmd
中提供的命令和参数生成它。
$in
、$out
和 $err
是待启动程序的三个标准流,默认为 "-"
,这意味着它们继承父进程的流。将其中一个(或多个)设置为 True
会使流作为同名的 IO::Pipe
对象可用,例如 $proc.out
。您可以将它们设置为 False
以丢弃它们。或者,您可以传入现有的 IO::Handle
对象(例如 IO::Pipe
),在这种情况下,此句柄将用于该流。
请记住,进程流驻留在进程变量中,而不是驻留在使程序可以使用它们的动态变量中。因此,修改主机进程中动态文件句柄变量(例如 $*OUT
)不会对生成的进程产生影响,这与 $*CWD
和 $*ENV
不同,后者的更改实际上会反映在生成的进程中。
my = "/tmp/program.raku";my =spurt , ;.put: "1. standard output before doing anything weird";.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
,则在使用 lines
或 get
读取时,将从输出和错误流中删除换行符。 $nl
控制您对换行符的定义。
如果将 $merge
设置为 True,则标准输出和错误流最终将在 $proc.out
中合并。
在 Int 中§
有关 方法 new 的主要文档,请参阅上下文
multi method new(Any )multi method new(Any \value --> Int)multi method new(int \value --> Int)
第一种形式将抛出异常;第二种和第三种形式将根据变量中包含的实际整数值创建一个新的 Int。
在 Backtrace 中§
有关 方法 new 的主要文档,请参阅上下文
multi method new()multi method new(Int )multi method new(Mu \ex)multi method new(Mu \ex, Int )multi method new(List )multi method new(List , Int )
创建一个新的回溯,使用其调用位置作为回溯的起点,或者使用作为参数传递的 $offset
。如果传递了对象或列表(其中将包含列表形式的回溯),则将使用它们代替当前代码。
my = Backtrace.new;
在 IO::Path::Cygwin 中§
有关 方法 new 的主要文档,请参阅上下文
与 IO::Path.new
相同,但 :$SPEC
不能设置,并且默认为 IO::Spec::Cygwin
,而不管运行代码的操作系统是什么。
在 Junction 中§
有关 方法 new 的主要文档,请参阅上下文
multi method new(Junction: \values, Str :!)multi method new(Junction: Str \type, \values)
这些构造函数从定义它的类型和一组值构建一个新的连接。
my = Junction.new(<Þor Oðinn Loki>, type => "all");my = Junction.new( "one", 1..6 )
两个 multis 之间的主要区别在于 Junction
的类型是如何作为参数传递的;要么作为第一个参数按位置传递,要么使用 type
作为命名参数传递。
在 Distribution::Hash 中§
有关 方法 new 的主要文档,请参阅上下文
method new(, :)
从 $hash
中包含的元数据创建一个新的 Distribution::Hash
实例。元数据中的所有路径都将以 :$prefix
为前缀。
在 RakuAST::Doc::Block 中§
有关 方法 new 的主要文档,请参阅上下文
method new(Str :!, # type of block, e.g. "head"Int : = 0, # level of block, e.g. 1 for "=head1":, # any configuration to be appliedStr : = "", # left margin (0 or more spaces):, # paragraphs of this blockBool :, # this is a =for blockBool :, # this is an abbreviated blockBool : # this is a directive (also abbreviated))
可以调用 new
方法来创建一个新的 RakuAST::Doc::Block
对象。它只接受命名参数,其中 :type
参数是必需的。
=begin foobar=end foomy = RakuAST::Doc::Block.new(:margin(" "),:type<foo>,:paragraphs("bar\n",));
请注意,段落不应包含左页边距空白。
在 Supplier 中§
有关 方法 new 的主要文档,请参阅上下文
method new()
Supplier
构造函数。
在 Telemetry::Sampler 中§
有关 方法 new 的主要文档,请参阅上下文
method new(Telemetry::Sampler: --> Telemetry::Sampler)
new
方法接受一个工具列表。如果没有指定工具,它将查看 RAKUDO_TELEMETRY_INSTRUMENTS
环境变量以查找工具规范。如果两者都不可用,则将假定为 Telemetry::Instrument::Usage
和 Telemetry::Instrument::ThreadPool
。
可以通过工具类的类型对象(例如 Telemetry::Instrument::Usage
)或字符串指定工具,在这种情况下,它将自动以“Telemetry::Instrument::”为前缀,因此“Usage”将与 Telemetry::Instrument::Usage
相同。
在 IO::Socket::INET 中§
有关 method new 的主要文档,请参阅上下文
multi method new(:,:,: = PF_INET,: = 'utf-8',: = "\r\n",--> IO::Socket::INET)multi method new(:,:,: = PF_INET,:,: = 'utf-8',: = "\r\n",--> IO::Socket::INET)
创建一个新的套接字。
如果 :$listen
为 True,则创建一个新的套接字,该套接字在端口 :$localport
上监听 :$localhost
(可以是 IP 地址或域名);换句话说,:$listen
标志决定了套接字的服务器模式。否则(即 :$listen
为 False
),新套接字将立即打开与端口 :$port
上的 :$host
的连接。
:$family
默认为 IPv4 的 PF_INET
常量,并且可以设置为 IPv6 的 PF_INET6
常量。
对于文本操作(例如 method lines 和 method get),:$encoding
指定编码,:$nl-in
确定分隔行的字符。
在 ComplexStr 中§
有关 method new 的主要文档,请参阅上下文
method new(Complex , Str )
构造函数需要 Complex
和 Str
值,直接构造时,这些值可以是任何所需的值
my = ComplexStr.new(42+0i, "forty two (but complicated)");say +; # OUTPUT: «42+0i»say ~; # OUTPUT: «"forty two (but complicated)"»
在 RakuAST::Doc::Declarator 中§
有关 method new 的主要文档,请参阅上下文
method new(Str :, # the associated RakuAST object:, # leading lines of documentation: # trailing lines of documentation)
可以调用 new
方法来创建一个新的 RakuAST::Doc::Declarator
对象。它只接受命名参数。
# there is no syntax for creating just a ::Declarator objectmy = 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 new( int )
使用允许的访问次数初始化信号量。例如,当设置为 2 时,程序线程可以通过 acquire 方法两次,直到第三次调用 acquire 时阻塞。
在 role Blob 中§
有关 method new 的主要文档,请参阅上下文
multi method new(Blob:)multi method new(Blob: Blob )multi method new(Blob: int )multi method new(Blob: )multi method new(Blob: *)
创建一个空的 Blob
,或者从另一个 Blob
创建一个新的 Blob
,或者从整数或值列表(必须强制转换为整数)创建一个新的 Blob
my = Blob.new([1, 2, 3]);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(:!, Bool : = False, Str : = '<anon>' --> Thread)
创建并返回一个新的 Thread
,但不启动它。&code
是将在单独线程中运行的代码。
$name
是标识线程的用户指定的字符串。
如果 $app_lifetime
设置为 True
,则在线程终止时终止该线程。如果设置为 False
,则进程仅在线程完成时终止。
在 Mu 中§
有关 method new 的主要文档,请参阅上下文
multi method new(*)
用于构建(创建+初始化)类的新对象的默认方法。此方法仅接受命名参数,然后使用这些参数初始化具有相同名称的访问器的属性。
类可以提供自己的 new
方法来覆盖此默认方法。
new
触发一个对象构造机制,该机制在继承层次结构的每个类中调用名为 BUILD
的子方法(如果存在)。有关更多信息,请参阅有关对象构造的文档。
在 IO::CatHandle 中§
有关方法 new 的主要文档,请参阅上下文中的内容
method new(*, :, : = True,: = ["\n", "\r\n"], Str :, Bool :)
创建一个新的 IO::CatHandle
对象。
@handles
位置参数指示 IO::CatHandle
读取句柄的来源,并且可以处理 Cool
、IO::Path
和 IO::Handle
(包括 IO::Pipe
)对象的混合集合。在处理来自 IO::CatHandle
的输入时(因此操作不会在 .new
调用期间发生,而只会在需要 @handles
的数据时发生),它将遍历 @handles
列表,按如下方式处理每个参数
未打开的
IO::Handle
对象将以与IO::Path
对象相同的方式打开;并且已打开的
IO::Handle
对象的所有属性都将设置为调用者IO::CatHandle
的属性。
简而言之,所有 @handles
最终都将成为以与调用者 IO::CatHandle
相同的模式和属性打开的 IO::Handle
对象。
有关 :&on-switch
命名参数的详细信息,请参阅.on-switch
方法,默认情况下不设置该参数。
:$encoding
命名参数指定句柄的编码,并接受与 IO::Handle.encoding
相同的值。如果希望句柄处于二进制模式,请将 :$bin
命名参数设置为 True
。尝试同时指定已定义的 :$encoding
和 True
:$bin
是一个致命错误,会导致抛出 X::IO::BinaryAndEncoding
异常。如果既未设置 :$encoding
也未将 :$bin
设置为 true 值,则句柄将默认为 utf8
编码。
:$chomp
和 :$nl-in
参数与 IO::Handle
中的含义相同,并采用相同的默认值。
在 NumStr 中§
有关方法 new 的主要文档,请参阅上下文中的内容
method new(Num , Str )
构造函数需要 Num
和 C<Str>|/type/Str
值,直接构造时,这些值可以是任何所需的值
my = NumStr.new(42.1e0, "forty two and a bit");say +; # OUTPUT: «42.1»say ~; # OUTPUT: «"forty two and a bit"»
在 IntStr 中§
有关方法 new 的主要文档,请参阅上下文中的内容
method new(Int , Str )
构造函数需要 Int
和 Str
值,直接构造时,这些值可以是任何所需的值
my = IntStr.new(42, "forty two");say +; # OUTPUT: «42»say ~; # OUTPUT: «"forty two"»
在 Seq 中§
有关方法 new 的主要文档,请参阅上下文中的内容
proto method new(Seq: |)multi method new(Seq: Iterator )multi method new(Seq:)
从作为单个参数传递的提供的迭代器创建一个新的 Seq
对象。如果在没有参数的情况下调用,则创建一个空的 Seq
。
在 Date 中§
有关方法 new 的主要文档,请参阅上下文中的内容
multi method new(, , , : --> Date)multi method new(:!, : = 1, : = 1 --> Date)multi method new(Str --> Date)multi method new(Instant --> Date)multi method new(DateTime --> Date)
创建一个新的 Date
对象,可以从可以强制转换为整数的 (年、月、日) 三元组、形式为 YYYY-MM-DD
的字符串 (ISO 8601) 或 Instant 或 DateTime 对象创建。可选地接受格式化程序作为命名参数。
my = Date.new(2042, 1, 1);= Date.new(year => 2042, month => 1, day => 1);= Date.new("2042-01-01");= Date.new(Instant.from-posix: 1482155532);= Date.new(DateTime.now);
从 Rakudo 2022.03 开始,“日”参数也可以是可调用的,其中 *
表示一个月中的最后一天,并且可以从最后一天开始计数
say Date.new(2042, 2, *); # OUTPUT: «2042-02-28»say Date.new(2044, 2, *); # OUTPUT: «2044-02-29»
在 Proc::Async 中§
有关方法 new 的主要文档,请参阅上下文中的内容
multi method new(*@ (, *), :, :, :, :,: = False,: = False --> Proc::Async)multi method new( :, :, :, :, :, :,: = False,: = False --> Proc::Async)
使用外部程序名称或路径 $path
和命令行参数 @args
创建一个新的 Proc::Async
对象。
如果将 :w
传递给 new
,则会打开一个指向外部程序标准输入流 (stdin
) 的管道,您可以使用 write
和 say
向其写入数据。
: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(*)
必须调用 new
方法来创建一个新的 RakuAST::Doc::Paragraph
对象。它接受任意数量的位置参数作为逻辑段落的原子,其中原子是字符串或 RakuAST::Doc::Markup
对象。
通常,仅当逻辑段落至少有一个标记对象时,才会创建 RakuAST::Doc::Paragraph
对象。
my = RakuAST::Doc::Paragraph.new("Text before ",RakuAST::Doc::Markup.new(:letter<B>, :atoms("and"))," after markup\n");
在 IO::Special 中§
有关方法 new 的主要文档,请参阅上下文中的内容
method new(:!)
接受一个必需的属性 what。您不太可能需要自己构造这些对象之一。
在 Formatter 中§
有关方法 new 的主要文档,请参阅上下文中的内容
method new( --> Callable)
从与 sprintf
兼容的格式字符串返回缓存的 Callable
对象。如果以前从未见过给定的格式字符串,则将创建一个新的 Callable
对象。
use v6.e.PREVIEW;my = Formatter.new("%05d");say zero5(42); # OUTPUT: «00042»
在 Uni 中§
有关方法 new 的主要文档,请参阅上下文中的内容
method new(* --> Uni)
从给定的代码点编号创建一个新的 Uni
实例。
在 IO::Path 中§
有关方法 new 的主要文档,请参阅上下文中的内容
multi method new(Str , IO::Spec : = , Str() : = )multi method new(:!, : = '.', : = ''IO::Spec : = , Str() : =)
从路径字符串(正在解析卷、目录名和基本名)或从作为命名参数传递的卷、目录名和基本名创建一个新的 IO::Path
对象。
路径的操作将使用 :$SPEC
语义(默认为当前的 $*SPEC
)执行,并将使用 :$CWD
作为路径相对于的目录(默认为 $*CWD
)。
如果 $path
包含空字节,它将抛出一个异常,并显示“无法使用空字符 (U+0000) 作为路径的一部分”消息。
在 Pair 中§
有关方法 new 的主要文档,请参阅上下文中的内容
multi method new(Pair: Mu , Mu )multi method new(Pair: Mu :, Mu :)
构造一个新的 Pair
对象。
在 Num 中§
有关方法 new 的主要文档,请参阅上下文中的内容
multi method new()multi method new()
不带参数的 Num.new
将创建一个值为 0e0
的 Num
。如果带参数,它将被强制转换为 Num
,然后返回。
say Num.new(⅓); # OUTPUT: «0.3333333333333333»
格式化§
请参阅上下文中的主要文档,了解方法 new
method new( --> Format)
从兼容 sprintf
的格式字符串创建一个新的 Format
对象。
use v6.e.PREVIEW;my = Format.new("%05d");say ; # OUTPUT: «%05d»say (42); # OUTPUT: «00042»
在 RakuAST::Doc::Markup 中§
请参阅上下文中的主要文档,了解方法 new
method new(Str :!, # markup identifier, e.g. "B"Str : = "<", # opener markerStr : = ">", # closer marker:, # any atoms of this markup:, # any meta of this markup)
可以调用 new
方法来创建一个新的 RakuAST::Doc::Markup
对象。它只接受命名参数,其中 :letter
参数是必需的。
B<and>
my = RakuAST::Doc::Markup.new(:letter<B>,:atoms("and"));
请注意,除了 :letter
之外,所有参数都是可选的。因此也可以创建“空”标记。
在 Nil 中§
请参阅上下文中的主要文档,了解方法 new
method new(*@)
返回 Nil