main
1package domain
2
3type Predicate func(Movie) bool
4
5func (self Predicate) Or(other Predicate) Predicate {
6 return func(m Movie) bool {
7 return self(m) || other(m)
8 }
9}
10
11func (self Predicate) And(other Predicate) Predicate {
12 return func(m Movie) bool {
13 return self(m) && other(m)
14 }
15}
16
17func (self Predicate) Not() Predicate {
18 return func(m Movie) bool {
19 return !self(m)
20 }
21}