如何定义无限整数类型的无限范围



i具有实现num::Integer特征的通用类型T。我可以编写一个基于T的范围迭代器,其中e代表类型T的另一个值表示范围的上限:

num::iter::range(T::one(), e)

令人讨厌的是它必须是有限的。我如何拥有无限范围?对于原始类型,我可以做类似(1..)的事情。我可以做诸如num::iter::range(T::one(), T::infinity())之类的事情吗?

我找不到在num::iter中执行此功能的函数。我希望之后能够调用功能样式功能,例如mapfilter等...

这听起来像是loop的用例,而不是范围。

编辑:不幸的是, std::ops::RangeFrom是一个结构,而不是像 std::ops中的infix操作员的特征。所以这是错误的,但是由于它已被接受,所以我无法删除它。

原始帖子:您可以实现std :: ops :: Rangefrom for您的类型。这是仅具有下限的范围语法的基础特征,例如1..

最新更新