在 RatStr 中§

有关方法 Numeric的详细信息,请参阅上下文中的主要文档

multi method Numeric(RatStr:D: --> Rat:D)
multi method Numeric(RatStr:U: --> Rat:D)

:D 变体返回调用者的数字部分。:U 变体发出警告,指出在数字上下文中使用未初始化的值,然后返回值 0.0

在 DateTime 中§

有关方法 Numeric的详细信息,请参阅上下文中的主要文档

multi method Numeric(DateTime:D: --> Instant:D)

从 Rakudo 编译器的 2021.09 版本开始可用。

将调用者转换为 Instant。可以使用 Instant 方法获取相同的值。这允许在算术运算中直接使用 DateTime 对象。

在 Map 中§

有关方法 Numeric的详细信息,请参阅上下文中的主要文档

method Numeric(Map:D: --> Int:D)

返回存储在 Map 中的键值对数量(与 .elems 相同)。

my $m = Map.new('a' => 2'b' => 17);
say $m.Numeric;                                   # OUTPUT: «2␤»

在 List 中§

有关方法 Numeric的详细信息,请参阅上下文中的主要文档

method Numeric(List:D: --> Int:D)

返回列表中的元素数量(与 .elems 相同)。

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

在 StrDistance 中§

有关方法 Numeric的详细信息,请参阅上下文中的主要文档

将距离作为数字返回。

在 ComplexStr 中§

有关方法 Numeric的详细信息,请参阅上下文中的主要文档

multi method Numeric(ComplexStr:D: --> Complex:D)
multi method Numeric(ComplexStr:U: --> Complex:D)

:D 变体返回调用者的数字部分。:U 变体发出警告,指出在数字上下文中使用未初始化的值,然后返回值 <0+0i>

在 role Sequence 中§

有关方法 Numeric的详细信息,请参阅上下文中的主要文档

method Numeric(::?CLASS:D:)

返回缓存的序列中的元素数量。

在 role Numeric 中§

有关方法 Numeric的详细信息,请参阅上下文中的主要文档

multi method Numeric(Numeric:D: --> Numeric:D)
multi method Numeric(Numeric:U: --> Numeric:D)

:D 变体只返回调用者。:U 变体发出警告,指出在数字上下文中使用未初始化的值,然后返回 self.new

在角色枚举中§

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

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

获取枚举的值,并在强制转换为Numeric后返回该值

enum Numbers ( cool => '42'almost-pi => '3.14'sqrt-n-one => 'i' );
say cool.Numeric;       # OUTPUT: «42␤» 
say almost-pi.Numeric;  # OUTPUT: «3.14␤» 
say sqrt-n-one.Numeric# OUTPUT: «0+1i␤»

请注意,如果无法将值强制转换为Numeric,则会引发异常。

在 Thread 中§

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

method Numeric(Thread:D: --> Int:D)

返回一个数字,唯一的线程标识符,即与id相同。

在 X::AdHoc 中§

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

method Numeric()

将有效负载转换为Numeric并返回

在枚举 Endian 中§

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

multi method Numeric(Endian:D --> Int:D)

返回enum对的值部分。

say NativeEndian.Numeric;    # OUTPUT: «0␤» 
say LittleEndian.Numeric;    # OUTPUT: «1␤» 
say BigEndian.Numeric;       # OUTPUT: «2␤»

请注意,实际数字值可能会发生变化。因此,请使用命名值。

在 NumStr 中§

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

multi method Numeric(NumStr:D: --> Num:D)
multi method Numeric(NumStr:U: --> Num:D)

:D变体返回调用者的数字部分。:U变体发出警告,提示在数字上下文中使用未初始化的值,然后返回值0e0

在 IntStr 中§

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

multi method Numeric(IntStr:D: --> Int:D)
multi method Numeric(IntStr:U: --> Int:D)

:D变体返回调用者的数字部分。:U变体发出警告,提示在数字上下文中使用未初始化的值,然后返回值0

在 Date 中§

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

multi method Numeric(Date:D: --> Int:D)

将调用者转换为Int。可以使用daycount方法获取相同的值。这允许在算术运算中直接使用Date对象。

在 Rakudo 编译器的 2023.02 版本中可用。

在 Capture 中§

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

method Numeric(Capture:D: --> Int:D)

返回Capture中的位置元素数。

say \(1,2,3apples => 2).Numeric# OUTPUT: «3␤»

在 IO::Path 中§

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

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

.basename强制转换为Numeric。如果基本名称不是数字,则使用X::Str::Numeric 失败

在枚举 Bool 中§

参阅 上下文中 的主要文档,了解 例程 Numeric

multi method Numeric(Bool:D --> Int:D)

返回enum对的值部分。

say False.Numeric;                                # OUTPUT: «0␤» 
say True.Numeric;                                 # OUTPUT: «1␤»

In Str§

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

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

使用与 val 例程等效的语义将字符串强制转换为 Numeric。如果无法强制转换为数字,则使用 X::Str::Numeric 失败

仅允许属性为 Nd 的 Unicode 字符以及前导和尾随空格,特殊情况是空字符串强制转换为 0。禁止使用合成代码点(例如 "7\x[308]")。

虽然 NlNo 字符可以在语言中用作数字文字,但根据设计,它们通过 Str.Numeric 进行转换会失败;合成数字(由数字和变音符号组成)也会发生这种情况。如果您需要将此类字符强制转换为 Numeric,请参阅 unival。允许使用 +、- 和 Unicode 减号 −。

" −33".Numeric;       # OUTPUT: «-33␤» 

In Nil§

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

method Numeric()

警告用户他们尝试将 Nil 数字化。