3
我有一個字符串(從一段文本中讀取的結果),我想分割成一個單詞數組。我會在每個空間分割字符串。這似乎應該是簡單的,但我似乎無法找到一種方法來實現這一點。APL/APLX - 分割一個字符串
值得注意的是我使用APLX,所以我可以選擇導入一個Ruby函數,但是我更願意使用APL。
我有一個字符串(從一段文本中讀取的結果),我想分割成一個單詞數組。我會在每個空間分割字符串。這似乎應該是簡單的,但我似乎無法找到一種方法來實現這一點。APL/APLX - 分割一個字符串
值得注意的是我使用APLX,所以我可以選擇導入一個Ruby函數,但是我更願意使用APL。
有很多不同的方法來解決這個問題。大多數情況下我用下面的DFN在Dyalog APL:
penclose←{⎕ML←3 ⋄ ⍺←↑,⍵ ⋄ (~⍵∊⍺)⊂,⍵ } ⍝ separator as ⍺ or ⍵[1]
我不知道APLX是否有DFN和,所以更「傳統」的風格將是:
∇ 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
∇
這工作精美,謝謝 – wptreanor
在你的APLX定義中,逗號操作符是幹什麼的?在我使用GNU APL的實驗中,似乎只需執行R←(〜Rεa)⊂R' –
感謝您的詢問!它的目的是作爲針對RANK錯誤的安全措施,因爲調用'penclose''或'penclose'x''這是不合理的,但更可能是因爲'penclose bool/string' - 但雖然dfn是安全的,但我對傳統風格的翻譯沒有妥善處理。我現在修好了。 – MBaas