范围内所有元素的平等

Nor*_*löw 2 algorithm d equality range

我应该使用什么Phobos算法来检查范围内的所有元素是否相等?我已经查看了std.algorithm,我发现的最接近equal但是它需要两个范围作为参数.我也找不到申请reduce解决这个问题的方法.

And*_*scu 6

好的,亚当.还有一些可能性:

foo.empty || foo.equal(repeat(foo.front, foo.length))
Run Code Online (Sandbox Code Playgroud)

要么

foo.empty || repeat(foo.front).startsWith(foo)
Run Code Online (Sandbox Code Playgroud)

要么

foo.findAdjacent!("a != b").empty
Run Code Online (Sandbox Code Playgroud)

  • @Nordlöw这取决于你想要做什么,但如果它们都是空的,则认为两个阵列是相等的.将两个范围与"相等"进行比较时也是如此.从技术上讲,空范围中的每个元素都等于其他元素(当然,从技术上讲,每个元素也不等于每个元素).但我会选择"真实". (3认同)