Aer/tests/tokenizer.aer

37 lines
695 B
Plaintext

class StringTokenizer {
private string $token;
private string $delim;
public void __construct(string $str, string $delim = ' ') {
$this->token = strtok($str, $delim);
$this->delim = $delim;
}
public void __destruct() {
unset($this);
}
public bool hasMoreTokens() {
return ($this->token != NULL);
}
public string nextToken() {
string $current = $this->token;
$this->token = strtok($this->delim);
return $current;
}
}
class Program {
public void main() {
string $str = "This is:@\t\n a TEST!";
string $delim = " !@:\t\n";
object $st = new StringTokenizer($str, $delim);
while ($st->hasMoreTokens()) {
print($st->nextToken(), "\n");
}
unset($st);
}
}