RxClojure 有这个运算符的 count
和 longCount
变体,但实际上这两个都返回长整型值。
RxCpp 将此运算符实现为 count
。
在 RxGroovy 中,运算符称为 count
,它创建的 Observable 发出 Integer 值。还有一个 countLong
,它的 Observable 发出 Long 值。
def myObservable = Observable.create({ aSubscriber -> if(false == aSubscriber.isUnsubscribed()) aSubscriber.onNext('Three'); if(false == aSubscriber.isUnsubscribed()) aSubscriber.onNext('Two'); if(false == aSubscriber.isUnsubscribed()) aSubscriber.onNext('One'); if(false == aSubscriber.isUnsubscribed()) aSubscriber.onCompleted(); }); myObservable.count().subscribe( { println(it); }, // onNext { println("Error: " + it.getMessage()); }, // onError { println("Sequence complete"); } // onCompleted );
3 Sequence complete
count()
countLong()
在 RxJava 中,运算符称为 count
,它创建的 Observable 发出 Integer 值。还有一个 countLong
,它的 Observable 发出 Long 值。
String[] items = new String[] { "one", "two", "three" }; assertEquals( new Integer(3), Observable.from(items).count().toBlocking().single() );
count()
countLong()
在 RxJS 中,count
运算符统计源 Observable 中满足指定谓词的项目的数量。该谓词采用一个函数的形式,该函数接受三个参数
如果谓词函数返回 true
,count
将增加它将在源 Observable 完成时报告的项目的计数。如果你想统计源 Observable 发出的所有项目,只需传递一个始终返回 true
的谓词给 count
numberOfItems = someObservable.count(function() { return true; });
count
是以下包的一部分
rx.all.js
rx.all.compat.js
rx.aggregates.js
count
需要以下任意一个包
rx.js
rx.compat.js
rx.lite.js
rx.lite.compat.js
RxKotlin 将此运算符实现为 count
。
val list = listOf(1, 2, 3, 4, 5) assertEquals( 5, Observable.from(list)!!.count()!!.toBlocking()!!.single() )
在 Rx.NET 中,此运算符创建的 Observable 发出 Integer 值,但还有一个 LongCount
,它的 Observable 发出 Long 值。对于这两个变体,你可以将源 Observable 作为参数传递给运算符,也可以将运算符作为源 Observable 的实例方法调用(在这种情况下,你省略参数)。
在 RxPY 中,你可以选择向 count
传递一个谓词,该谓词将源 Observable 发出的项目作为参数。如果你这样做,count
仅发出源 Observable 中谓词评估为 true
的项目的计数。否则,它将发出源 Observable 发出的所有项目的计数。
numberOfItems = someObservable.count() numberOfNegativeItems = someObservable.count(lambda x: x < 0)
在 Rx.rb 中,你可以选择向 count
传递一个谓词,该谓词将源 Observable 发出的项目作为参数。如果你这样做,count
仅发出源 Observable 中谓词评估为 true
的项目的计数。否则,它将发出源 Observable 发出的所有项目的计数。
在 RxScala 中,count
运算符统计源 Observable 中满足指定谓词的项目的数量。该谓词接受一个发出的项目作为参数并返回一个布尔值。count
将发出该谓词返回 true
的所有项目的计数。
如果你想统计源 Observable 发出的所有项目并将此计数作为 Integer 发出,请使用 length
或 size
,或者使用 longCount
将其作为 Long 发出。