Search ('all' for everything):
Search results:
!x — generate values
&allocated — cumulative allocation
&collections — garbage collections
&features — implementation features
&regions — storage regions
&storage — storage utilization
?x — generate random value
bal — locate balanced characters
every do — generate every result
expr \ i — limit generator
expr1 | expr2 — evaluate alternatives
find — find string
function — generate function names
i to i by i — generate integers in sequence
key — generate keys from table
seq — generate sequence of integers
suspend do — suspend from procedure
upto — locate characters
v<–>v — exchange values reversibly
v<–x — assign value reversibly
|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
 
find string
 
Description

i3, i4, ..., in find(s1, s2, i1, i2)
A generator, find(s1, s2, i1, i2) generates the sequence of integer positions in s2 at which s1 occurs as a substring in s2[i1:i2], but fails if there is no such position.
 
Parameters
s1
the search string
s2
the string to search
i1
the starting position in s2
i2
the end position in s2
returns
a sequence of integer positions of s2 in s1
 
Defaults
s2
&subject
i1
&pos if s2 is defaulted, otherwise 1
i2
0
 
Errors
101 i1 or i2 not integer
103 s1 or s2 not string
 
See Also
  • match — match initial string
  • bal — locate balanced characters
  • upto — locate characters
 
Examples

Example 1 — Finding multiple instances in a sentence:
The map() function below, translates the sentence to lower case.
testStr := "The quick brown fox jumped over the lazy dog's back."
testStr := map(testStr)
every writes (testStr ? find("the"), " ")
returns:
1 33