создание путей к файлам из 2d списков kdb q - PullRequest
0 голосов
/ 01 июля 2018

Скажите, у меня есть список файлов

`(`fileA`fileB`fileC;`fileX`fileY)

И список путей

`:a/b`:c/d

как я могу объединить их, чтобы вывести

`:a/b/fileA`:a/b/fileB`:a/b/fileC`:c/d/fileX`:c/d/fileX

Я бы обычно использовал

` sv'paths,'filelist

Но в этом случае, поскольку `filelist равен 2d, а длины не совпадают, он выдает

`:a/b/fileA/fileB/fileC`:c/d/fileX/fileY

Thankyou

Ответы [ 2 ]

0 голосов
/ 02 июля 2018

Можно также использовать встроенный .Q.dd

q).Q.dd''[`:a/b`:c/d;(`fileA`fileB`fileC;`fileX`fileY)]
`:a/b/fileA`:a/b/fileB`:a/b/fileC
`:c/d/fileX`:c/d/fileY
0 голосов
/ 01 июля 2018

Вы можете использовать комбинацию each-both и each-right:

q)raze{` sv/:(x,/:y)}'[(`:a/b`:c/d ) ;(`fileA`fileB`fileC;`fileX`fileY)]
`:a/b/fileA`:a/b/fileB`:a/b/fileC`:c/d/fileX`:c/d/fileY

каждый справа добавляет файлы в каталог:

q){` sv/:(x,/:y)}[`:a/b;`fileA`fileB`fileC]
`:a/b/fileA`:a/b/fileB`:a/b/fileC
...