File: matchItem.schelp

package info (click to toggle)
supercollider 1%3A3.13.0%2Brepack-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 80,292 kB
  • sloc: cpp: 476,363; lisp: 84,680; ansic: 77,685; sh: 25,509; python: 7,909; makefile: 3,440; perl: 1,964; javascript: 974; xml: 826; java: 677; yacc: 314; lex: 175; objc: 152; ruby: 136
file content (43 lines) | stat: -rw-r--r-- 1,421 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
title::matchItem
categories::Common methods
summary::test if object fulfils a constraint

Implemented by: link::Classes/Object::, link::Classes/Collection::, link::Classes/Nil::, link::Classes/Function::

method:: matchItem(item)

matchItem(item) may be passed to different objects that behave as constraints. More Objects may be conceived to implement matchItem to extend the interface.

See also: link::Classes/Dictionary#-matchAt::.

section:: Object-matchItem
Test if strong::item:: is identical to strong::object::.
code::
a = [1, 2, 3, "wort", "1", [pi, 2pi]];
a.any { |x| x.matchItem(3) }; // true
a.any { |x| x.matchItem(5) }; // false
a.any { |x| x.matchItem("wort") }; // false, because "wort" == "wort" but not identical.
::

section::Collection-matchItem
Test if strong::item:: is included in strong::collection::.
code::
a = [1, 2, 3, "wort", "1", [pi, 2pi]];
a.any { |x| x.matchItem(pi) }; // true
::

section::Nil-matchItem
returns true (link::Classes/Nil:: serves as a "joker", a stand-in for anything).
code::
a = [nil, 1, 2, 3, "wort", "1", [pi, 2pi]];
a.any { |x| x.matchItem(10000.rand) }; // true always
::

section::Function-matchItem
Test strong::item:: by passing it to a function which should return a link::Classes/Boolean::.
code::
a = [10, 20, 30, { |item| item.isPrime }];
a.any { |x| x.matchItem(3) }; // true
a.any { |x| x.matchItem(4) }; // false
a.any { |x| x.matchItem(10) }; // true
::