如何在单个文件中维护鱼群功能的集合?

时间:2017-09-26 10:51:40

标签: fish convention

我想从命令行和脚本中定义许多函数。一种方法是为每个函数创建一个文件,并将它们存储在autoloading folder中(例如compile 'joda-time:joda-time:2.9.9' var url = "ondemand_driver.php"; $.ajax( { url : url, type: "POST", data : value, success: function() { window.location(url); } }); ,...)

但我不想将每个功能都保存在自己的文件中。有没有办法在单个文件中定义函数集合(这样可以从命令行和多个脚本中引用它们)?

(或者,鱼类遵循强有力的设计原则。如果有一个记录在案的鱼 - 设计 - 这种方式基于每个用户定义的功能存储一个文件,我希望看到它。)

1 个答案:

答案 0 :(得分:4)

您可以在一个文件中使用多个功能,但只能对其中一个使用自动加载功能。

问题在于:如果你有一个功能" foo"和一个功能" bar"在一个文件中,鱼怎么会知道,而不先读取文件?

对于自动加载,文件以函数命名(例如" bar"将存储在" bar.fish"),因此鱼可以找出它的位置。

所以,你可以做以下两件事之一:

  • 如果始终首先调用其中一个函数,则可以将其用作文件名并将其存储在函数文件中。在你使用了这个功能之后,fish知道其余的(因为source d文件)。

  • 如果不是这种情况(或者您不想依赖它),您可以在需要时手动source文件(或只需一次)启动)或将其存储在〜/ .config / fish / conf.d / SOMETHING.fish中的配置片段中(在阅读config.fish之前,它会自动地source)。

前者意味着例如辅助函数可以与主函数一起存储。当您在不使用该功能的情况下加载文件时,后者会慢一点,但除非您过度使用此功能,否则您甚至不会注意到这一点。