RxPY 条件和布尔运算符
all
此运算符将检查源可观察对象的所有值是否满足给定的条件。
语法
参数
predicate: 布尔值。该函数将应用于源可观测对象的所有值,并根据给定的条件返回true或false。
返回值
返回值是一个可观测对象,其布尔值为true或false,取决于应用于源可观测对象的所有值的条件。
示例1
输出
示例2
输出
contains
该操作符将返回一个Observable,如果给定的值存在于源Observable的值中,则返回true;如果不存在,则返回false。
语法
参数
value: 要检查的值是否存在于源可观察对象中
comparer: 可选项。这是一个应用于源可观察对象中的值进行比较的比较器函数。
示例
输出
示例2:使用比较器
输出
default_if_empty
如果源可观测对象为空,则此运算符将返回一个默认值。
语法
参数
default_value:可选参数。如果default_value未传入,将返回None作为输出;否则将返回传入的值。
返回值
如果源observable为空,将返回一个带有默认值的可观察对象。
示例1
输出
示例2:传入了默认值
输出
sequence_equal
此运算符将比较两个 observables 序列,或一个值数组,并返回一个具有 true 或 false 值的 observable。
语法
参数
second_seq: 要与第一个observable比较的observable或数组。
comparer: 可选的。用于比较两个序列中的值的比较函数。
示例
输出
示例:使用比较函数
输出
skip_until
此运算符将从源可观察对象中丢弃值,直到第二个可观察对象发出一个值为止。
语法
参数
observable:当它发出一个值时将触发源observable的第二个observable。
返回值
它将返回一个observable,该observable将具有来自源observable的值,直到第二个observable发出一个值。
示例
输出
跳过条件满足的observable值
此操作符将返回一个observable,其中包含满足传递条件的源observable的值。
语法
参数
predicate_func: 该函数将应用于源可观测对象的所有值,并返回满足条件的值。
返回值
它将返回一个可观测对象,其值来自满足传入条件的源可观测对象。
示例
输出
take_until
此操作符将在第二个可观察对象发出一个值或终止后,从源可观察对象中丢弃值。
语法
参数
observable:第二个可观察对象,当其发出一个值时将终止源可观察对象。
返回值
返回一个可观察对象,该对象仅在第二个可观察对象发出值时才包含源可观察对象的值。
示例
在这个示例中,你将获取从range发出的值。但是,一旦计时器结束,它将停止源Observable继续发出。
输出
take_while
此操作符在条件失败时,将从源observable中丢弃值。
语法
参数
predicate_func:该函数将评估源可观测对象的每个值。
返回值
它将返回一个包含值的可观测对象,直到满足predicate函数。