によって与えられた入力データのベクトルがA <-- Files.Dir '...directory'
あり、これはそのディレクトリ内のすべてのファイルのベクトルを返します。
ただし、パスにはファイル名のみが含まれ、絶対パスは含まれません。私がやりたいのは、に格納されているパスB
をの各要素に追加することA
です。
一体どうやってこれをするの?
によって与えられた入力データのベクトルがA <-- Files.Dir '...directory'
あり、これはそのディレクトリ内のすべてのファイルのベクトルを返します。
ただし、パスにはファイル名のみが含まれ、絶対パスは含まれません。私がやりたいのは、に格納されているパスB
をの各要素に追加することA
です。
一体どうやってこれをするの?
各プリミティブ演算子 (dyadic ¨) と共にカテネート プリミティブ関数 (dyadic ,) を使用できます。例は次のようになります。
a
file00 file01 file02 file03
b
C:\Path\To\Files
(⊂b,'\'),¨a
C:\Path\To\Files\file00 C:\Path\To\Files\file01 C:\Path\To\Files\file02 C:\Path\To\Files\file03
Windowsファイルシステムを想定しています。
catenate では、両方の引数が同じ形状であるか、スカラーである必要があることに注意してください。そのため、文字ベクトル b を囲んで (⊂)、文字ベクトルを含むスカラーにする必要がありました。
また、完全を期すために、カテネートを使用して末尾のバックスラッシュを追加したことにも注意してください
⊂b,'\'
かっこは、APL がかっこを除いて常に右から左に評価するため、これが最初に実行されるようにするためだけに存在していました。