輸入 Unicode 字符
Perl 6 允許把 unicode 字符用作變量名. 很多操作符使用 unicode 符號(hào)(特別是在 set/bag 操作符中)還有一些引號(hào)結(jié)構(gòu). 因此, 知道如何把這些符號(hào)輸入編輯器, Perl 6 shell 和 命令行中是極好的, 特別是現(xiàn)實(shí)鍵盤中不存在那個(gè)符號(hào)的時(shí)候.
在各種操作系統(tǒng)和環(huán)境下關(guān)于輸入 unicode 字符的通用信息可以在 Wikipedia unicode input page 中找到.
編輯器和 shell
Vim
在 Vim 中, unicode 字符是通過(guò)先按 Ctrl-V
(也表示為 ^V
), 然后按下 u
和 要輸入的 unicode 字符的十六進(jìn)制值來(lái)輸入的(在插入模式). 例如, 希臘字母 λ
(lambda) 是通過(guò)組合鍵來(lái)輸入的:
^Vu03BB
更多關(guān)于在 Vim 中輸入特殊字符的信息可以在 Vim Wikia 頁(yè) entering special characters 中找到.
Emacs
在 Emacs 中, unicode 字符的輸入是首先輸入和弦 Ctrl-x 8 Enter
, 然后再輸入 unicode 代碼點(diǎn)的十六進(jìn)制數(shù)字, 然后回車. 因此, 要輸入希臘字母 λ (lambda)
使用下面的組合鍵(命令之間添加了空格以使清晰):
Ctrl-x 8 Enter 3bb Enter
更多關(guān)于在 Emacs 中輸入 unicode 字符的信息可以在 Unicode Encoding Emacs wiki page 中找到.
Unix shell
在 bash shell 中, 要輸入 unicode 字符先鍵入 Ctrl-Shift-u
, 然后鍵入 unicode 代碼點(diǎn)的值后回車. 例如, 要鍵入屬于操作符(∈
)這個(gè) unicode 字符, 使用下面的組合鍵(添加的空白是為了清晰):
Ctrl-Shift-u 2208 Enter
如果在 Unix shell 中開(kāi)啟了 REPL, 這也是一種在 perl 6 的 REPL 中輸入 unicode 字符的方式之一.
Perl 6中有用的 Unicode 字符
引號(hào)
這些字符在法語(yǔ)和德語(yǔ)中是當(dāng)作引號(hào)使用的. 在 Perl 6中, 它們?nèi)匀挥米饕?hào)(在 POD 中是單引號(hào), 在普通代碼中是雙引號(hào)), 還可以標(biāo)示超運(yùn)算符. 下面是這些符號(hào)和它們的 unicode 十六進(jìn)制值:
符號(hào) unicode代碼點(diǎn) ascii equivalent
? U+00AB <<
? U+00BB >>
因此, 下面這些結(jié)構(gòu)是可用的:
C? fixed-width POD text ?
say (1, 2) ?+? (3, 4); # 4 6 ; element-wise add
@array ?+=? 42; # add 42 to each element of @array
say ?moo?; # moo
my $baa = 123; say ?$baa?; # 123
Set/bag 操作符
下面列出的 set/bag 操作符 都有與集合理論相關(guān)的符號(hào), unicode 代碼點(diǎn), 和它們的 ascii 等價(jià)物. 要構(gòu)成這樣的一個(gè)字符, 只需鍵入字符組合鍵(例如 Vim中的 Ctrl-V u
, Bash 中的 Ctrl-Shift-u
), 然后輸入 unicode 代碼點(diǎn)的十六進(jìn)制數(shù).
操作符 unicode代碼點(diǎn) ascii equivalent
∈ U+2208 (elem)
? U+2209 !(elem)
? U+220B (cont)
? U+220C !(cont)
? U+2286 (<=)
? U+2288 !(<=)
? U+2282 (<)
? U+2284 !(<)
? U+2287 (>=)
? U+2289 !(>=)
? U+2283 (>)
? U+2285 !(>)
? U+227C (<+)
? U+227D (>+)
∪ U+222A (|)
∩ U+2229 (&)
? U+2216 (-)
? U+2296 (^)
? U+228D (.)
? U+228E (+)
數(shù)學(xué)符號(hào)
Wikipedia 包含了一個(gè) unicode 中數(shù)學(xué)操作符和符號(hào) 的完整列表, 還有它們數(shù)學(xué)意義的鏈接.
希臘字符
希臘字符可以用作變量名了. 查看 Greek in Unicode Wikipedia article 列表獲取希臘和埃及字符還有它們的 unicode 代碼點(diǎn).
例如, 把數(shù)值3賦值給 π
, 在 Vim 中輸入(添加的空格是為了清晰):
my $Ctrl-V u 03C0 = 3; # same as: my $π = 3;
say $Ctrl-V u 03C0; # 3 same as: say $π;
上標(biāo)和下標(biāo)
使用 U+207x
, U+208x
和 (less often) U+209x
范圍能直接創(chuàng)建一個(gè)有限的上標(biāo)和下標(biāo)的集合. 然而, 要生成一個(gè)值的平方或立方, 你需要使用 U+00B2
和 U+00B3
, 因?yàn)檫@些被定義在 Latin1 supplement Unicode block 中.
因此, 要書寫泰勒級(jí)數(shù)展開(kāi), 你可以在 Vim 中輸入:
exp(x) = 1 + x + xCtrl-V u 00B2/2! + xCtrl-V u 00B3/3! + ... + xCtrl-V u 207F/n!
# which would appear as
exp(x) = 1 + x + x2/2! + x3/3! + ... + x?/n!
或者指定列表中從1到k 的元素:
ACtrl-V u 2081, ACtrl-V u 2082, ..., ACtrl-V u 2096
# which would appear as
A?, A?, ..., A?