Warning |
---|
Looking for the documentation on the newest versions of SIL Engine and the Simple Issue Language for Jira 8 for Server/Data Center? Click here ! |
Contents
Table of Contents |
---|
Arithmetic, Logical and Comparison Operators
Here is a list of the available operators in a SIL SIL™ program and detailed usage information.
...
For each operator and LHS type, we define two lists: valid types and convertible types. The list of convertible types is based on Type Conversionconversion. This creates three cases:
...
Operator | LHS type | Valid Types | Result | Explanations and Usage |
---|---|---|---|---|
+ | number | number | number | standard addition of numbers |
string | string | string | adds the string representation of the RHS operand at the end of the LHS string | |
boolean | Unsupported | |||
date | interval | date | adds the interval to the date and returns the result | |
interval | interval | interval | adds the two intervals and returns the result | |
date | date | adds the interval to the date and returns the result | ||
<type> [] | <type> | <type> [] | adds the RHS value to the LHS array, where <type> can be any type. | |
- | number | number | number | standard subtraction of numbers |
string | string | string | removes all occurrences of the RHS string in the LHS value | |
boolean | Unsupported | |||
date | date | interval | returns the interval difference between the two dates | |
interval | date | subtracts the RHS interval from the date and returns the value | ||
interval | interval | interval | standard interval subtraction | |
<type>[] | <type> | <type>[] | removes the first occurrence of the RHS value from the array; <type> can be any type. | |
* | number | number | number | standard multiplication of numbers |
interval | interval | multiplies the interval by the number of times specified by the LHS operand and returns the result | ||
number [] | number | number [] | multiplies each value in the LHS array with the number in the RHS operand and returns the result | |
string | Unsupported | |||
boolean | Unsupported | |||
date | Unsupported | |||
interval | number | interval | multiplies the interval by the number of times specified by the RHS operand and returns the result | |
<type>[] (except number) | Unsupported | |||
/ | number | number | number | standard division of numbers |
number [] | number | number [] | divides each value in the LHS array by the number in the RHS operand and returns the result | |
string | Unsupported | |||
boolean | Unsupported | |||
date | Unsupported | |||
interval | number | interval | divides the interval by the number specified in the RHS operand | |
<type>[] (except number) | Unsupported | |||
% | number | number | number | standard modulo division of numbers |
number [] | number | number [] | applies the modulo operator on each number in the LHS array with the number in the RHS operand and returns the results | |
string | Unsupported | |||
boolean | Unsupported | |||
date | Unsupported | |||
interval | Unsupported | |||
<type>[] (except number) | Unsupported |
Tip | ||
---|---|---|
You can also use the combined forms of the arithmetic operators with the attrib operator: +=, -=, *= and /=.
|
...
Operator | Operands | Return | Explanations and Usage | ||
---|---|---|---|---|---|
?: | boolean, <type>, <type> | <type> |
If <condition> is true, returns <ifTrueValue>, otherwise returns <ifFalseValue>. Note that <ifTrueValue> and <ifFalseValue> must have same type. |
...
Anchor | ||||
---|---|---|---|---|
|
...
The indexing operator can also be used with certain simple types (not arrays) and a specific value to provide additional functionality.
SIL SIL™ type | Index Value | Get | Get Return Type | Set |
---|---|---|---|---|
string | a number | Gets the character at the specified index in the string | string | Inserts a character at the specified index. If given a longer string, it will insert the first character of the string. |
date | "DAY" | Gets the day of month from the date | number | Unsupported |
"MONTH" | Gets the month from the date | number | Unsupported | |
"YEAR" | Gets the year from the date | number | Unsupported | |
"HOUR" | Gets the hour (0-23) from the date | number | Unsupported | |
"MINUTE" | Gets the minute (0-59) from the date | number | Unsupported | |
"SECOND" | Gets the seconds (0-59) from the date | number | Unsupported | |
"MILLISECOND" | Gets the milliseconds (0-999) from the date | number | Unsupported | |
"WEEK" | Gets the week number within the current year | number | Unsupported | |
"WEEKINMONTH" | Gets the week number within the current month | number | Unsupported | |
"TOMILLIS" | Gets the current time as UTC milliseconds from the epoch. | number | Unsupported | |
"DAYOFWEEK" | Gets the three letter format for the day of the week (e.g. "Mon", "Tue", "Wed" etc) | string | Unsupported | |
"MONTHNAME" | Gets the three letter format for the name of the month (e.g. "Jan", "Feb", "Mar", etc.) | string | Unsupported | |
interval | "WEEK" | Gets the number of whole weeks inside the interval (e.g. interval i = "1w 14d"; i["WEEK"] will return 3) | number | Unsupported |
"DAY" | Gets the number of whole days inside the interval (e.g. interval i = "1d 48h"; i["DAY"] will return 3) | number | Unsupported | |
"HOUR" | Gets the number of whole hours inside the interval (e.g. interval i = "1h 120m"; i["HOUR"] will return 3) | number | Unsupported | |
"MINUTE" | Gets the number of whole miuntes inside the interval (e.g. interval i = "1m 120s"; i["MINUTE"] will return 3) | number | Unsupported | |
"SECOND" | Gets the number of seconds inside the interval (e.g. interval i = "1h 1m 3s"; i["SECOND"] will return 3) | number | Unsupported | |
"TOMILLIS" | Gets the number of milliseconds inside the interval | number | Unsupported |