数週間前に APL の学習を始めたばかりなので、これは初心者の質問のように聞こえるかもしれません。
B
APL 用語では、スカラーまたはベクトルのいずれかになる可能性がある文字列とします。スカラーの場合⍴B
は、必要に応じて文字列の長さではなく null を返します。
B←'QR'
⍴B ⍝ returns 2
B←'Q'
⍴B ⍝ returns null
私はそれを回避する方法を発見しました:
⍴1↓'X',B ⍝ concatenating X and then removing it returns a value of 1
それは機能しますが、少しばかげているように見えるので、文字列の長さを見つけるためのより標準的な方法があるかどうか疑問に思っています.
それは私だけですか、それともこれは少し矛盾しているように見えますか? 私が読んだチュートリアルでは、スカラーをベクトル代数の場合と同様の点と考えるように言われました。しかし、スカラーをスカラーに連結するとベクトルになるのに、ベクトルからスカラーを削除すると決してスカラーにならないのはなぜでしょうか?
私は本当に APL を楽しんでいるので、この質問は批判を意図したものではありません。私の質問は、文字列の長さを見つける最良の方法は何ですか? そして、誰かがこの矛盾しているように見えることに少し光を当てることができれば、それはありがたいです.