|
@@ -60,10 +60,11 @@ namespace Invercargill {
|
|
|
return count;
|
|
|
}
|
|
|
|
|
|
- public virtual bool any(PredicateDelegate<T> predicate = (i) => true) {
|
|
|
+ public virtual bool any(PredicateDelegate<T>? predicate = null) {
|
|
|
var result = false;
|
|
|
+ var p = resolve_nullable_predicate(predicate);
|
|
|
iterate_if(i => {
|
|
|
- if(predicate(i)) {
|
|
|
+ if(p(i)) {
|
|
|
result = true;
|
|
|
return false;
|
|
|
}
|
|
@@ -77,8 +78,9 @@ namespace Invercargill {
|
|
|
return !any(i => !predicate(i));
|
|
|
}
|
|
|
|
|
|
- public virtual bool no(PredicateDelegate<T> predicate = (i) => true) {
|
|
|
- return all(i => !predicate(i));
|
|
|
+ public virtual bool no(PredicateDelegate<T>? predicate = null) {
|
|
|
+ var p = resolve_nullable_predicate(predicate);
|
|
|
+ return all(i => !p(i));
|
|
|
}
|
|
|
|
|
|
public virtual Enumerable<T> where(owned PredicateDelegate<T> predicate) {
|
|
@@ -363,6 +365,13 @@ namespace Invercargill {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ private PredicateDelegate<T> resolve_nullable_predicate(PredicateDelegate<T>? predicate) {
|
|
|
+ if(predicate == null) {
|
|
|
+ return (p) => true;
|
|
|
+ }
|
|
|
+ return predicate;
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
}
|