vipsi - the friendly vip script interpreter

Functions

Text functions

Vipsi command syntax: Functions
Functions
Glossary: Function
Functions
which Flow control: returnreturn Glossary: text, text_valtext values.

binstr

<text> = Text functions: binstrbinstr ( <number> )
<text> = Text functions: binstrbinstr ( <number>, <digits> )

Text functions: convert
Instructions: convert
Convert
integer Glossary: number, num_valnumber to Integer numbers: Binary
Floating point: Binary
Text functions: binstr
binary
Vipsi command syntax: Literals
Glossary: Literal
literal
representation.

Text functions: convert
Instructions: convert
Convert
<number> to a Integer numbers: Binary
Floating point: Binary
Text functions: binstr
binary
digit Data Types: Text
Text functions: string
string
. Resulting <text> is sized to fit Operators: Boolean Or with Variable "||="
Operators: Bitwise Or with Variable "|="
Operators: Bitwise Or "|"
Operators: Boolean Or "||"
or
sized according to <digits>, which must be a numeric Glossary: Valuevalue, truncating Operators: Boolean Or with Variable "||="
Operators: Bitwise Or with Variable "|="
Operators: Bitwise Or "|"
Operators: Boolean Or "||"
or
padding with '0's Operators: Boolean Or with Variable "||="
Operators: Bitwise Or with Variable "|="
Operators: Bitwise Or "|"
Operators: Boolean Or "||"
or
'1's to Flow control: if … then
Flow control: try … then
the
left.

Positive Glossary: Valuevalues are padded with '0's to Flow control: if … then
Flow control: try … then
the
left, negative Glossary: Valuevalues are printed as their -1-Operators: Bitwise Not "~"complement, as is common for Number literals: Integer numbersinteger numbers, Operators: Boolean And with Variable "&&="
Operators: Bitwise And with Variable "&="
Operators: Bitwise And "&"
Operators: Boolean And "&&"
and
padded with '1's to Flow control: if … then
Flow control: try … then
the
left. Flow control: if … thenIf no <digits> are given, Flow control: if … then
Flow control: try … then
then
negative Glossary: Valuevalues are always printed with Flow control: if … then
Flow control: try … then
the
most significant bit set, e.g. they always start with digit '1'.

e.g.:

vipsi> Text functions: binstrbinstr(10)  1010
vipsi> Text functions: binstrbinstr(10,8)  00001010
vipsi> Text functions: binstrbinstr(10,1)  0
vipsi> Text functions: binstrbinstr(-10,4)  0110
vipsi> Text functions: binstrbinstr(-10,8)  11110110
vipsi> Text functions: binstrbinstr(-10)  10110
vipsi> Text functions: binstrbinstr(1e10)  1001010100000010111110010000000000
vipsi>  

charstr

<text> = Text functions: charstrcharstr <number>
<text> = Text functions: charstrcharstr ( <number> )

Text functions: convert
Instructions: convert
convert
<number> to <text>. <number> is a unicode character code Operators: Boolean And with Variable "&&="
Operators: Bitwise And with Variable "&="
Operators: Bitwise And "&"
Operators: Boolean And "&&"
and
Flow control: if … then
Flow control: try … then
the
returned <text> is a Data Types: Text
Text functions: string
string
containing that character.

As with all Vipsi command syntax: Functions
Functions
Glossary: Function
functions
which take exactly one Vipsi command syntax: Arguments
Glossary: Arguments
argument
, Flow control: if … then
Flow control: try … then
the
Separators: Round brackets "( … )"
Functions with varying return types: bracket expression "()"
parenthesis
may be omitted, Flow control: if … then
Flow control: if … then
if the
Vipsi command syntax: Arguments
Glossary: Arguments
argument
is a simple Glossary: Valuevalue Operators: Boolean And with Variable "&&="
Operators: Bitwise And with Variable "&="
Operators: Bitwise And "&"
Operators: Boolean And "&&"
and
no Vipsi command syntax: Expressions
Glossary: Expression
expression
with operators.

e.g.:

Text functions: charstrcharstr 8364 = "€"

convert

<text> = Text functions: convert
Instructions: convert
convert
( <text> to|from <encoding> )

Text functions: convert
Instructions: convert
Convert
Data Types: Text
Item selector "[]": Text
Glossary: text, text_val
text
from Operators: Boolean Or with Variable "||="
Operators: Bitwise Or with Variable "|="
Operators: Bitwise Or "|"
Operators: Boolean Or "||"
or
to named encoding.

Flow control: if … then
Flow control: try … then
The
<encoding> must be a Vipsi command syntax: Identifiers (names)
Identifiers, names
Operators: Make Identifier "@"
Text functions: name
Glossary: Name, Identifier
name
, Operators: Bitwise Not "~"
Operators: Boolean Negation "!"
not
a Glossary: text, text_valtext value. That means: just Instructions: writewrite Flow control: if … then
Flow control: try … then
the
nickname here. Flow control: if … then
Flow control: try … then
The
converted Data Types: Text
Item selector "[]": Text
Glossary: text, text_val
text
is returned as result.

e.g.:

mytext = Text functions: convert
Instructions: convert
convert
( mytext to printable ); mytext = Text functions: convert
Instructions: convert
convert
( mytext to mac_roman ); mytext = Text functions: convert
Instructions: convert
convert
( mytext from html ); Instructions: putput "http://", Text functions: convert
Instructions: convert
convert
(mytext to url)

Flow control: if … thenIf you need calculated encodings, you may use Vipsi command syntax: Operators
Operators
Glossary: Operator
operator
@ to Text functions: convert
Instructions: convert
convert
a Data Types: Text
Item selector "[]": Text
Glossary: text, text_val
text
to a Vipsi command syntax: Identifiers (names)
Identifiers, names
Operators: Make Identifier "@"
Text functions: name
Glossary: Name, Identifier
name
:

Instructions: var
How does VScript::Value() work?: Var*&
var
myEncoding = "tab4" myText = Text functions: convert
Instructions: convert
convert
( myText to @(myEncoding) );
Text conversions:
Character set conversions:
Important note on conversion to|from other character sets:

Take care that you Flow control: do … loopdo no double conversion!

Converting to a certain character set Text functions: convert
Instructions: convert
converts
Flow control: if … then
Flow control: try … then
the
Data Types: Text
Item selector "[]": Text
Glossary: text, text_val
text
to Integer numbers: Binary
Floating point: Binary
Text functions: binstr
binary
data with all characters being bytes in range [0 .. 255], suitable for writing to Text functions: file
Instructions: file
file
Operators: Boolean Or with Variable "||="
Operators: Bitwise Or with Variable "|="
Operators: Bitwise Or "|"
Operators: Boolean Or "||"
or
stream in Integer numbers: Binary
Floating point: Binary
Text functions: binstr
binary
mode.

Converting from a certain character set expects Flow control: if … then
Flow control: try … then
the
Data Types: Text
Item selector "[]": Text
Glossary: text, text_val
text
to be Integer numbers: Binary
Floating point: Binary
Text functions: binstr
binary
data with all characters being bytes in range [0 .. 255], as Instructions: readread in Integer numbers: Binary
Floating point: Binary
Text functions: binstr
binary
mode from a Text functions: file
Instructions: file
file
Operators: Boolean Or with Variable "||="
Operators: Bitwise Or with Variable "|="
Operators: Bitwise Or "|"
Operators: Boolean Or "||"
or
stream.

Converting a Data Types: Text
Item selector "[]": Text
Glossary: text, text_val
text
to a certain character set an Flow control: if … then
Flow control: try … then
then
writing it with Instructions: putput to a Text functions: file
Instructions: file
file
Operators: Boolean Or with Variable "||="
Operators: Bitwise Or with Variable "|="
Operators: Bitwise Or "|"
Operators: Boolean Or "||"
or
stream, is certainly an error, because Instructions: putput most likely also performs a convert: Character set conversions:
convert: Character set conversions:
character set conversion
, by default to UTF-8. After having converted a character set by hand you must Instructions: writewrite Flow control: if … then
Flow control: try … then
the
data in Integer numbers: Binary
Floating point: Binary
Text functions: binstr
binary
mode, without any further conversion, e.g. with Vipsi command syntax: Instructions
Instructions
Glossary: Instruction
instruction
Instructions: writewrite Operators: Boolean Or with Variable "||="
Operators: Bitwise Or with Variable "|="
Operators: Bitwise Or "|"
Operators: Boolean Or "||"
or
using Vipsi command syntax: Instructions
Instructions
Glossary: Instruction
instruction
Text functions: file
Instructions: file
file
.

Flow control: if … then
Flow control: try … then
The
same is true for reading with Instructions: getget Operators: Boolean And with Variable "&&="
Operators: Bitwise And with Variable "&="
Operators: Bitwise And "&"
Operators: Boolean And "&&"
and
converting Flow control: if … then
Flow control: try … then
the
Instructions: readread Data Types: Text
Item selector "[]": Text
Glossary: text, text_val
text
from a certain character set, because Instructions: getget has most likely already performed a convert: Character set conversions:
convert: Character set conversions:
character set conversion
, by default from UTF-8. Flow control: if … thenIf you want to Text functions: convert
Instructions: convert
convert
Flow control: if … then
Flow control: try … then
the
data by hand you must Instructions: readread it in Integer numbers: Binary
Floating point: Binary
Text functions: binstr
binary
mode, e.g. with Vipsi command syntax: Instructions
Instructions
Glossary: Instruction
instruction
Instructions: readread Operators: Boolean Or with Variable "||="
Operators: Bitwise Or with Variable "|="
Operators: Bitwise Or "|"
Operators: Boolean Or "||"
or
Vipsi command syntax: Functions
Functions
Glossary: Function
function
Text functions: file
Instructions: file
file
.

e.g. UCS-4:

Converting Data Types: Text
Item selector "[]": Text
Glossary: text, text_val
text
to UCS-4 expands each character to 4 characters, each representable in 1 byte, suitable for writing in Integer numbers: Binary
Floating point: Binary
Text functions: binstr
binary
mode to a Text functions: file
Instructions: file
file
e.g. with Instructions: writewrite.

Converting Data Types: Text
Item selector "[]": Text
Glossary: text, text_val
text
from UCS-4 combines every 4 characters into one character, assuming that Flow control: if … then
Flow control: try … then
the
source Data Types: Text
Item selector "[]": Text
Glossary: text, text_val
text
only contains bytes e.g. Instructions: readread in Integer numbers: Binary
Floating point: Binary
Text functions: binstr
binary
mode with Instructions: readread.

Instructions: var
How does VScript::Value() work?: Var*&
var
a = Text functions: file
Instructions: file
file
"filename"
Operators: Boolean And with Variable "&&="
Operators: Bitwise And with Variable "&="
Operators: Bitwise And "&"
Operators: Boolean And "&&"
and
Text functions: file
Instructions: file
file
"filename" = a
also Instructions: readread/Instructions: writewrite Integer numbers: Binary
Floating point: Binary
Text functions: binstr
binary
data Operators: Boolean And with Variable "&&="
Operators: Bitwise And with Variable "&="
Operators: Bitwise And "&"
Operators: Boolean And "&&"
and
are suitable targets for a by-hand conversion.

Instructions: getget Operators: Boolean Or with Variable "||="
Operators: Bitwise Or with Variable "|="
Operators: Bitwise Or "|"
Operators: Boolean Or "||"
or
Instructions: putput already perform a conversion from|to UTF-8 (may be changed with Functions with varying return types: ioctl
Instructions: ioctl
ioctl
- Operators: Bitwise Not "~"
Operators: Boolean Negation "!"
not
yet implemented in version 0.8.7). Applying a conversion after reading with Instructions: getget / before writing with Instructions: putput without having disabled any conversion is certainly an error.

datestr

<text> = Text functions: datestrdatestr ( <number> )
<text> = Text functions: datestrdatestr <number>

Text functions: convert
Instructions: convert
Converts
numeric date format to readable <text>. Flow control: if … then
Flow control: try … then
The
reverse Vipsi command syntax: Functions
Functions
Glossary: Function
function
is Numeric functions: datevaldateval. Flow control: if … then
Flow control: try … then
The
numeric date is expected to be in Greenwich mean time UTC+0:00.

As with all Vipsi command syntax: Functions
Functions
Glossary: Function
functions
which take exactly one Vipsi command syntax: Arguments
Glossary: Arguments
argument
, Flow control: if … then
Flow control: try … then
the
Separators: Round brackets "( … )"
Functions with varying return types: bracket expression "()"
parenthesis
may be omitted, Flow control: if … then
Flow control: if … then
if the
Vipsi command syntax: Arguments
Glossary: Arguments
argument
is a simple Glossary: Valuevalue Operators: Boolean And with Variable "&&="
Operators: Bitwise And with Variable "&="
Operators: Bitwise And "&"
Operators: Boolean And "&&"
and
no Vipsi command syntax: Expressions
Glossary: Expression
expression
with Vipsi command syntax: Operators
Operators
Glossary: Operator
operators
.

Operators: Bitwise Not "~"
Operators: Boolean Negation "!"
Note
: applying of List functions: localslocal time zone Operators: Bitwise Not "~"
Operators: Boolean Negation "!"
not
yet implemented. Actually Numeric functions: nownow Flow control: returnreturns List functions: localslocal time too, so List functions: thisthis is Operators: Make Identifier "@"at least consistent.

e.g.:

Text functions: datestrdatestr 0 = "1970-01-01 01:00:00"

file

<text> = Text functions: file
Instructions: file
file
<filename> <text> = Text functions: file
Instructions: file
file
( <filename> )

Instructions: readRead Text functions: file
Instructions: file
file
.

Instructions: readRead Text functions: file
Instructions: file
file
<filename> in Integer numbers: Binary
Floating point: Binary
Text functions: binstr
binary
mode. Flow control: returnReturns a <text> Glossary: Valuevalue. All character codes are in range 0 ... 255. You should Text functions: convert
Instructions: convert
convert
character encoding afterwards manually with Flow control: if … then
Flow control: try … then
the
Vipsi command syntax: Functions
Functions
Glossary: Function
function
Operators: Boolean Or with Variable "||="
Operators: Bitwise Or with Variable "|="
Operators: Bitwise Or "|"
Operators: Boolean Or "||"
or
Vipsi command syntax: Instructions
Instructions
Glossary: Instruction
instruction
Text functions: convert
Instructions: convert
convert
, most likely from utf8.

As with all Vipsi command syntax: Functions
Functions
Glossary: Function
functions
which take exactly one Vipsi command syntax: Arguments
Glossary: Arguments
argument
, Flow control: if … then
Flow control: try … then
the
Separators: Round brackets "( … )"
Functions with varying return types: bracket expression "()"
parenthesis
may be omitted, Flow control: if … then
Flow control: if … then
if the
Vipsi command syntax: Arguments
Glossary: Arguments
argument
is a simple Glossary: Valuevalue Operators: Boolean And with Variable "&&="
Operators: Bitwise And with Variable "&="
Operators: Bitwise And "&"
Operators: Boolean And "&&"
and
no Vipsi command syntax: Expressions
Glossary: Expression
expression
with Vipsi command syntax: Operators
Operators
Glossary: Operator
operators
.

There is also an Vipsi command syntax: Instructions
Instructions
Glossary: Instruction
instruction
Text functions: file
Instructions: file
file
which Instructions: writewrites to a Text functions: file
Instructions: file
file
.

e.g.

Instructions: var
How does VScript::Value() work?: Var*&
var
myText = Text functions: file
Instructions: file
file
"~/.myPrefs/rcData" Text functions: convert
Instructions: convert
convert
myText from utf8 ... Text functions: convert
Instructions: convert
convert
myText to utf8 Text functions: file
Instructions: file
file
"~/.myPrefs/rcData" = myText

fullpath

<text> = Text functions: fullpathfullpath ( <text> )
<text> = Text functions: fullpathfullpath <text>

Instructions: getGet fully resolved, absolute path for partial path. Expands "./" Operators: Boolean And with Variable "&&="
Operators: Bitwise And with Variable "&="
Operators: Bitwise And "&"
Operators: Boolean And "&&"
and
"../", symbolic Text functions: link
Instructions: link
links
, "~" Operators: Boolean And with Variable "&&="
Operators: Bitwise And with Variable "&="
Operators: Bitwise And "&"
Operators: Boolean And "&&"
and
relative path to Flow control: if … then
Flow control: try … then
the
absolute Text functions: file
Instructions: file
file
Operators: Boolean Or with Variable "||="
Operators: Bitwise Or with Variable "|="
Operators: Bitwise Or "|"
Operators: Boolean Or "||"
or
directory path.

Flow control: if … then
Flow control: try … then
The
path must actually Numeric functions: existsexist, Operators: Boolean Or with Variable "||="
Operators: Bitwise Or with Variable "|="
Operators: Bitwise Or "|"
Operators: Boolean Or "||"
or
List functions: thisthis Vipsi command syntax: Functions
Functions
Glossary: Function
function
throws an error, which may be catched with Flow control: try … thentry. Only Flow control: if … then
Flow control: try … then
the
last path component is allowed to be non-existent, which for instance may be a Operators: Multiply "*"wildcard pattern.

Flow control: if … then
Flow control: if … then
If the
fully dereferenced path refers to a directory, Flow control: if … then
Flow control: try … then
then
Flow control: if … then
Flow control: try … then
the
returned path always Flow control: end
Shell Immediate Commands: exit, quit, end
ends
with a trailing slash "/".

As with all Vipsi command syntax: Functions
Functions
Glossary: Function
functions
which take exactly one Vipsi command syntax: Arguments
Glossary: Arguments
argument
, Flow control: if … then
Flow control: try … then
the
Separators: Round brackets "( … )"
Functions with varying return types: bracket expression "()"
parenthesis
may be omitted, Flow control: if … then
Flow control: if … then
if the
Vipsi command syntax: Arguments
Glossary: Arguments
argument
is a simple Glossary: Valuevalue Operators: Boolean And with Variable "&&="
Operators: Bitwise And with Variable "&="
Operators: Bitwise And "&"
Operators: Boolean And "&&"
and
no Vipsi command syntax: Expressions
Glossary: Expression
expression
with Vipsi command syntax: Operators
Operators
Glossary: Operator
operators
.

e.g.:

Text functions: fullpathfullpath "~" = "/home/kio/"

hexstr

<text> = Text functions: hexstrhexstr ( <number> )
<text> = Text functions: hexstrhexstr ( <number>, <digits> )

Text functions: convert
Instructions: convert
Convert
integer Glossary: number, num_valnumber to Integer numbers: Hexadecimal
Floating point: Hexadecimal
Text functions: hexstr
hexadecimal
Vipsi command syntax: Literals
Glossary: Literal
literal
representation.

Text functions: convert
Instructions: convert
Convert
<number> to a Integer numbers: Hexadecimal
Floating point: Hexadecimal
Text functions: hexstr
hexadecimal
digit Data Types: Text
Text functions: string
string
. Resulting <text> is sized to fit Operators: Boolean Or with Variable "||="
Operators: Bitwise Or with Variable "|="
Operators: Bitwise Or "|"
Operators: Boolean Or "||"
or
sized according to <digits>, which must be a numeric Glossary: Valuevalue too, truncating Operators: Boolean Or with Variable "||="
Operators: Bitwise Or with Variable "|="
Operators: Bitwise Or "|"
Operators: Boolean Or "||"
or
padding '0's Operators: Boolean Or with Variable "||="
Operators: Bitwise Or with Variable "|="
Operators: Bitwise Or "|"
Operators: Boolean Or "||"
or
'F's to Flow control: if … then
Flow control: try … then
the
left.

Positive Glossary: Valuevalues are padded with '0's to Flow control: if … then
Flow control: try … then
the
left, negative Glossary: Valuevalues are printed as their -1-Operators: Bitwise Not "~"complement, as is common for Number literals: Integer numbersinteger numbers, Operators: Boolean And with Variable "&&="
Operators: Bitwise And with Variable "&="
Operators: Bitwise And "&"
Operators: Boolean And "&&"
and
padded with 'F's to Flow control: if … then
Flow control: try … then
the
left. Flow control: if … thenIf no <digits> are given, Flow control: if … then
Flow control: try … then
then
negative Glossary: Valuevalues are always printed with Flow control: if … then
Flow control: try … then
the
most significant bit set, e.g. they always start with a digit in range '8' to 'F'.

e.g.:

vipsi> Text functions: hexstrhexstr(240)  F0
vipsi> Text functions: hexstrhexstr(240,4)  00F0
vipsi> Text functions: hexstrhexstr(240,1)  0
vipsi> Text functions: hexstrhexstr(-240,4)  FF10
vipsi> Text functions: hexstrhexstr(-240,8)  FFFFFF10
vipsi> Text functions: hexstrhexstr(-240)  F10
vipsi> Text functions: hexstrhexstr(1e20)  56BC75E2D63100000
vipsi>  

info

<text> = Text functions: info
Shell Immediate Commands: info
info
<text> <text> = Text functions: info
Shell Immediate Commands: info
info
( <text> )

Querry information on a built-in List functions: words
Shell Immediate Commands: words
word
.

Flow control: returnReturns a Glossary: text, text_valtext value.

Flow control: returnReturns usage information on The Built-in Wordsthe built-in word which Vipsi command syntax: Identifiers (names)
Identifiers, names
Operators: Make Identifier "@"
Text functions: name
Glossary: Name, Identifier
name
was passed in Flow control: if … then
Flow control: try … then
the
Data Types: Text
Item selector "[]": Text
Glossary: text, text_val
text
Vipsi command syntax: Arguments
Glossary: Arguments
argument
. (Version 0.8.7)

Operators: Bitwise Not "~"
Operators: Boolean Negation "!"
Note
: List functions: thisthis may be changed to a Data Types: Lists and arrays
Item selector "[]": Lists
Glossary: list, list_val
list
in Flow control: if … then
Flow control: try … then
the
future.

As with all Vipsi command syntax: Functions
Functions
Glossary: Function
functions
which accept exactly one Vipsi command syntax: Arguments
Glossary: Arguments
argument
Flow control: if … then
Flow control: try … then
the
Separators: Round brackets "( … )"
Functions with varying return types: bracket expression "()"
parenthesis
are optional Operators: Boolean And with Variable "&&="
Operators: Bitwise And with Variable "&="
Operators: Bitwise And "&"
Operators: Boolean And "&&"
and
may be omitted Flow control: if … then
Flow control: if … then
if the
Vipsi command syntax: Arguments
Glossary: Arguments
argument
is no Vipsi command syntax: Expressions
Glossary: Expression
expression
with Vipsi command syntax: Operators
Operators
Glossary: Operator
operators
.

e.g.:

vipsi> Instructions: putput Constants: nlnl,Text functions: info
Shell Immediate Commands: info
info
("Flow control: do … loopdo")
syntax: Flow control: do … loop
Flow control: do … loop
do … loop
repeat Vipsi command syntax: Statements
Glossary: Statement
statements
between Flow control: do … loopdo Operators: Boolean And with Variable "&&="
Operators: Bitwise And with Variable "&="
Operators: Bitwise And "&"
Operators: Boolean And "&&"
and
Flow control: do … looploop. e.g.: Instructions: var
How does VScript::Value() work?: Var*&
var
i=1; Flow control: do … loopdo; Instructions: putput i; Flow control: whilewhile i<10; i++; Flow control: do … looploop; vipsi>

There is also a Shell Immediate Commands
Invariants: Shell immediate commands
shell immediate command
Text functions: info
Shell Immediate Commands: info
info
which prints Flow control: if … then
Flow control: try … then
the
Data Types: Text
Item selector "[]": Text
Glossary: text, text_val
text
.

In order to Operators: Call procedure "()"call function Text functions: info
Shell Immediate Commands: info
info
in Flow control: if … then
Flow control: try … then
the
shell, you must prevent that Text functions: info
Shell Immediate Commands: info
info
is recognized as Flow control: if … then
Flow control: try … then
the
Shell Immediate Commands
Invariants: Shell immediate commands
shell immediate command
. List functions: thisThis can be done by Operators: Bitwise Not "~"
Operators: Boolean Negation "!"
not
starting in column 1, e.g. prepending a space Operators: Boolean Or with Variable "||="
Operators: Bitwise Or with Variable "|="
Operators: Bitwise Or "|"
Operators: Boolean Or "||"
or
";", Operators: Boolean Or with Variable "||="
Operators: Bitwise Or with Variable "|="
Operators: Bitwise Or "|"
Operators: Boolean Or "||"
or
by using Instructions: putput just like you had to Flow control: do … loopdo in a Example Scripts: CGI Scripts
Example Scripts: Scripts
script
.

leftstr

<text> = Text functions: leftstrleftstr ( <text>, <number> )

Flow control: returnReturns substring consisting of <number> characters from Flow control: if … then
Flow control: try … then
the
left side of Flow control: if … then
Flow control: try … then
the
<text>.

Flow control: if … thenIf <number> reaches beyond Flow control: if … then
Flow control: try … then
the
Flow control: end
Shell Immediate Commands: exit, quit, end
end
of Flow control: if … then
Flow control: try … then
the
Data Types: Text
Item selector "[]": Text
Glossary: text, text_val
text
, Flow control: if … then
Flow control: try … then
then
Flow control: if … then
Flow control: try … then
the
returned Data Types: Text
Item selector "[]": Text
Glossary: text, text_val
text
is truncated to Flow control: if … then
Flow control: try … then
the
dir: lengthlength of Flow control: if … then
Flow control: try … then
the
source Data Types: Text
Item selector "[]": Text
Glossary: text, text_val
text
.

Numeric functions: indexIndexes start Operators: Make Identifier "@"at 1.

e.g.:

Text functions: leftstrleftstr ( "1234567890", 3 )  =  "123"
Text functions: leftstrleftstr ( "1234567890", 99 ) =  "1234567890"
Text functions: leftstrleftstr ( "1234567890", -5 ) =  ""

Functionally equivalent to

<text> = [ to <number> ]

link

<text> = Text functions: link
Instructions: link
link
<path> <text> = Text functions: link
Instructions: link
link
( <path> )

Instructions: readRead contents of symbolic Text functions: link
Instructions: link
link
.

Instructions: readRead Flow control: if … then
Flow control: try … then
the
contents of Flow control: if … then
Flow control: try … then
the
symbolic Text functions: link
Instructions: link
link
(Operators: Bitwise Not "~"
Operators: Boolean Negation "!"
not
Flow control: if … then
Flow control: try … then
the
Text functions: file
Instructions: file
file
it may point to) Operators: Make Identifier "@"at Text functions: file
Instructions: file
file
system position <path>. Flow control: returnReturns a <text> Glossary: Valuevalue. <path> must be a Glossary: text, text_valtext value Operators: Boolean And with Variable "&&="
Operators: Bitwise And with Variable "&="
Operators: Bitwise And "&"
Operators: Boolean And "&&"
and
may be a relative Operators: Boolean Or with Variable "||="
Operators: Bitwise Or with Variable "|="
Operators: Bitwise Or "|"
Operators: Boolean Or "||"
or
absolute path, contain symbolic Text functions: link
Instructions: link
links
, Operators: Boolean Or with Variable "||="
Operators: Bitwise Or with Variable "|="
Operators: Bitwise Or "|"
Operators: Boolean Or "||"
or
start with "~" for Flow control: if … then
Flow control: try … then
the
user's home directory. All symbolic Text functions: link
Instructions: link
links
are followed, except Flow control: if … then
Flow control: try … then
the
last one.

As with all Vipsi command syntax: Functions
Functions
Glossary: Function
functions
which take exactly one Vipsi command syntax: Arguments
Glossary: Arguments
argument
, Flow control: if … then
Flow control: try … then
the
Separators: Round brackets "( … )"
Functions with varying return types: bracket expression "()"
parenthesis
may be omitted, Flow control: if … then
Flow control: if … then
if the
Vipsi command syntax: Arguments
Glossary: Arguments
argument
is a simple Glossary: Valuevalue Operators: Boolean And with Variable "&&="
Operators: Bitwise And with Variable "&="
Operators: Bitwise And "&"
Operators: Boolean And "&&"
and
no Vipsi command syntax: Expressions
Glossary: Expression
expression
with Vipsi command syntax: Operators
Operators
Glossary: Operator
operators
.

There is also an Vipsi command syntax: Instructions
Instructions
Glossary: Instruction
instruction
Text functions: link
Instructions: link
link
which sets a Text functions: link
Instructions: link
link
.

e.g.

Instructions: var
How does VScript::Value() work?: Var*&
var
myLink = "zzz" Instructions: putput "Text functions: link
Instructions: link
link
", myLink, "contains ", Text functions: link
Instructions: link
link
myLink, "which resolves to ", Text functions: fullpathfullpath myLink

lowerstr

<text> = Text functions: lowerstrlowerstr ( <text> )
<text> = Text functions: lowerstrlowerstr <text>

Text functions: convert
Instructions: convert
Convert
<text> to all Text functions: lowerstrlowercase characters.

Currently works with all unicode characters in range [0 ... $FFFF]. There are a few ones beyond, which are Operators: Bitwise Not "~"
Operators: Boolean Negation "!"
not
yet converted.

As with all Vipsi command syntax: Functions
Functions
Glossary: Function
functions
which take exactly one Vipsi command syntax: Arguments
Glossary: Arguments
argument
, Flow control: if … then
Flow control: try … then
the
Separators: Round brackets "( … )"
Functions with varying return types: bracket expression "()"
parenthesis
may be omitted, Flow control: if … then
Flow control: if … then
if the
Vipsi command syntax: Arguments
Glossary: Arguments
argument
is a simple Glossary: Valuevalue Operators: Boolean And with Variable "&&="
Operators: Bitwise And with Variable "&="
Operators: Bitwise And "&"
Operators: Boolean And "&&"
and
no Vipsi command syntax: Expressions
Glossary: Expression
expression
with Vipsi command syntax: Operators
Operators
Glossary: Operator
operators
.

e.g.

Text functions: lowerstrlowerstr "Hello World!"    = "hello world!"
Text functions: lowerstrlowerstr("Hello"#"World!") = "helloworld!"

midstr

<text> = Text functions: midstrmidstr ( <text>, <index>, <number> )
<text> = Text functions: midstrmidstr ( <text>, <index> )

Flow control: returnReturn substring starting Operators: Make Identifier "@"at <index> Operators: Boolean And with Variable "&&="
Operators: Bitwise And with Variable "&="
Operators: Bitwise And "&"
Operators: Boolean And "&&"
and
including Flow control: if … then
Flow control: try … then
the
Flow control: nextnext <number> characters. Numeric functions: indexIndex must be a numeric Glossary: Valuevalue.

Flow control: if … then
Flow control: if … then
If the
dir: lengthlength is omitted, Flow control: if … then
Flow control: try … then
then
Flow control: returnreturn all Data Types: Text
Item selector "[]": Text
Glossary: text, text_val
text
up to Flow control: if … then
Flow control: try … then
the
Flow control: end
Shell Immediate Commands: exit, quit, end
end
. Flow control: if … thenIf <number> reaches beyond Flow control: if … then
Flow control: try … then
the
Flow control: end
Shell Immediate Commands: exit, quit, end
end
of Flow control: if … then
Flow control: try … then
the
source Data Types: Text
Item selector "[]": Text
Glossary: text, text_val
text
, Flow control: if … then
Flow control: try … then
then
Flow control: if … then
Flow control: try … then
the
returned Data Types: Text
Item selector "[]": Text
Glossary: text, text_val
text
is truncated. Flow control: if … thenIf <index> already sterts behind Data Types: Text
Item selector "[]": Text
Glossary: text, text_val
text
Flow control: end
Shell Immediate Commands: exit, quit, end
end
, Flow control: if … then
Flow control: try … then
then
Flow control: if … then
Flow control: try … then
the
returned Data Types: Text
Item selector "[]": Text
Glossary: text, text_val
text
is empty. Flow control: if … thenIf Numeric functions: indexindex points to a position before Flow control: if … then
Flow control: try … then
the
beginning of Flow control: if … then
Flow control: try … then
the
Data Types: Text
Item selector "[]": Text
Glossary: text, text_val
text
, Flow control: if … then
Flow control: try … then
then
Numeric functions: indexindex is set to 1 Operators: Boolean And with Variable "&&="
Operators: Bitwise And with Variable "&="
Operators: Bitwise And "&"
Operators: Boolean And "&&"
and
Flow control: if … then
Flow control: try … then
the
<number> is reduced accordingly.

Numeric functions: indexIndexes start Operators: Make Identifier "@"at 1.

e.g.:

Text functions: midstrmidstr ( "1234567890", 3, 4 )  =  "3456"
Text functions: midstrmidstr ( "1234567890", 8, 99 ) =  "890"
Text functions: midstrmidstr ( "1234567890", 5 )     =  "567890"
Text functions: midstrmidstr ( "1234567890", 8, -4 ) =  ""
Text functions: midstrmidstr ( "1234567890", -4, 8 ) =  "123"

name

<text> = Vipsi command syntax: Identifiers (names)
Identifiers, names
Operators: Make Identifier "@"
Text functions: name
Glossary: Name, Identifier
name
<variable> <text> = Vipsi command syntax: Identifiers (names)
Identifiers, names
Operators: Make Identifier "@"
Text functions: name
Glossary: Name, Identifier
name
( <variable> )

Flow control: returnReturn vipsi - the friendly one.: The namethe name of a <variable>.

You will in most cases want to querry vipsi - the friendly one.: The namethe names of Data Types: Lists and arrays
Item selector "[]": Lists
Glossary: list, list_val
list
items.

As with all Vipsi command syntax: Functions
Functions
Glossary: Function
functions
which take exactly one Vipsi command syntax: Arguments
Glossary: Arguments
argument
, Flow control: if … then
Flow control: try … then
the
Separators: Round brackets "( … )"
Functions with varying return types: bracket expression "()"
parenthesis
may be omitted, Flow control: if … then
Flow control: if … then
if the
Vipsi command syntax: Arguments
Glossary: Arguments
argument
is a simple Glossary: Valuevalue Operators: Boolean And with Variable "&&="
Operators: Bitwise And with Variable "&="
Operators: Bitwise And "&"
Operators: Boolean And "&&"
and
no Vipsi command syntax: Expressions
Glossary: Expression
expression
with Vipsi command syntax: Operators
Operators
Glossary: Operator
operators
.

e.g.:

Instructions: putput "a[0] is named: ", Vipsi command syntax: Identifiers (names)
Identifiers, names
Operators: Make Identifier "@"
Text functions: name
Glossary: Name, Identifier
name
a[0], Constants: nlnl

replace

<text> = Text functions: replace
Instructions: replace
replace
( <text>, <oldtext>, <newtext> )

Text functions: replace
Instructions: replace
Replace
in <text> any occurance of <oldtext> with <newtext>. Flow control: if … then
Flow control: try … then
The
converted Data Types: Text
Item selector "[]": Text
Glossary: text, text_val
text
is returned as result.

Flow control: if … then
Flow control: try … then
The
source Data Types: Text
Item selector "[]": Text
Glossary: text, text_val
text
is scanned from left to right Operators: Boolean And with Variable "&&="
Operators: Bitwise And with Variable "&="
Operators: Bitwise And "&"
Operators: Boolean And "&&"
and
replaced Data Types: Text
Item selector "[]": Text
Glossary: text, text_val
text
is Operators: Bitwise Not "~"
Operators: Boolean Negation "!"
not
scanned again. Flow control: if … then
Flow control: if … then
If the
search Data Types: Text
Item selector "[]": Text
Glossary: text, text_val
text
<oldtext> is an empty Data Types: Text
Text functions: string
string
, Flow control: if … then
Flow control: try … then
then
nothing is done.

version 0.8.7: Text functions: replace
Instructions: replace
replace
Flow control: do … loopdoes Operators: Bitwise Not "~"
Operators: Boolean Negation "!"
not
yet work on Data Types: Lists and arrays
Item selector "[]": Lists
Glossary: list, list_val
lists
. List functions: thisthis will be implemented in Flow control: if … then
Flow control: try … then
the
near future.

There is also an Vipsi command syntax: Instructions
Instructions
Glossary: Instruction
instruction
Text functions: replace
Instructions: replace
replace
which Text functions: replace
Instructions: replace
replaces
Flow control: if … then
Flow control: try … then
the
target Data Types: Text
Item selector "[]": Text
Glossary: text, text_val
text
Glossary: Variable, var_refvariable.

e.g.:

Instructions: putput Text functions: replace
Instructions: replace
replace
( my_email_addr, "@", "&#64;" ) // obscure mailto Text functions: link
Instructions: link
link

rightstr

<text> = Text functions: rightstrrightstr ( <text>, <number> )

Flow control: returnReturns substring consisting of <number> characters from Flow control: if … then
Flow control: try … then
the
right side of Flow control: if … then
Flow control: try … then
the
<text>. Flow control: if … thenIf Glossary: number, num_valnumber is larger than Flow control: if … then
Flow control: try … then
the
Data Types: Text
Item selector "[]": Text
Glossary: text, text_val
text
dir: lengthlength, Flow control: if … then
Flow control: try … then
then
Flow control: if … then
Flow control: try … then
the
returned Data Types: Text
Item selector "[]": Text
Glossary: text, text_val
text
is truncated to Flow control: if … then
Flow control: try … then
the
source Data Types: Text
Item selector "[]": Text
Glossary: text, text_val
text
dir: lengthlength.

e.g.:

Text functions: rightstrrightstr ( "1234567890", 3 )  =  "890"
Text functions: rightstrrightstr ( "1234567890", 99 ) =  "1234567890"
Text functions: rightstrrightstr ( "1234567890", -5 ) =  ""

spacestr

<text> = Text functions: spacestrspacestr ( <number> )
<text> = Text functions: spacestrspacestr ( <number>, <pattern> )

Flow control: returnReturn a Data Types: Text
Item selector "[]": Text
Glossary: text, text_val
text
filled with <number> spaces.

Text functions: spacestrspacestr optionally accepts a fill pattern, which must be a Glossary: text, text_valtext value. Flow control: if … thenIf List functions: thisthis pattern is longer than 1 character, Flow control: if … then
Flow control: try … then
then
Flow control: if … then
Flow control: try … then
the
resulting Data Types: Text
Item selector "[]": Text
Glossary: text, text_val
text
will be <number> * Numeric functions: countcount(<pattern>) characters long. Flow control: if … then
Flow control: if … then
If the
fill pattern is an empty Data Types: Text
Item selector "[]": Text
Glossary: text, text_val
text
, Flow control: if … then
Flow control: try … then
then
Flow control: if … then
Flow control: try … then
the
result is an empty Data Types: Text
Item selector "[]": Text
Glossary: text, text_val
text
too.

e.g.:

Instructions: var
How does VScript::Value() work?: Var*&
var
spc=Text functions: spacestrspacestr(77); Instructions: var
How does VScript::Value() work?: Var*&
var
foo=Text functions: spacestrspacestr(123,""); Instructions: putput Numeric functions: countcount(foo); Instructions: putput Text functions: spacestrspacestr(100,"hello!");

string

<text> = Data Types: Text
Text functions: string
string
( <value> ) <text> = Data Types: Text
Text functions: string
string
<value>

Text functions: convert
Instructions: convert
Converts
Flow control: if … then
Flow control: try … then
the
<value> to <text> Data Types: Text
Item selector "[]": Text
Glossary: text, text_val
text
representation. Flow control: if … thenIf <value> is already a Data Types: Text
Item selector "[]": Text
Glossary: text, text_val
text
, Flow control: if … then
Flow control: try … then
then
Flow control: if … then
Flow control: try … then
the
result is just that Data Types: Text
Item selector "[]": Text
Glossary: text, text_val
text
. Vipsi command syntax: Procedures
Data Types: Procedures
Glossary: Procedure
Procedures
, Data Types: Lists and arrays
Item selector "[]": Lists
Glossary: list, list_val
lists
Operators: Boolean And with Variable "&&="
Operators: Bitwise And with Variable "&="
Operators: Bitwise And "&"
Operators: Boolean And "&&"
and
Data Types: Numbersnumbers are converted to their Vipsi command syntax: Literals
Glossary: Literal
literal
representation: Vipsi command syntax: Procedures
Data Types: Procedures
Glossary: Procedure
procedures
are disassembled, Data Types: Lists and arrays
Item selector "[]": Lists
Glossary: list, list_val
lists
are converted to printable Data Types: Text
Item selector "[]": Text
Glossary: text, text_val
text
Operators: Boolean And with Variable "&&="
Operators: Bitwise And with Variable "&="
Operators: Bitwise And "&"
Operators: Boolean And "&&"
and
Data Types: Numbersnumbers are converted to integer, Number literals: Floating pointfloating point Operators: Boolean Or with Variable "||="
Operators: Bitwise Or with Variable "|="
Operators: Bitwise Or "|"
Operators: Boolean Or "||"
or
scientific Number literals: Decimal
Integer numbers: Decimal
Floating point: Decimal
decimal
notation as required. Flow control: if … then
Flow control: try … then
The
conversion guarantees that Flow control: if … then
Flow control: try … then
the
Glossary: number, num_valnumber, when re-interpreted, will yield Flow control: if … then
Flow control: try … then
the
exact same Glossary: number, num_valnumber as before.

As with all Vipsi command syntax: Functions
Functions
Glossary: Function
functions
which take exactly one Vipsi command syntax: Arguments
Glossary: Arguments
argument
, Flow control: if … then
Flow control: try … then
the
Separators: Round brackets "( … )"
Functions with varying return types: bracket expression "()"
parenthesis
may be omitted, Flow control: if … then
Flow control: if … then
if the
Vipsi command syntax: Arguments
Glossary: Arguments
argument
is a simple Glossary: Valuevalue Operators: Boolean And with Variable "&&="
Operators: Bitwise And with Variable "&="
Operators: Bitwise And "&"
Operators: Boolean And "&&"
and
no Vipsi command syntax: Expressions
Glossary: Expression
expression
with Vipsi command syntax: Operators
Operators
Glossary: Operator
operators
.

e.g.:

Data Types: Text
Text functions: string
string
33 = "33" Data Types: Text
Text functions: string
string
(47+11) = "58" Data Types: Text
Text functions: string
string
(Instructions: procproc(a){Instructions: putput a}) = "Instructions: procproc ( a ) { Instructions: putput a } " Data Types: Text
Text functions: string
string
({a=1,b=2,"x"}) = "{ a=1, b=2, \"x\" }" Data Types: Text
Text functions: string
string
("anton") = "anton"

substr

<text> = Text functions: substrsubstr ( <text>, <startindex>, <endindex> )
<text> = Text functions: substrsubstr ( <text>, <startindex> )

Flow control: returnReturn substring from <startindex> to <endindex>.

Flow control: returnReturns substring from start Numeric functions: indexindex to Flow control: end
Shell Immediate Commands: exit, quit, end
end
Numeric functions: indexindex inclusive, resulting in <startindex>-<endindex>+1 characters. Flow control: if … then
Flow control: if … then
If the
Flow control: end
Shell Immediate Commands: exit, quit, end
end
Numeric functions: indexindex is omitted, Flow control: if … then
Flow control: try … then
then
Flow control: returnreturn all characters to Flow control: if … then
Flow control: try … then
the
Flow control: end
Shell Immediate Commands: exit, quit, end
end
of Data Types: Text
Item selector "[]": Text
Glossary: text, text_val
text
.

Numeric functions: indexIndexes start Operators: Make Identifier "@"at 1.

Flow control: if … then
Flow control: try … then
The
start Operators: Boolean And with Variable "&&="
Operators: Bitwise And with Variable "&="
Operators: Bitwise And "&"
Operators: Boolean And "&&"
and
Flow control: end
Shell Immediate Commands: exit, quit, end
end
Numeric functions: indexindex are forced inside Flow control: if … then
Flow control: try … then
the
Data Types: Text
Item selector "[]": Text
Glossary: text, text_val
text
Flow control: if … thenif required. Flow control: if … then
Flow control: if … then
If the
start Numeric functions: indexindex is greater than Flow control: end
Shell Immediate Commands: exit, quit, end
end
Numeric functions: indexindex Flow control: if … then
Flow control: try … then
then
an empty Data Types: Text
Item selector "[]": Text
Glossary: text, text_val
text
is returned.

e.g.:

Text functions: substrsubstr ( "1234567890", 3, 6 )  =  "3456"
Text functions: substrsubstr ( "1234567890", 8, 99 ) =  "890"
Text functions: substrsubstr ( "1234567890", 8, 4 )  =  ""
Text functions: substrsubstr ( "1234567890", 8 )  =  "890"

Functionally equivalent to:

<text> = <text> [ <startindex> to <endindex> ]
<text> = <text> [ <startindex> to ]

sys

Execute another program.

<text> = Text functions: sys
Instructions: sys
sys
<progName> <text> = Text functions: sys
Instructions: sys
sys
<progName>, <value> [, ...] <text> = Text functions: sys
Instructions: sys
sys
<progName>, <list>

Flow control: if … then
Flow control: try … then
The
Data Types: Text
Item selector "[]": Text
Glossary: text, text_val
text
written to Constants: stderrstderr is immediately written to vipsi's Constants: stderrstderr. Constants: stdinstdin is also left connected to vipsi's Constants: stdinstdin.

Flow control: if … then
Flow control: try … then
The
Data Types: Text
Item selector "[]": Text
Glossary: text, text_val
text
written to Constants: stdoutstdout is returned as a Glossary: text, text_valtext value after program execution. List functions: thisThis is slightly weird, because List functions: thisthis way output to Constants: stdoutstdout Operators: Boolean And with Variable "&&="
Operators: Bitwise And with Variable "&="
Operators: Bitwise And "&"
Operators: Boolean And "&&"
and
Constants: stderrstderr are Operators: Bitwise Not "~"
Operators: Boolean Negation "!"
not
kept in order Operators: Boolean And with Variable "&&="
Operators: Bitwise And with Variable "&="
Operators: Bitwise And "&"
Operators: Boolean And "&&"
and
List functions: thisthis may be reviewed some time.

Flow control: if … then
Flow control: try … then
The
program Vipsi command syntax: Identifiers (names)
Identifiers, names
Operators: Make Identifier "@"
Text functions: name
Glossary: Name, Identifier
name
, a Glossary: text, text_valtext value, may be given as an absolute Operators: Boolean Or with Variable "||="
Operators: Bitwise Or with Variable "|="
Operators: Bitwise Or "|"
Operators: Boolean Or "||"
or
relative path Operators: Boolean Or with Variable "||="
Operators: Bitwise Or with Variable "|="
Operators: Bitwise Or "|"
Operators: Boolean Or "||"
or
only as Flow control: if … then
Flow control: try … then
the
command Vipsi command syntax: Identifiers (names)
Identifiers, names
Operators: Make Identifier "@"
Text functions: name
Glossary: Name, Identifier
name
itself, Flow control: if … thenif it can be found traversing Flow control: if … then
Flow control: try … then
the
PATH environment Glossary: Variable, var_refvariable. In essence List functions: thisthis means: you can give Flow control: if … then
Flow control: try … then
the
program Vipsi command syntax: Identifiers (names)
Identifiers, names
Operators: Make Identifier "@"
Text functions: name
Glossary: Name, Identifier
name
as you would type it on Flow control: if … then
Flow control: try … then
the
command line.

Vipsi command syntax: Arguments
Glossary: Arguments
Arguments
may be either a virtually unlimited Data Types: Lists and arrays
Item selector "[]": Lists
Glossary: list, list_val
list
of Vipsi command syntax: Arguments
Glossary: Arguments
arguments
Operators: Boolean Or with Variable "||="
Operators: Bitwise Or with Variable "|="
Operators: Bitwise Or "|"
Operators: Boolean Or "||"
or
a Data Types: Lists and arrays
Item selector "[]": Lists
Glossary: list, list_val
list
as a single Vipsi command syntax: Arguments
Glossary: Arguments
argument
, Flow control: if … then
Flow control: try … then
then
Flow control: if … then
Flow control: try … then
the
Data Types: Lists and arrays
Item selector "[]": Lists
Glossary: list, list_val
list
items are taken as Vipsi command syntax: Arguments
Glossary: Arguments
arguments
for Flow control: if … then
Flow control: try … then
the
program.

Any Vipsi command syntax: Arguments
Glossary: Arguments
argument
is converted Text functions: stringto text before Flow control: if … then
Flow control: try … then
the
external program is called, just because only Data Types: Text
Item selector "[]": Text
Glossary: text, text_val
texts
can be passed to other programs.

Operators: Bitwise Not "~"
Operators: Boolean Negation "!"
Note
, that you cannot pass a Data Types: Lists and arrays
Item selector "[]": Lists
Glossary: list, list_val
list
as a single Vipsi command syntax: Arguments
Glossary: Arguments
argument
, because Flow control: if … then
Flow control: try … then
then
Flow control: if … then
Flow control: try … then
the
Data Types: Lists and arrays
Item selector "[]": Lists
Glossary: list, list_val
list
items would be taken on behalf, as said above.

Also Operators: Bitwise Not "~"
Operators: Boolean Negation "!"
note
, that Operators: Multiply "*"wildcard patterns are Operators: Bitwise Not "~"
Operators: Boolean Negation "!"
not
expanded!

Instructions: putput Text functions: sys
Instructions: sys
sys
"ls" Instructions: putput Text functions: sys
Instructions: sys
sys
"ls", "-lR" Instructions: putput Text functions: sys
Instructions: sys
sys
"rm", "anton", "berta" Instructions: putput Text functions: sys
Instructions: sys
sys
"rm", { "anton", "berta" }
How to pass a single list

Instructions: putPut Flow control: if … then
Flow control: try … then
the
Data Types: Lists and arrays
Item selector "[]": Lists
Glossary: list, list_val
list
in a Data Types: Lists and arrays
Item selector "[]": Lists
Glossary: list, list_val
list
Operators: Boolean Or with Variable "||="
Operators: Bitwise Or with Variable "|="
Operators: Bitwise Or "|"
Operators: Boolean Or "||"
or
Text functions: convert
Instructions: convert
convert
it Text functions: stringto text with Vipsi command syntax: Functions
Functions
Glossary: Function
function
Data Types: Text
Text functions: string
string
:

Instructions: putput Text functions: sys
Instructions: sys
sys
"echo", { { "a", "Data Types: Lists and arrays
Item selector "[]": Lists
Glossary: list, list_val
list
" } } Instructions: putput Text functions: sys
Instructions: sys
sys
"echo", Data Types: Text
Text functions: string
string
( { "a", "Data Types: Lists and arrays
Item selector "[]": Lists
Glossary: list, list_val
list
" } )

There is also an Vipsi command syntax: Instructions
Instructions
Glossary: Instruction
instruction
Text functions: sys
Instructions: sys
sys
, which prints Flow control: if … then
Flow control: try … then
the
Data Types: Text
Item selector "[]": Text
Glossary: text, text_val
text
written to Constants: stdoutstdout to Constants: stdoutstdout. (sic!)

upperstr

<text> = Text functions: upperstrupperstr ( <text> )
<text> = Text functions: upperstrupperstr <text>

Text functions: convert
Instructions: convert
Converts
<text> to all Text functions: upperstruppercase characters.

Currently works with all unicode characters in range [0 ... $FFFF]. There are a few ones beyond, which are Operators: Bitwise Not "~"
Operators: Boolean Negation "!"
not
yet converted.

As with all Vipsi command syntax: Functions
Functions
Glossary: Function
functions
which take exactly one Vipsi command syntax: Arguments
Glossary: Arguments
argument
, Flow control: if … then
Flow control: try … then
the
Separators: Round brackets "( … )"
Functions with varying return types: bracket expression "()"
parenthesis
may be omitted, Flow control: if … then
Flow control: if … then
if the
Vipsi command syntax: Arguments
Glossary: Arguments
argument
is a simple Glossary: Valuevalue Operators: Boolean And with Variable "&&="
Operators: Bitwise And with Variable "&="
Operators: Bitwise And "&"
Operators: Boolean And "&&"
and
no Vipsi command syntax: Expressions
Glossary: Expression
expression
with Vipsi command syntax: Operators
Operators
Glossary: Operator
operators
.

e.g.

Text functions: upperstrupperstr "Hello World!"    = "HELLO WORLD!"
Text functions: upperstrupperstr("Hello"#"World!") = "HELLOWORLD!"

Valid HTML   Valid CSS