@main[]
^windows-1251[]
...^oneOf[a;a,b,c]...
...^oneOf[a;ax,b,c]...
...^oneWord[Word]...
...^oneWord[wo rd]...
@oneOf[s;list][t] выдаёт строку, если строка она есть в списке(разделенном запятыми)
$t[^list.lsplit[,]]
^try{
^if(!^t.locate[piece;$s]){
^throw[user;$s;unknown]
}
$result[$s]
}{
^if($exception.type eq "user"){
$exception.handled(1)
$result['$s' not in list '$list']
}
}
@oneWord[s]
^try{
^if(^s.match[\W]){
^throw[user;$s;not word]
}
$result[$s]
}{
^if($exception.type eq "user"){
$exception.handled(1)
$result['$s' not a word]
}
}