我知道您可以使用∊⍕¨⍳10
获取所有数字的字符向量,但是除了手动输入'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
之外,是否还有一个独立于平台的习惯用于获取所有字母字符的向量?我知道我可以通过Dyalog APL ⎕AV[(⍳26)+(⎕AV⍳'a')-1]
来获取所有小写字符(以及通过将'a'
更改为'A'
来大写),但我认为系统变量⎕AV
不是& #39;在其他环境中可用。
答案 0 :(得分:4)
不是。
在Dyalog APL中,我通常使用⎕A
表示大写字符,⎕UCS 96+⍳26
表示小写字符。 (并且⎕A,⎕UCS 96+⍳26
代表整个字母表。)
⎕AV
通常存在,但其内容不是标准的。 (例如,NARS2000' ⎕AV
与Dyalog不同。)顺便说一下,Dyalog ⎕AV
被认为已被弃用,而不是⎕UCS
。任何实现⎕UCS
的APL都会以相同的方式执行,因为Unicode是一个集合标准。
如果您想要一种保证与实现无关的可读方式来定义字母表,我确实建议您只在您的工作区中存储abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
。
但是,我不建议尝试编写与实现无关的APL代码。 APL方言相当不同,所以这显然是非常重要的(如果可能的话,对于复杂的代码而言),并且难以维护。
答案 1 :(得分:1)
尽管Quad名称(⎕xxx
)通常不区分大小写,但MicroAPL会区分⎕A
和⎕a
,因此⎕a,⎕A
会'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
。
答案 2 :(得分:0)
是的,在最新版本*中,为⎕A,819⌶⎕A
撰写ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
。
* 14.1的最新版本,以及15.0及更高版本的所有版本。