可以在 Raku 中使用以下 Unicode 符号,而无需加载任何其他模块。其中一些具有可以使用 ASCII 独有字符键入的等效物。这些变体通常由比 Unicode 版本更多的字符组成,因此它们看起来更大。
下面参考 unicode 码点的各种属性。最终列表可以在这里找到:https://www.unicode.org/Public/UCD/latest/ucd/PropList.txt.
任何具有 Nd
(数字,十进制数字)属性的代码点都可以用作任何数字的数字。例如:
my $var = 19; # U+FF11 U+FF19
say $var + 2; # OUTPUT: «21»
任何具有 No
(Number,other)或 Nl
(Number,letter)属性的代码点都可以单独用作数值,例如 ½ 和 ⅓。 (这些不是十进制数字,因此不能组合。)例如:
my $var = ⅒ + 2 + Ⅻ; # here ⅒ is No and Rat and Ⅻ is Nl and Int
say $var; # OUTPUT: «14.1»
此列表包含 Raku 中具有特殊含义的单个代码点及其 ASCII 等价物。
Symbol |
Codepoint |
ASCII |
Remarks |
« |
U+00AB |
<< |
作为 «» 或 .« 的一部分, 或正则表达式左单词边界 |
¯ |
U+00AF |
- |
(必须使用显式的数字) 作为幂的一部分 (长音符号是减号的另一种写法) |
² |
U+00B2 |
**2 |
可以与 ⁰..⁹ 结合 |
³ |
U+00B3 |
**3 |
可以与 ⁰..⁹ 结合 |
¹ |
U+00B9 |
**1 |
可以与 ⁰..⁹ 结合 |
» |
U+00BB |
>> |
作为 «» 或 .« 的一部分, 或正则表达式右单词边界 |
× |
U+00D7 |
* |
|
÷ |
U+00F7 |
/ |
|
π |
U+03C0 |
pi |
3.14159_26535_89793_238e0 |
τ |
U+03C4 |
tau |
6.28318_53071_79586_476e0 |
‘ |
U+2018 |
' |
作为 ‘’ 或 ’‘ 的一部分 |
’ |
U+2019 |
' |
作为 ‘’ 或 ‚’ 或 ’‘ 的一部分 |
‚ |
U+201A |
' |
作为 ‚‘ 或 ‚’ 的一部分 |
“ |
U+201C |
" |
作为 “” 或 ”“ 的一部分 |
” |
U+201D |
" |
作为 “” 或 ”“ 或 ”” 的一部分 |
„ |
U+201E |
" |
作为 „“ 或 „” 的一部分 |
… |
U+2026 |
… |
|
⁰ |
U+2070 |
**0 |
可以与 ⁰..⁹ 结合 |
⁴ |
U+2074 |
**4 |
可以与 ⁰..⁹ 结合 |
⁵ |
U+2075 |
**5 |
可以与 ⁰..⁹ 结合 |
⁶ |
U+2076 |
**6 |
可以与 ⁰..⁹ 结合 |
⁷ |
U+2077 |
**7 |
可以与 ⁰..⁹ 结合 |
⁸ |
U+2078 |
**8 |
可以与 ⁰..⁹ 结合 |
⁹ |
U+2079 |
**9 |
可以与 ⁰..⁹ 结合 |
⁺ |
U+207A |
| |
(必须使用显式的数字) 作为幂的一部分 |
⁻ |
U+207B |
- |
(必须使用显式的数字) 作为幂的一部分 |
∅ |
U+2205 |
set() |
(empty set) |
∈ |
U+2208 |
(elem) |
|
∉ |
U+2209 |
!(elem) |
|
∋ |
U+220B |
(cont) |
|
∌ |
U+220C |
!(cont) |
|
− |
U+2212 |
- |
|
∖ |
U+2216 |
(-) |
|
∘ |
U+2218 |
o |
|
∞ |
U+221E |
Inf |
|
∩ |
U+2229 |
(&) |
|
∪ |
U+222A |
(|) |
|
≅ |
U+2245 |
=~= |
|
≠ |
U+2260 |
!= |
|
≤ |
U+2264 |
⇐ |
|
≥ |
U+2265 |
>= |
|
⊂ |
U+2282 |
(<) |
|
⊃ |
U+2283 |
(>) |
|
⊄ |
U+2284 |
!(<) |
|
⊅ |
U+2285 |
!(>) |
|
⊆ |
U+2286 |
(⇐) |
|
⊇ |
U+2287 |
(>=) |
|
⊈ |
U+2288 |
!(⇐) |
|
⊉ |
U+2289 |
!(>=) |
|
⊍ |
U+228D |
(.) |
|
⊎ |
U+228E |
(+) |
|
⊖ |
U+2296 |
(^) |
|
𝑒 |
U+1D452 |
e |
2.71828_18284_59045_235e0 |
「 |
U+FF62 |
Q// |
作为 「」 的一部分 (注意: Q// 变体不能裸用在正则表达式中) |
」 |
U+FF63 |
Q// |
作为 「」 的一部分 (注意: Q// 变体不能裸用在正则表达式中) |
原子运算符将 U+269B
⚛ ATOM SYMBOL 合并到其中。它们的 ASCII 等价物是普通的子程序,而不是运算符:
my atomicint $x = 42;
$x⚛++; # Unicode version
atomic-fetch-inc($x); # ASCII version
ASCII 替代方案如下:
Symbol |
ASCII |
Remarks |
⚛= |
atomic-assign |
|
⚛ |
atomic-fetch |
this is the prefix:<⚛> operator |
⚛+= |
atomic-add-fetch |
|
⚛-= |
atomic-sub-fetch |
|
⚛−= |
atomic-sub-fetch |
this operator uses U+2212 minus sign |
++⚛ |
atomic-inc-fetch |
|
⚛++ |
atomic-fetch-inc |
|
--⚛ |
atomic-dec-fetch |
|
⚛-- |
atomic-fetch-dec |
此列表包含多个代码点运算符,这些运算符需要对其 ASCII 等价物项进行特殊组合。请注意,代码点以空格分隔显示,但在使用时应作为相邻代码点输入。
Symbol |
Codepoints |
ASCII |
Since |
Remarks |
»=» |
U+00BB = U+00BB |
>>[=]>> |
v6.c |
uses ASCII '=' |
«=« |
U+00AB = U+00AB |
<<[=]<< |
v6.c |
uses ASCII '=' |
«=» |
U+00AB = U+00BB |
<<[=]>> |
v6.c |
uses ASCII '=' |
»=« |
U+00BB = U+00AB |
>>[=]<< |
v6.c |
uses ASCII '=' |