1

我在 Dyalog 17 中,想生成唯一的名称以与其图形对象库一起使用。因此,例如,我有字母'l'并想取数字1,将其转换为字符,然后将两者连接在一起形成'l1'。这在其他语言中是如此微不足道的东西,但我找不到解释如何在 APL 中执行此操作的文档。谢谢你的帮助!

4

3 回答 3

3

要将字母连接'l'到数字1以形成字符'l1',请执行以下操作:

'l',⍕1
于 2018-12-04T15:01:59.030 回答
2

这里可以使用系统函数⎕FMT。例如:

       'P<I>ZI7' ⎕FMT ⍳10 
I000000
I000001
I000002
I000003
I000004
I000005
I000006
I000007
I000008
I000009

格式字符串指定将数字格式化为整数,宽度为 7,零填充,字母“I”的正左装饰。

于 2018-12-04T15:53:34.433 回答
1

我在大型机中的 APL2 上,所以我的答案可能不完全是你所追求的,但我会这样做:

∊⍕¨'L',1

所以首先连接字母和数字。然后 FORMAT EACH 生成一个字符标量向量。最后,ENLIST 产生一个简单的向量。

这是对 SteveH 回复的一个概括。从某种意义上说,它更一般地处理输入字符串(而不是标量),并且无论数字或字母是否在前,它都能很好地工作。

于 2018-12-05T11:37:31.697 回答