以下 Unicode 符号可以在 Raku 中使用,无需加载任何其他模块。其中一些符号具有可以使用 ASCII 字符键入的等效项。
以下引用了 unicode 代码点的各种属性。完整的列表可以在此处找到:https://www.unicode.org/Public/UCD/latest/ucd/PropList.txt。
字母字符§
任何具有 Ll(字母,小写)、Lu(字母,大写)、Lt(字母,标题大小写)、Lm(字母,修饰符)或 Lo(字母,其他)属性的代码点都可以像 ASCII 范围内的任何其他字母字符一样使用。
my = 1;++;say ;
数字字符§
任何具有 Nd(数字,十进制数字)属性的代码点都可以用作任何数字中的数字。例如
my = 19; # U+FF11 U+FF19say + 2; # OUTPUT: «21»
数值§
任何具有 No(数字,其他)或 Nl(数字,字母)属性的代码点都可以单独用作数值,例如 ½ 和 ⅓。(这些不是十进制数字字符,因此不能组合。)例如
my = ⅒ + 2 + Ⅻ; # here ⅒ is No and Rat and Ⅻ is Nl and Intsay ; # OUTPUT: «14.1»
空白字符§
除了空格和制表符之外,您还可以使用任何其他具有 Zs(分隔符,空格)、Zl(分隔符,行)或 Zp(分隔符,段落)属性的 Unicode 空白字符。
有关具有(或与之关联)空白特征的 Unicode 代码点的详细表格,请参阅维基百科的 空白 部分。对于数字排版模块的 Raku 作者来说,这是一个重要的部分,适用于印刷或网络使用。
其他可接受的单个代码点§
此列表包含在 Raku 中具有特殊含义的单个代码点 [及其 ASCII 等效项]。
| 符号 | 代码点 | ASCII | 备注 |
|---|---|---|---|
| « | U+00AB | << | 作为 «» 或 .« 或正则表达式左侧词边界的一部分 |
| » | U+00BB | >> | 作为 «» 或 .» 或正则表达式右侧词边界的一部分 |
| × | U+00D7 | * | |
| ÷ | U+00F7 | / | |
| ≤ | U+2264 | <= | |
| ≥ | U+2265 | >= | |
| ≠ | U+2260 | != | |
| − | U+2212 | - | |
| ∘ | U+2218 | o | |
| ≅ | U+2245 | =~= | |
| π | U+03C0 | pi | 3.14159_26535_89793_238e0 |
| τ | U+03C4 | tau | 6.28318_53071_79586_476e0 |
| 𝑒 | U+1D452 | e | 2.71828_18284_59045_235e0 |
| ∞ | U+221E | Inf | |
| … | U+2026 | ... | |
| ‘ | U+2018 | ' | 作为 ‘’ 或 ’‘ 的一部分 |
| ’ | U+2019 | ' | 作为 ‘’ 或 ‚’ 或 ’‘ 的一部分 |
| ‚ | U+201A | ' | 作为 ‚‘ 或 ‚’ 的一部分 |
| “ | U+201C | " | 作为 “” 或 ”“ 的一部分 |
| ” | U+201D | " | 作为 “” 或 ”“ 或 ”” 的一部分 |
| „ | U+201E | " | 作为 „“ 或 „” 的一部分 |
| 「 | U+FF62 | Q// | 作为 「」 的一部分(注意:Q// 变体不能在正则表达式中裸用) |
| 」 | U+FF63 | Q// | 作为 「」 的一部分(注意:Q// 变体不能在正则表达式中裸用) |
| ⁺ | U+207A | + | (必须使用显式数字)作为指数运算的一部分 |
| ⁻ | U+207B | - | (必须使用显式数字)作为指数运算的一部分 |
| ¯ | U+00AF | - | (必须使用显式数字)作为指数运算的一部分(长音符是编写减号的另一种方式) |
| ⁰ | U+2070 | **0 | 可以与 ⁰..⁹ 组合 |
| ¹ | U+00B9 | **1 | 可以与 ⁰..⁹ 组合 |
| ² | U+00B2 | **2 | 可以与 ⁰..⁹ 组合 |
| ³ | U+00B3 | **3 | 可以与 ⁰..⁹ 组合 |
| ⁴ | U+2074 | **4 | 可以与 ⁰..⁹ 组合 |
| ⁵ | U+2075 | **5 | 可以与 ⁰..⁹ 组合 |
| ⁶ | U+2076 | **6 | 可以与 ⁰..⁹ 组合 |
| ⁷ | U+2077 | **7 | 可以与 ⁰..⁹ 组合 |
| ⁸ | U+2078 | **8 | 可以与 ⁰..⁹ 组合 |
| ⁹ | U+2079 | **9 | 可以与 ⁰..⁹ 组合 |
| ∅ | U+2205 | set() | (空集) |
| ∈ | U+2208 | (elem) | |
| ∉ | U+2209 | !(elem) | |
| ∋ | U+220B | (cont) | |
| ∌ | U+220C | !(cont) | |
| ≡ | U+2261 | (==) | |
| ≢ | U+2262 | !(==) | |
| ⊆ | U+2286 | (<=) | |
| ⊈ | U+2288 | !(<=) | |
| ⊂ | U+2282 | (<) | |
| ⊄ | U+2284 | !(<) | |
| ⊇ | U+2287 | (>=) | |
| ⊉ | U+2289 | !(>=) | |
| ⊃ | U+2283 | (>) | |
| ⊅ | U+2285 | !(>) | |
| ∪ | U+222A | (|) | |
| ∩ | U+2229 | (&) | |
| ∖ | U+2216 | (-) | |
| ⊖ | U+2296 | (^) | |
| ⊍ | U+228D | (.) | |
| ⊎ | U+228E | (+) |
原子运算符§
原子运算符包含 U+269B ⚛ ATOM SYMBOL。它们的 ASCII 等效项是普通子例程,而不是运算符
my atomicint = 42;⚛++; # Unicode versionatomic-fetch-inc(); # ASCII version
ASCII 替代方案如下
| 符号 | ASCII | 备注 |
|---|---|---|
| ⚛= | atomic-assign | |
| ⚛ | atomic-fetch | 这是前缀:<⚛> 运算符 |
| ⚛+= | atomic-add-fetch | |
| ⚛-= | atomic-sub-fetch | |
| ⚛−= | atomic-sub-fetch | 此运算符使用 U+2212 减号 |
| ++⚛ | atomic-inc-fetch | |
| ⚛++ | atomic-fetch-inc | |
| --⚛ | atomic-dec-fetch | |
| ⚛-- | atomic-fetch-dec |
多个代码点§
此列表包含需要特殊组合才能获得其 ASCII 等效项的多代码点运算符。请注意,代码点以空格分隔显示,但在使用时应输入为相邻代码点。
| 符号 | 代码点 | ASCII | 自从 | 备注 |
|---|---|---|---|---|
| »=» | U+00BB = U+00BB | >>[=]>> | v6.c | 使用 ASCII '=' |
| «=« | U+00AB = U+00AB | <<[=]<< | v6.c | 使用 ASCII '=' |
| «=» | U+00AB = U+00BB | <<[=]>> | v6.c | 使用 ASCII '=' |
| »=« | U+00BB = U+00AB | >>[=]<< | v6.c | 使用 ASCII '=' |