List 方案:检测列表中的重复元素

List 方案:检测列表中的重复元素,list,set,scheme,chez-scheme,List,Set,Scheme,Chez Scheme,R6RS或Chez Scheme v7.9.4是否具有用于检查列表是否包含重复元素的库函数 或者,是否有任何集合的内置功能(不允许重复元素)?到目前为止,我只能找到一个例子 问题是,它实际上似乎不是Chez方案库的一部分。虽然我可以编写自己的版本,但我更愿意使用一个众所周知、经过测试和维护的库函数——特别是考虑到这是一个多么基本的操作 因此,一个简单的“使用这些内置函数”或“没有内置库实现这一点”就足够了。谢谢 (因此您可以使用它并在以后检查长度),并且可能还有其他您可能会发现有用的功能。Kyl

R6RS或Chez Scheme v7.9.4是否具有用于检查列表是否包含重复元素的库函数

或者,是否有任何集合的内置功能(不允许重复元素)?到目前为止,我只能找到一个例子

问题是,它实际上似乎不是Chez方案库的一部分。虽然我可以编写自己的版本,但我更愿意使用一个众所周知、经过测试和维护的库函数——特别是考虑到这是一个多么基本的操作

因此,一个简单的“使用这些内置函数”或“没有内置库实现这一点”就足够了。谢谢

(因此您可以使用它并在以后检查长度),并且可能还有其他您可能会发现有用的功能。

Kyle

不久前,我需要在Chez方案中使用一些SRFI。一些已转换为与Chez方案(包括SRFI-1)一起使用的方案位于:

将“chez srfi”路径添加到CHEZSCHEMELIBDIRS后,可以导入srfi-1:

(进口(srfi:1))


Ed

谢谢-看起来这将是一个有用的功能。你知道SRFI 1什么时候会进入Chez计划吗?它似乎已经具备了这个SRFI所能提供的许多功能,但我在v7.9.4中没有看到删除重复项的情况。我使用PLT,我对Chez一无所知,但许多SRFI应该可以用于任何流行的方案实施;它们基本上是Scheme的大型标准库。谷歌立即发现了这一点:这些SLS(方案库源代码)文件应该可以通过Chez加载,可能是这样的:谢谢。虽然我还没有机会下载足够的源代码来尝试将其加载到Chez中,但这看起来很有用,但当我在scheme解释器中尝试导入命令时,我一直得到“Exception:library(srfi:1)not found”。我尝试设置CHEZSCHEMELIBDIRS,使用--libdirs运行,并从…/chez srfi运行scheme,但结果总是一样的。我不确定这是否相关,但当我克隆存储库时,git似乎不喜欢包含“*”的文件;我最近没怎么检查堆栈溢出。你在Windows上吗?不幸的是,这些srfi库使用的命名约定在Windows上不受支持(疯狂我知道…)。我正在考虑推出一份使用“便携”名称的收藏。没问题。我在Windows上,因此如果有机会发布库的便携版本,您至少可以计算一个风扇:)