Как использовать ресурсы из скрипта Ammonite? - PullRequest
1 голос
/ 29 мая 2020

У меня есть несколько скриптов аммонитов, они хранятся в папке. Эта папка находится в моем PATH, поэтому я могу легко вызывать эти сценарии, где бы я ни находился.

Я могу импортировать другие сценарии аммонита в ту же папку: 'простой текстовый файл, сохраните его содержимое в виде строки и используйте его позже.

Я могу:

val myString = os.read(os.root/"absolute"/"path"/"to"/"the"/"file")

Но я бы предпочел не использовать абсолютный пути по понятным причинам. Относительный путь не работает, поскольку он относится к папке, из которой я вызываю скрипт, а не к тому месту, где находится скрипт.

Есть ли способ добиться этого?

РЕДАКТИРОВАТЬ:

#/bin/bash

echo $BASH_SOURCE

Проблема могла бы быть легко решена, если бы функциональность в приведенном выше сценарии bash могла быть воспроизведена в Ammonite.

1 Ответ

0 голосов
/ 29 мая 2020

Я думаю, что вы можете читать ресурсы, используя ammonite.ops вот так:

val resourcePath = resource/'test/'ammonite/'ops/'folder/"file.txt"
read(resourcePath).length        ==> 18
read.bytes(resourcePath).length  ==> 18
read.lines(resourcePath).length  ==> 1

См. Reading Resources в документации Ammonite.

...