1

我有一些菊石脚本,它们存储在一个文件夹中。该文件夹位于我的 PATH 上,因此无论身在何处,我都可以轻松调用这些脚本。

我可以在同一个文件夹中导入其他 ammonite 脚本:

$import $file.<name_of_the_other_script>

但是我想“导入”一个简单的文本文件,将其内容保存为字符串并稍后使用。

我可以:

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

但出于显而易见的原因,我宁愿不使用绝对路径。相对路径不起作用,因为它是相对于我从中调用脚本的文件夹,而不是相对于脚本所在的文件夹。

有什么办法可以做到这一点?

编辑:

#/bin/bash

echo $BASH_SOURCE

如果上述 bash 脚本中的功能可以在 Ammonite 中复制,则问题可以很容易地解决。

4

1 回答 1

0

我认为您可以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

请参阅Ammonite 文档中的阅读资源

于 2020-05-29T12:43:37.670 回答