You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

1996年前可用的逐行输出APL数组各元素的传统方法是什么

兼容传统APL标准的逐元素打印方案

首选通用方案(全实现兼容,1970年代已标准化)

使用标量左参数配合外积运算符即可实现需求,无需dfn、tradfn,远早于1996年的时间要求,且在Dyalog APL、GNU APL等所有主流APL实现中均可正常运行,嵌套字符向量也不会出现缩进或带框的问题:

arr ← 1 2 3
      1 ∘.⎕← arr
1
2
3
      text ← 5/⊂'Line of text'
      1 ∘.⎕← text
Line of text
Line of text
Line of text
Line of text
Line of text

实现原理

  • ∘.是APL的外积运算符,当左操作数为任意标量时(示例中使用1,换成任意标量如0、''效果都相同),会将标量与右操作数数组的每一个元素一一配对,依次执行给定的二元函数。
  • ⎕←作为二元函数使用时会忽略左参数,直接输出右参数并返回右参数值,刚好匹配逐元素输出的需求。
  • 由于每次调用⎕←都是直接输出单个元素,不会触发嵌套数组的boxing显示逻辑,输出效果和dfn包装的{⎕←ω}¨完全一致。

可选简化写法(兼容所有支持APL2标准的实现)

如果你使用的APL实现支持1980年代APL2引入的rank算子(Dyalog、GNU APL均支持),可以用更直观的写法:

⎕←⍤0⊢ text
Line of text
Line of text
Line of text
Line of text
Line of text

⍤0表示将⎕←应用到数组的每个0秩元素(即单个元素)上,效果和外积写法完全一致。

内容的提问来源于stack exchange,提问作者Mark Reed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 01:45:03