Startseite
Downloads
Lexikon
Sonstiges
Links
Kontakt
Gästebuch
Statistics
Disclaimer
Syntax
found = BiSearchWord( searchArg[, wPos]> ) [;]
Beschreibung
Diese interne REXX-Funktion sucht eine sortierte Liste nach dem als Aufrufparameter angegebenen Wort ab der angegebenen Wort-Position durch.
Aufrufparameter
Parameter
Beschreibung
searchArg
Des im Listensatz gesuchte Wort.
wPos
Wort-Position im Satz, in der gesucht wird.
Standardwerte
Parameter
Wert
wPos
1
Rückgabewerte
Name/Wert
Bedeutung
found
Index der ersten gefundenen Stemvariablen, in der das gesuchte Wort in der angegebenen Position vorhanden ist.
0
Eine Null, wenn kein Wort gefunden wurde.
Bemerkungen
Eine Liste ist eine durchnumerierte Stem-Variable mit der Anzahl der Sätze in der Stem-Variablen mit dem Index 0.
Gesucht wird ein Wort (im REXX-Sinne) in den Sätzen der Stemvariablen ab der angegebenen Wort-Position. Die Liste muss nach gleichen Kriterien sortit sein.
In dieser Beispielimplementierung ist die Liste in der Stem-Variablen mit dem Stamm-Namen stem. abgespeichert. Dieser Name wurde durch die Anweisung Expose an die Prozedur Übergeben.

Sourcecode

/*==========( Binary search word )==========*/
BiSearchWord: Procedure Expose stem.
Arg search, wPos

If DataType( wPos ) <> 'NUM' Then wPos = 1
found  = 0   /* Index of the found Item */
bottom = 1
top    = stem.0

Do While found = 0 & top >= bottom
  mean = (bottom + top) % 2
  srchVal = Word( stem.mean, wPos )
  If search = srchVal Then found = mean
  Else If search < srchVal Then top = mean - 1
  Else bottom = mean + 1
End

Return found
/*** End BiSearchWord ***/

Beispiel 1

stem. = "Z"
stem.0 = 20
stem.1 = "/* REXX */"
BiSearchWord( "REXX" )
Say found

Ergebnis 1

0

Beispiel 2

stem. = "Z"
stem.0 = 20
stem.1 = "/* REXX */"
found = BiSearchWord( "REXX", 2 )
Say found

Ergebnis 2

1
Your privacy: This web site has no cookies, no advertising and does not provide access data to anyone for any reason.
Copyright © Janosch R. Kowalczyk 1999, 2010. All rights reserved.
Most recent revision on 25 Feb 2010 (56) - 13:21:47.
Jakoxx Logo