Javascript 哪个C库具有执行zsh递归全局的功能?

Javascript 哪个C库具有执行zsh递归全局的功能?,javascript,c,glob,Javascript,C,Glob,我编写了一个绑定到glob.h npm install glob的nodejs来使用它 我真的很想支持zsh奇特的lib/***.js类型的东西,但我似乎不知道哪个库具有这种功能 我当然不想自己去实现它,我也不想为编程难题寻找任何聪明的解决方案。我只想要这样的东西: #include <fancy_glob.h> int do_fancy_glob (etc) { ... } 有什么建议吗?我很确定Ruby与此有关联,不是吗 编辑: 我做了一些研究,发现了一些有趣的事情 Pytho

我编写了一个绑定到glob.h npm install glob的nodejs来使用它

我真的很想支持zsh奇特的lib/***.js类型的东西,但我似乎不知道哪个库具有这种功能

我当然不想自己去实现它,我也不想为编程难题寻找任何聪明的解决方案。我只想要这样的东西:

#include <fancy_glob.h>
int do_fancy_glob (etc) { ... }
有什么建议吗?我很确定Ruby与此有关联,不是吗

编辑:

我做了一些研究,发现了一些有趣的事情

PythonFame的Guido Van Rossum编写了一个实现,现在可以在BSD和其他一些Unix上找到。它没有包括所谓的扩展glob模式**,等等。当你在你的程序中包括这些模式时,你很可能会得到这些模式。Man3 glob描述了它的行为

然而,据我所知,Bash、Zsh和Ksh现在都有扩展的glob实现,都是从头开始编写的。NetBSD是GVR实现的一个可识别的后代,并添加了扩展的globs。Ruby扩展了在dir.c中实现的globs,作为其标准库的一部分,该库肯定是用c而不是Ruby编写的。Perl似乎对现有的所有glob库都有绑定或实现,我想这是意料之中的

在我所找到的所有工具中,NetBSD似乎最接近于我使用典型的非扩展libc glob3编写的代码,它的许可证最适合我的项目

另一种方法是从头重写。我可以这样做,但我似乎找不到任何明确的规范或测试套件。有什么建议吗


编辑2:我用JS重写了它

我很确定Ruby本身就可以做到这一点,而且很可能是Ruby代码做到了这一点。除了解析字符串和遍历文件系统之外,实现这一点没有太多障碍。我不确定,但我认为zsh也没有为此使用库,它只是在zsh代码中。

我很确定Ruby自己做这件事,可能是Ruby代码做的。除了解析字符串和遍历文件系统之外,实现这一点没有太多障碍。我不确定,但我认为zsh也没有为此使用库,它只是在zsh代码中。

Ruby本身就可以做到这一点,但它是用C编写的,不是用Ruby代码编写的。查看ruby源代码中的dir.c。ruby本身就可以做到这一点,但它是用c编写的,而不是用ruby代码编写的。查看ruby源代码中的dir.c。