Help examples for the @ISxxx functions

  • This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn more.

samintz

Scott Mintz
May 20, 2008
1,204
11
Solon, OH, USA
#1
Whilst investing Steve's feature request, I tried to write a simple @CLASS
function that would return the type of the string using Steve's criteria.
I was surprised to find that a string of a floating point number was not
identified as numeric.

So I went to the help file under @ISDIGIT and @ISALNUM. Each one has
three examples listed. In the case of @ISDIGIT:


echo %@isdigit[0]
echo %@isdigit[123.456]
echo %@isdigit[-123]

Only the first example returns 1. The other two return 0. Based on the
description, that makes sense (ex 2 contains a period and ex 3 contains a
dash). However, it might be nice if the examples showed the expected
results and explained why.

I don't know what the intent of these functions are. If it's for parsing
purposes, then I think I'd be more interested in whether the string is
numeric as opposed to all the digits being numbers. Otherwise, if I'm
only looking at single characters and testing what that individual
character is, then I'd only want to look at the first character of a
string.

Mind you, based on the fact that I probably haven't used these functions
before, it's not all that big a deal to me.

-Scott
 

samintz

Scott Mintz
May 20, 2008
1,204
11
Solon, OH, USA
#3
Well, there you go then. I don't what you're always complaining about. ;)
-Scott





Quote:

> I don't know what the intent of these functions are. If it's for
> parsing purposes, then I think I'd be more interested in whether
> the string is numeric as opposed to all the digits being numbers.
Which is why there's a @NUMERIC[] function.
 
#4
From: samintz
...
| I don't know what the intent of these functions are. If it's for parsing
| purposes, then I think I'd be more interested in whether the string is
| numeric as opposed to all the digits being numbers. Otherwise, if I'm
| only looking at single characters and testing what that individual
| character is, then I'd only want to look at the first character of a
| string.

First, I appreciate your interest in my request. However, the issue came up when I revised one of my batch programs whose input string or strings are represenatations of keyboard keys that can be used as desktop hotkeys (when combined with modifiers, such as alt-ctrl-shift). My earlier version required a single string to contain only numbers, or only letters, or the label of a single function-key (F1 ... F12). It collects all keys in a single set before creating a sorted report. Today I enhanced it so all key labels can be combined into a single string, and had many IFF/ELSEIFF and SWITCH statements. There remains some ambiguity - F followed by a digit or two is considered a function key label if valid, so F1 is not equivalent to 1F (the former reports about a function key, the latter about keys F and 1). So indeed my application parses, but its domain does not include all numerics.

Rex:
On the help page for @NUMERIC you should add btw. the heading "Examples" and the table of examples that it assumes the US convention for decimal separator (period .) and thousands separator (comma ,).
--
Steve