Search ('all' for everything):
Search results:
&fail — failure
break — break out of loop
case of — select according to value
create — create co-expression
every do — generate every result
expr & expr — evaluate in conjunction
expr \ i — limit generator
expr1 | expr2 — evaluate alternatives
fail — fail from procedure
if then else — select according to outcome
link — reference ICON module
next — go to beginning of loop
not — invert failure
repeat — evaluate repeatedly
return — return from procedure
s ? expr — scan string
suspend do — suspend from procedure
until do — loop until result
v op:=x — augmented assignment
v:=:v — exchange values
v:=x — assign value
while do — loop while result
x!X — process argument list
x(x,…) — function call
x{x,…} — process argument list as co-expressions
|expr — evaluate repeatedly

Index of Function Types:
affects &pos
character sets
co-expressions
control structures
file processing
generators
infix operations
keywords
lists, sets and tables
math
metadata
output formatting
pattern matching
prefix operations
records
strings
windows and keyboards

Index of Subsystems:
base
digitcnt.icn
SNOBOL4 functions
 
move scanning position
 
Description

i3 many(c, s, i1, i2)
many() succeeds and produces the position in s after the longest initial sequence of characters in c with s[i1:i2]. It fails if s[i1] is not in c.
 
Parameters
c
character set of allowable characters.
s
subject string.
i1
start position in s.
i2
end position in s.
returns
tab position of last found character.
 
Defaults
s
&subject.
i1
&pos if s is defaulted, otherwise 1
i2
0
 
Errors
101 i1 or i2 not integer
103 s not string
104 c not cset
 
See Also
  • any — locate initial character
  • match — match initial string
  • map — map characters
 
Examples

Example 1 — Splitting apart a Sentence:
In this example:
line = "This is the very first sentence in a paragraph"
line ? (firstWord := tab(many(&letters)) (theRest = tab(0))
will capture the first word of the sentence in one variable and the rest of the sentence in a second. The result of the above expression is:
firstWord := "This"
theRest := " is the very first sentence in a paragraph"