/* rexx */
strings.1 = 85865487878
strings.2 = 'oewiopeoewirpo iep '
strings.3 = '4889jfkjdk'
strings.4 = 'hfhjh 767484'
strings.5 = '<&jZ>(){}'
strings.6 = '<&>(){}'
do i = 1 to 6
say has_alpha(strings.i) '-> alpha? ' "'"strings.i"'"
end
exit
has_alpha: procedure
parse upper arg string
if (length(string) = 0 | datatype(string) = 'NUM')
then
return 0
start = c2d( 'A' )
stop = c2d( 'Z' )
do while start <= stop
if ( pos(d2c(start) , string) \= 0 )
then
return 1
start = start +1
end
return 0
...which gives...
0 -> alpha? '85865487878'
1 -> alpha? 'oewiopeoewirpo iep '
1 -> alpha? '4889jfkjdk'
1 -> alpha? 'hfhjh 767484'
1 -> alpha? '<&jZ>(){}'
0 -> alpha? '<&>(){}'
|