APL/APLX - 拆分字符串

APL/APLX - Splitting a string

我有一个字符串(阅读一段文本的结果),我想将其拆分为一个单词数组。我会在每个 space 上拆分字符串。这看起来应该很简单,但我似乎无法找到实现这一目标的方法。

值得注意的是,我使用的是 APLX,因此我可以选择导入 Ruby 函数,但我更愿意坚持使用 APL。

有很多不同的方法可以解决这个问题。我最常在 Dyalog APL:

中使用以下 dfn
penclose←{⎕ML←3 ⋄ ⍺←↑,⍵ ⋄ (~⍵∊⍺)⊂,⍵ } ⍝ separator as ⍺ or ⍵[1]

我不确定 APLX 是否有 dfns,所以更 "traditional" 的风格是:

∇ R←penclose R;a
   ⍝ Partitioned enclose of text vector with separator in R[1]
   ⍝ ⎕ML←3  ⍝ Dyalog-specific to make ⊂ APL2-compatible...
 a←1↑R ⋄ R←(~R∊a)⊂R
∇