Existiert in
a in { 1, 2, 3, 4 } <==> a ==1 || a == 2 || a == 3 || a == 4
Teilmenge:
{ 0, 1, 2 } in { 1, 2, 3, 4 } => false
{ 1, 2 } in { 1, 2, 3, 4 } => true
Leere Menge
{}
Schnittmenge
{ 0, 1, 2 } in { 1, 2, 3, 4 } => { 1, 2 }
Vereinigung
{ 1, 2 } & { 2, 3, 4 } => { 1, 2, 3, 4 }
Gleichheit:
{ 1, 2 } == { 3, 4 } => false
Differenz ( A \ B )
{ 1, 2, 3 } - { 2 } => { 1, 3 }
{ {1, 2, 3 } do value & { 2 } yield value; }
{ {1, 2, 3 } yield value & { 2 }; }
Symmetrische Differenz: (entweder oder)
{ 1, 2 } ^ { 2, 3 } => { 1, 3 }
Mengen von Mengen (_-Operator unterstützen)
{ { 1, 2 }, { 2, 3 } } - { 1, _ } }
Filtern:
{ { 1, 2, 3, 4 } do value % 2 then yield value; }
Python
sources = [os.path.join(path, f).replace("\\", "/") for f in self.sources if not skipped(f)]
Genesys:
sources = { this.sources do skipped(value)! yield os.path.join( path, value ).replace( "\\", "/" ) };
sources = [ .sources do skipped(value)! yield (path / value).replace( "\\", "/" ) ];
sources = [ .sources do(f) skipped(f)! yield (path / f).replace( "\\", "/" ) ];
Map/filter/reduce in a tweet:
map([corn, cow, chicken], cook ) => [popcorn, burger, eggs]
filter([popcorn, burger, eggs], isVegetarian) => [popcorn, eggs]
reduce([popcorn, eggs], eat) => shit
Nicht schön, nur gedankenspielerei:
[corn, cow, chicken] | cook => [popcorn, burger, eggs]
[popcorn, burger, eggs] & isVegetarian => [popcorn, eggs]
[popcorn, burger, eggs] % isVegetarian => true (mindestens ein Element ist vegetarisch)
[popcorn, burger, eggs] %! isVegetarian => true (mindestens ein Element ist nicht vegetarisch)
[popcorn, eggs] * eat = shit
[ [corn, cow, chicken ] do yield cook(value) ] => [ popcorn, burger, eggs ]
[ corn, cow, chicken ] do cook => [ popcorn, burger, eggs ]
vegetarian in [ popcorn, burger, eggs ] => [popcorn, eggs]
vegetarian! in [ popcorn, burger, eggs ] => [burger]
[ popcorn, burger, eggs ] & vegatrian => false
[ popcorn, burger, eggs ] &! vegatrian => true
[ [popcorn, eggs] do result +: value; ]
[ popcorn, eggs ] + eat => shit
https://en.wikipedia.org/wiki/Map_(higher-order_function)
https://en.wikipedia.org/wiki/Convolution_(computer_science)
Synonyme: map, transform
filter
reduce, fold, accumulate