String matching: Difference between revisions

m (Category:Simple, {{out}})
Line 1,557:
that other cloud looks like a llama" "cloud" ;;
- : bool * int = (true, 2)
 
=={{header|Oforth}}==
 
<lang Oforth>func: stringMatching(s1, s2)
{
| i |
s2 isAllAt(s1, 1) ifTrue: [ System.Out s1 << " begins with " << s2 << cr ]
s2 isAllAt(s1, s1 size s2 size - 1 + ) ifTrue: [ System.Out s1 << " ends with " << s2 << cr ]
 
s1 indexOfAll(s2) ->i
i ifNotNull: [ System.Out s1 << " includes " << s2 << " at position : " << i << cr ]
 
"\nAll positions : " println
1 ->i
while (s1 indexOfAllFrom(s2, i) dup ->i notNull) [
System.Out s1 << " includes " << s2 << " at position : " << i << cr
i s2 size + ->i
]
}</lang>
 
{{out}}
<pre>
>stringMatching("arduinoardblobard", "ard")
arduinoardblobard begins with ard
arduinoardblobard ends with ard
arduinoardblobard includes ard at position : 1
 
All positions :
arduinoardblobard includes ard at position : 1
arduinoardblobard includes ard at position : 8
arduinoardblobard includes ard at position : 15
</pre>
 
=={{header|OxygenBasic}}==
1,015

edits