Unicode 和 ASCII 符号

可以在 Raku 中使用以下 Unicode 符号,而无需加载任何其他模块。其中一些具有可以使用 ASCII 独有字符键入的等效物。这些变体通常由比 Unicode 版本更多的字符组成,因此它们看起来更大。

下面参考 unicode 码点的各种属性。最终列表可以在这里找到:https://www.unicode.org/Public/UCD/latest/ucd/PropList.txt.

字母字符

任何具有 Ll(字母,小写),Lu(字母,大写),Lt(字母,标题),Lm(字母,修饰符)或 Lo(字母,其他)属性的代码点都可以像任何其他字母一样使用 ASCII 范围内的字符。

数字字符

任何具有 Nd(数字,十进制数字)属性的代码点都可以用作任何数字的数字。例如:

  1. my $var = 19; # U+FF11 U+FF19
  2. say $var + 2; # OUTPUT: «21
  3. »

数字值

任何具有 No(Number,other)或 Nl(Number,letter)属性的代码点都可以单独用作数值,例如 ½ 和 ⅓。 (这些不是十进制数字,因此不能组合。)例如:

  1. my $var = + 2 + Ⅻ; # here ⅒ is No and Rat and Ⅻ is Nl and Int
  2. say $var; # OUTPUT: «14.1
  3. »

空白字符

除了空格和制表符,您还可以使用具有 Zs(分隔符,空格),Zl(分隔符,行)或 Zp(分隔符,段落)属性的任何其他 unicode 空白字符。

其它可接受的单代码点

此列表包含 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 等价物是普通的子程序,而不是运算符:

  1. my atomicint $x = 42;
  2. $x⚛++; # Unicode version
  3. 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 ‘=’