3

我知道你可以得到一个所有数字的字符向量∊⍕¨⍳10,但是除了手动输入之外,是否有一个独立于平台的习语来获取所有字母字符的向量'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'?我知道我可以在 Dyalog APL⎕AV[(⍳26)+(⎕AV⍳'a')-1]中获取所有小写字符(以及通过将 to 更改为大写'a') ,但我认为系统变量在其他环境中不可用。'A'⎕AV

4

3 回答 3

4

并不真地。

在 Dyalog APL 中,我通常做的是⎕A用于大写字符和⎕UCS 96+⍳26小写字符。(⎕A,⎕UCS 96+⍳26对于整个字母表。)

⎕AV通常存在,但其内容不标准。(例如,NARS2000⎕AV与 Dyalog 的不同。)顺便说一句,在 Dyalog⎕AV中被认为已弃用⎕UCS. 任何实现的 APL 都⎕UCS将以相同的方式进行,因为 Unicode 是一个固定标准。

如果您想要一种有保证的独立于实现的、可读的方式来定义字母表,我确实建议您将其存储abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ在您的工作区中。

但是,我不建议一开始就尝试编写与实现无关的 APL 代码。APL 方言相当不同,所以这绝对是不平凡的(如果可能的话,对于复杂的代码),并且难以维护。

于 2014-07-06T18:45:25.523 回答
1

尽管 Quad 名称 ( ⎕xxx) 通常不区分大小写,但 MicroAPL 区分⎕A⎕a,因此⎕a,⎕A给出'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'

于 2016-06-18T23:00:14.300 回答
0

是的,在最新版本* 中⎕A,819⌶⎕A,为ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz.

在线尝试!

文档。


* 14.1 的最新版本,以及 15.0 及更高版本的所有版本。

于 2017-01-31T19:18:48.610 回答