SETNUM Assign or evaluate numeric variable(s)
<< Click to Display Table of Contents >> Navigation: Robo-FTP User's Guide > Script Programming > Script Commands > All Script Commands > SETNUM Assign or evaluate numeric variable(s) |
Syntax: |
SETNUM |
[ variable ] = [ num1 ] [ op ] [ num2 ] |
Arguments: |
[ variable ] |
Variable to assign; if the variable does not previously exist it is created. |
|
[ num1 ] |
Variable, string, or numeric constant defining the numeric value to assign to [ variable ] or the first value to evaluate arithmetically with [ value2 ] based on the numeric operator defined by [ op ]. |
|
[ op ] |
The arithmetic operator: + (addition), - (subtraction), x (multiplication), / (division), & (bitwise-AND), | (bitwise-OR), or % (modulo). |
|
[ num2 ] |
Variable, string, or numeric constant defining the second value to evaluate arithmetically with [ value1 ] based on the numeric operator defined by [ op ]. |
Options: |
none |
|
This script command performs basic integer arithmetic on variables or strings containing numeric values (e.g., digits 0 - 9) or numeric constants, and assigns the resulting numeric value to a variable. The command results in a syntax error if either [ num1 ] or [ num2 ] are non-numeric. The SETNUM command differs from the SET command in that SET does not limit the variable to contain only numeric digits (e.g., 0 - 9). Leading and trailing space characters are automatically removed.
Consider the following examples.
;; assign a numeric constant to a variable
SETNUM num = 100
;; assign a previously assigned variable to a variable
SETNUM num = other_num
;; add two variables
SETNUM num = var1 + var2
;; add two numeric constants
SETNUM num = 100 + 100
;; following syntax is equivalent
SETNUM num = "100" + "100"
;; add/subtract/multiply/divide constant and a variable
SETNUM num = other_num + 100
SETNUM num = other_num - 100
SETNUM num = other_num x 100
SETNUM num = other_num / 100
;; determine if the value of a variable is even or odd
SETNUM num = other_num % 2 ;; if even then num will be 0, if odd then 1
Important
The multiplication operator is ‘x’ (lower-case letter x) and not the expected ‘*’ (asterisk) character. This is because script file comments can begin with an asterisk.
If a numeric variable is to be used in file naming, or other string related operations, where a known string length (with leading zeroes) is desired, the SETNUM command (and INC and DEC commands) may be used as shown below.
;; leading zeroes are preserved when enclosed in quotes
SETNUM num = "001"
INC num
;; after incrementing, the result is "002"
DEC num
;; after decrementing, the result returns to "001"
Note: leading zeroes are lost if any other arithmetic operation is performed and saved to the num variable.
Related command(s): DEC, INC, IFNUM, SET
See also: Performing Variable Arithmetic and Numeric Comparisons