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