doc: progress about builtin functions
This commit is contained in:
+292
-175
@@ -2698,25 +2698,25 @@ The clone modifier <code class="blue">@</code> does not make a variable a refere
|
||||
<div class="title">Available builtin modules</div>
|
||||
<ul>
|
||||
<li>
|
||||
<p><strong>base</strong>: Base expression tools like isNil(), int(), etc.</p>
|
||||
<p><a href="#_module_base"><strong>base</strong></a>: Base expression tools like isNil(), int(), etc.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><strong>fmt</strong>: String and console formatting functions</p>
|
||||
<p><a href="#_module_fmt"><strong>fmt</strong></a>: String and console formatting functions</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><strong>import</strong>: Functions import() and include()</p>
|
||||
<p><a href="#_module_import"><strong>import</strong></a>: Functions <a href="#_import">import()</a> and <a href="#_include">include()</a></p>
|
||||
</li>
|
||||
<li>
|
||||
<p><strong>iterator</strong>: Iterator helper functions</p>
|
||||
<p><a href="#_module_iterator"><strong>iterator</strong></a>: Iterator helper functions</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><strong>math.arith</strong>: Functions add() and mul()</p>
|
||||
<p><a href="#_module_math_arith"><strong>math.arith</strong></a>: Functions <a href="#_add">add()</a> and <a href="#_mul">mul()</a></p>
|
||||
</li>
|
||||
<li>
|
||||
<p><strong>os.file</strong>: Operating system file functions</p>
|
||||
<p><a href="#_module_os_file"><strong>os.file</strong></a>: Operating system file functions</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><strong>string</strong>: string utilities</p>
|
||||
<p><a href="#_module_string"><strong>string</strong></a>: string utilities</p>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -2830,10 +2830,10 @@ Returns <em>true</em> if the value type of <em><expr></em> is boolean, fal
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<div class="title">Examples</div>
|
||||
<p>>>> isBool(true)<br>
|
||||
true<br>
|
||||
>>> isBool(3==2)<br>
|
||||
true</p>
|
||||
<p><code>>>></code> <code class="blue">isBool(true)</code><br>
|
||||
<code class="green">true</code><br>
|
||||
<code>>>></code> <code class="blue">isBool(3==2)</code><br>
|
||||
<code class="green">true</code></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect4">
|
||||
@@ -2844,12 +2844,12 @@ Returns <em>true</em> if the value type of <em><expr></em> is dictionary,
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<div class="title">Examples</div>
|
||||
<p>>>> isDict({})<br>
|
||||
true<br>
|
||||
>>> isDict({1: "one", 2: "two"})<br>
|
||||
true<br>
|
||||
>>> isDict(1:"one")<br>
|
||||
Eval Error: denominator must be integer, got string (one)</p>
|
||||
<p><code>>>></code> <code class="blue">isDict({})</code><br>
|
||||
<code class="green">true</code><br>
|
||||
<code>>>></code> <code class="blue">isDict({1: "one", 2: "two"})</code><br>
|
||||
<code class="green">true</code><br>
|
||||
<code>>>></code> <code class="blue">isDict(1:"one")</code><br>
|
||||
<code class="red">Eval Error: denominator must be integer, got string (one)</code></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect4">
|
||||
@@ -2860,12 +2860,12 @@ Returns <em>true</em> if the value type of <em><expr></em> is float, false
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<div class="title">Examples</div>
|
||||
<p>>>> isFloat(4.)<br>
|
||||
true<br>
|
||||
>>> isFloat(4)<br>
|
||||
false<br>
|
||||
>>> isFloat("2.1")<br>
|
||||
false</p>
|
||||
<p><code>>>></code> <code class="blue">isFloat(4.)</code><br>
|
||||
<code class="green">true</code><br>
|
||||
<code>>>></code> <code class="blue">isFloat(4)</code><br>
|
||||
<code class="green">false</code><br>
|
||||
<code>>>></code> <code class="blue">isFloat("2.1")</code><br>
|
||||
<code class="green">false</code></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect4">
|
||||
@@ -2876,14 +2876,14 @@ Returns <em>true</em> if the value type of <em><expr></em> is fraction, fa
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<div class="title">Examples</div>
|
||||
<p>>>> isFract(4.5)<br>
|
||||
false<br>
|
||||
>>> isFract(4:5)<br>
|
||||
true<br>
|
||||
>>> isFract(4)<br>
|
||||
<strong>false</strong><br>
|
||||
>>> isFract(1.(3))<br>
|
||||
true</p>
|
||||
<p><code>>>></code> <code class="blue">isFract(4.5)</code><br>
|
||||
<code class="green">false</code><br>
|
||||
<code>>>></code> <code class="blue">isFract(4:5)</code><br>
|
||||
<code class="green">true</code><br>
|
||||
<code>>>></code> <code class="blue">isFract(4)</code><br>
|
||||
<strong class="green"><code>false</code></strong><br>
|
||||
<code>>>></code> <code class="blue">isFract(1.(3))</code><br>
|
||||
<code class="green">true</code></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect4">
|
||||
@@ -2894,12 +2894,12 @@ Returns <em>true</em> if the value type of <em><expr></em> is list, false
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<div class="title">Examples</div>
|
||||
<p>>>> isList([])<br>
|
||||
true<br>
|
||||
>>> isList([1, "2"])
|
||||
true
|
||||
>>> isList(1,2)
|
||||
Eval Error: isList(): too many params — expected 1, got 2</p>
|
||||
<p><code>>>></code> <code class="blue">isList([])</code><br>
|
||||
<code class="green">true</code><br>
|
||||
<code>>>></code> <code class="blue">isList([1, "2"])</code><br>
|
||||
<code class="green">true</code><br>
|
||||
<code>>>></code> <code class="blue">isList(1,2)</code><br>
|
||||
<code class="red">Eval Error: isList(): too many params — expected 1, got 2</code></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect4">
|
||||
@@ -2910,10 +2910,10 @@ Returns <em>true</em> if the value type of <em><expr></em> is nil, false o
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<div class="title">Examples</div>
|
||||
<p>>>> isNil(nil)
|
||||
true
|
||||
>>> isNil(1)
|
||||
false</p>
|
||||
<p><code>>>></code> <code class="blue">isNil(nil)</code><br>
|
||||
<code class="green">true</code><br>
|
||||
<code>>>></code> <code class="blue">isNil(1)</code><br>
|
||||
<code class="green">false</code></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect4">
|
||||
@@ -2924,14 +2924,14 @@ Returns <em>true</em> if the value type of <em><expr></em> is fraction or
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<div class="title">Examples</div>
|
||||
<p>>>> isRational(4.5)<br>
|
||||
false<br>
|
||||
>>> isRational(4:5)<br>
|
||||
true<br>
|
||||
>>> isRational(4)<br>
|
||||
<strong>true</strong><br>
|
||||
>>> isRational(1.(3))<br>
|
||||
true</p>
|
||||
<p><code>>>></code> <code class="blue">isRational(4.5)</code><br>
|
||||
<code class="green">false</code><br>
|
||||
<code>>>></code> <code class="blue">isRational(4:5)</code><br>
|
||||
<code class="green">true</code><br>
|
||||
<code>>>></code> <code class="blue">isRational(4)</code><br>
|
||||
<strong class="green"><code>true</code></strong><br>
|
||||
<code>>>></code> <code class="blue">isRational(1.(3))</code><br>
|
||||
<code class="green">true</code></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect4">
|
||||
@@ -2942,12 +2942,12 @@ Returns a boolean value , false otherwise.</p>
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<div class="title">Examples</div>
|
||||
<p>>>> isString("ciao")<br>
|
||||
true<br>
|
||||
>>> isString(2)<br>
|
||||
false<br>
|
||||
>>> isString(2+"2")<br>
|
||||
true</p>
|
||||
<p><code>>>></code> <code class="blue">isString("ciao")</code><br>
|
||||
<code class="green">true</code><br>
|
||||
<code>>>></code> <code class="blue">isString(2)</code><br>
|
||||
<code class="green">false</code><br>
|
||||
<code>>>></code> <code class="blue">isString(2+"2")</code><br>
|
||||
<code class="green">true</code></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect4">
|
||||
@@ -2958,20 +2958,20 @@ Returns a <em>boolean</em> value consisent to the value of the expression.</p>
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<div class="title">Examples</div>
|
||||
<p>>>> bool(1)
|
||||
true
|
||||
>>> bool(0)
|
||||
false
|
||||
>>> bool("")
|
||||
false
|
||||
>>> bool([])
|
||||
false
|
||||
>>> bool([1])
|
||||
true
|
||||
>>> bool({})
|
||||
false
|
||||
>>> bool({1: "one"})
|
||||
true</p>
|
||||
<p><code>>>></code> <code class="blue">bool(1)</code><br>
|
||||
<code class="green">true</code><br>
|
||||
<code>>>></code> <code class="blue">bool(0)</code><br>
|
||||
<code class="green">false</code><br>
|
||||
<code>>>></code> <code class="blue">bool("")</code><br>
|
||||
<code class="green">false</code><br>
|
||||
<code>>>></code> <code class="blue">bool([])</code><br>
|
||||
<code class="green">false</code><br>
|
||||
<code>>>></code> <code class="blue">bool([1])</code><br>
|
||||
<code class="green">true</code><br>
|
||||
<code>>>></code> <code class="blue">bool({})</code><br>
|
||||
<code class="green">false</code><br>
|
||||
<code>>>></code> <code class="blue">bool({1: "one"})</code><br>
|
||||
<code class="green">true</code></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect4">
|
||||
@@ -2982,28 +2982,28 @@ Returns an <em>integer</em> value consistent with the value of the expression.</
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<div class="title">Examples</div>
|
||||
<p>>>> int(2)<br>
|
||||
2<br>
|
||||
>>> int("2")<br>
|
||||
2<br>
|
||||
>>> int("0x1")<br>
|
||||
Eval Error: strconv.Atoi: parsing "0x1": invalid syntax<br>
|
||||
>>> int(0b10)<br>
|
||||
2<br>
|
||||
>>> int(0o2)<br>
|
||||
2<br>
|
||||
>>> int(0x2)<br>
|
||||
2<br>
|
||||
>>> int(1.8)<br>
|
||||
1<br>
|
||||
>>> int(5:2)<br>
|
||||
2<br>
|
||||
>>> int([])<br>
|
||||
Eval Error: int(): can’t convert list to int+
|
||||
>>> int(true)<br>
|
||||
1<br>
|
||||
>>> int(false)<br>
|
||||
0</p>
|
||||
<p><code>>>></code> <code class="blue">int(2)</code><br>
|
||||
<code class="green">2</code><br>
|
||||
<code>>>></code> <code class="blue">int("2")</code><br>
|
||||
<code class="green">2</code><br>
|
||||
<code>>>></code> <code class="blue">int("0x1")</code><br>
|
||||
<code class="red">Eval Error: strconv.Atoi: parsing "0x1": invalid syntax</code><br>
|
||||
<code>>>></code> <code class="blue">int(0b10)</code><br>
|
||||
<code class="green">2</code><br>
|
||||
<code>>>></code> <code class="blue">int(0o2)</code><br>
|
||||
<code class="green">2</code><br>
|
||||
<code>>>></code> <code class="blue">int(0x2)</code><br>
|
||||
<code class="green">2</code><br>
|
||||
<code>>>></code> <code class="blue">int(1.8)</code><br>
|
||||
<code class="green">1</code><br>
|
||||
<code>>>></code> <code class="blue">int(5:2)</code><br>
|
||||
<code class="green">2</code><br>
|
||||
<code>>>></code> <code class="blue">int([])</code><br>
|
||||
<code class="red">Eval Error: int(): can’t convert list to int</code><br>
|
||||
<code>>>></code> <code class="blue">int(true)</code><br>
|
||||
<code class="green">1</code><br>
|
||||
<code>>>></code> <code class="blue">int(false)</code><br>
|
||||
<code class="green">0</code></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect4">
|
||||
@@ -3014,20 +3014,20 @@ Returns a <em>float</em> value consistent with the value of the expression.</p>
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<div class="title">Examples</div>
|
||||
<p>>>> dec(2)<br>
|
||||
2<br>
|
||||
>>> dec(2.1)<br>
|
||||
2.1<br>
|
||||
>>> dec(2.3(1))<br>
|
||||
2.311111111111111<br>
|
||||
>>> dec("3.14")<br>
|
||||
3.14<br>
|
||||
>>> dec(3:4)<br>
|
||||
0.75<br>
|
||||
>>> dec(true)<br>
|
||||
1<br>
|
||||
>>> dec(false)<br>
|
||||
0</p>
|
||||
<p><code>>>></code> <code class="blue">dec(2)</code><br>
|
||||
<code class="green">2</code><br>
|
||||
<code>>>></code> <code class="blue">dec(2.1)</code><br>
|
||||
<code class="green">2.1</code><br>
|
||||
<code>>>></code> <code class="blue">dec(2.3(1))</code><br>
|
||||
<code class="green">2.311111111111111</code><br>
|
||||
<code>>>></code> <code class="blue">dec("3.14")</code><br>
|
||||
<code class="green">3.14</code><br>
|
||||
<code>>>></code> <code class="blue">dec(3:4)</code><br>
|
||||
<code class="green">0.75</code><br>
|
||||
<code>>>></code> <code class="blue">dec(true)</code><br>
|
||||
<code class="green">1</code><br>
|
||||
<code>>>></code> <code class="blue">dec(false)</code><br>
|
||||
<code class="green">0</code></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect4">
|
||||
@@ -3038,18 +3038,18 @@ Returns a <em>string</em> value consistent with the value of the expression.</p>
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<div class="title">Examples</div>
|
||||
<p>>>> string(2)<br>
|
||||
"2"<br>
|
||||
>>> string(0.8)<br>
|
||||
"0.8"<br>
|
||||
>>> string([1,2])<br>
|
||||
"[1, 2]"<br>
|
||||
>>> string({1: "one", 2: "two"})<br>
|
||||
"{1: "one", 2: "two"}"<br>
|
||||
>>> string(2:5)<br>
|
||||
"2:5"<br>
|
||||
>>> string(3==2)<br>
|
||||
"false"</p>
|
||||
<p><code>>>></code> <code class="blue">string(2)</code><br>
|
||||
<code class="green">"2"</code><br>
|
||||
<code>>>></code> <code class="blue">string(0.8)</code><br>
|
||||
<code class="green">"0.8"</code><br>
|
||||
<code>>>></code> <code class="blue">string([1,2])</code><br>
|
||||
<code class="green">"[1, 2]"</code><br>
|
||||
<code>>>></code> <code class="blue">string({1: "one", 2: "two"})</code><br>
|
||||
<code class="green">"{1: "one", 2: "two"}"</code><br>
|
||||
<code>>>></code> <code class="blue">string(2:5)</code><br>
|
||||
<code class="green">"2:5"</code><br>
|
||||
<code>>>></code> <code class="blue">string(3==2)</code><br>
|
||||
<code class="green">"false"</code></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect4">
|
||||
@@ -3060,20 +3060,20 @@ Returns a <em>fraction</em> value consistent with the value of the expression.</
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<div class="title">Examples</div>
|
||||
<p>>>> fract(2)<br>
|
||||
2:1<br>
|
||||
>>> fract(2.5)<br>
|
||||
5:2<br>
|
||||
>>> fract("2.5")<br>
|
||||
5:2<br>
|
||||
>>> fract(1.(3))<br>
|
||||
4:3<br>
|
||||
>>> fract([2])<br>
|
||||
Eval Error: fract(): can’t convert list to float<br>
|
||||
>>> fract(false)<br>
|
||||
0:1<br>
|
||||
>>> fract(true)<br>
|
||||
1:1</p>
|
||||
<p><code>>>></code> <code class="blue">fract(2)</code><br>
|
||||
<code class="green">2:1</code><br>
|
||||
<code>>>></code> <code class="blue">fract(2.5)</code><br>
|
||||
<code class="green">5:2</code><br>
|
||||
<code>>>></code> <code class="blue">fract("2.5")</code><br>
|
||||
<code class="green">5:2</code><br>
|
||||
<code>>>></code> <code class="blue">fract(1.(3))</code><br>
|
||||
<code class="green">4:3</code><br>
|
||||
<code>>>></code> <code class="blue">fract([2])</code><br>
|
||||
<code class="red">Eval Error: fract(): can’t convert list to float</code><br>
|
||||
<code>>>></code> <code class="blue">fract(false)</code><br>
|
||||
<code class="green">0:1</code><br>
|
||||
<code>>>></code> <code class="blue">fract(true)</code><br>
|
||||
<code class="green">1:1</code></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect4">
|
||||
@@ -3084,8 +3084,8 @@ Computes and returns the value of the <span class="underline">string</span> expr
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<div class="title">Examples</div>
|
||||
<p>>>> eval( "2 + fract(1.(3))" )<br>
|
||||
10:3</p>
|
||||
<p><code>>>></code> <code class="blue">eval( "2 + fract(1.(3))" )</code><br>
|
||||
<code class="green">10:3</code></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect4">
|
||||
@@ -3100,14 +3100,14 @@ Computes and returns the value of the <span class="underline">string</span> expr
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<div class="title">Examples</div>
|
||||
<p>>>> var("$x", 3+9)<br>
|
||||
12<br>
|
||||
>>> var("$x")<br>
|
||||
12<br>
|
||||
>>> var("gain%", var("$x"))<br>
|
||||
12<br>
|
||||
>>> var("gain%", var("$x")+1)<br>
|
||||
13</p>
|
||||
<p><code>>>></code> <code class="blue">var("$x", 3+9)</code><br>
|
||||
<code class="green">12</code><br>
|
||||
<code>>>></code> <code class="blue">var("$x")</code><br>
|
||||
<code class="green">12</code><br>
|
||||
<code>>>></code> <code class="blue">var("gain%", var("$x"))</code><br>
|
||||
<code class="green">12</code><br>
|
||||
<code>>>></code> <code class="blue">var("gain%", var("$x")+1)</code><br>
|
||||
<code class="green">13</code></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -3160,22 +3160,24 @@ Computes and returns the value of the <span class="underline">string</span> expr
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<div class="title">Examples</div>
|
||||
<p>>>> add(1,2,3)<br>
|
||||
6
|
||||
>>> add(1.1,2.1,3.1)<br>
|
||||
6.300000000000001<br>
|
||||
>>> add("1","2","3")<br>
|
||||
Eval Error: add(): param nr 1 (1 in 0) has wrong type string, number expected<br>
|
||||
>>> add(1:3, 2:3, 3:3)<br>
|
||||
2:1<br>
|
||||
>>> add(1, "2")<br>
|
||||
Eval Error: add(): param nr 2 (2 in 0) has wrong type string, number expected<br>
|
||||
>>> add([1,2,3])<br>
|
||||
6<br>
|
||||
>>> iterator=$([1,2,3]); add(iterator)<br>
|
||||
6<br>
|
||||
>>> add($([1,2,3]))<br>
|
||||
6</p>
|
||||
<p><code>>>></code> <code class="blue">builtin "math.arith"</code><br>
|
||||
<code class="green">1</code><br>
|
||||
<code>>>></code> <code class="blue">add(1,2,3)</code><br>
|
||||
<code class="green">6</code><br>
|
||||
<code>>>></code> <code class="blue">add(1.1,2.1,3.1)</code><br>
|
||||
<code class="green">6.300000000000001</code><br>
|
||||
<code>>>></code> <code class="blue">add("1","2","3")</code><br>
|
||||
<code class="red">Eval Error: add(): param nr 1 (1 in 0) has wrong type string, number expected</code><br>
|
||||
<code>>>></code> <code class="blue">add(1:3, 2:3, 3:3)</code><br>
|
||||
<code class="green">2:1</code><br>
|
||||
<code>>>></code> <code class="blue">add(1, "2")</code><br>
|
||||
<code class="red">Eval Error: add(): param nr 2 (2 in 0) has wrong type string, number expected</code><br>
|
||||
<code>>>></code> <code class="blue">add([1,2,3])</code><br>
|
||||
<code class="green">6</code><br>
|
||||
<code>>>></code> <code class="blue">iterator=$([1,2,3]); add(iterator)</code><br>
|
||||
<code class="green">6</code><br>
|
||||
<code>>>></code> <code class="blue">add($([1,2,3]))</code><br>
|
||||
<code class="green">6</code></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect4">
|
||||
@@ -3187,7 +3189,14 @@ Eval Error: add(): param nr 2 (2 in 0) has wrong type string, number expected<br
|
||||
<code>    mul(<iterator-over-num-values>) → any</code></p>
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<p>Same as add() but returns the product of the values of the parameters.</p>
|
||||
<p>Same as <a href="#_add">add()</a> but returns the product of the values of the parameters.</p>
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<div class="title">Examples</div>
|
||||
<p><code>>>></code> <code class="blue">builtin "math.arith"</code><br>
|
||||
<code class="green">1</code><br>
|
||||
<code>>>></code> <code class="blue">mul(2,3,4)</code><br>
|
||||
<code class="green">24</code></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -3226,35 +3235,143 @@ Eval Error: add(): param nr 2 (2 in 0) has wrong type string, number expected<br
|
||||
<h4 id="_module_string"><a class="anchor" href="#_module_string"></a><a class="link" href="#_module_string">7.1.7. Module "string"</a></h4>
|
||||
<div class="sect4">
|
||||
<h5 id="_strjoin"><a class="anchor" href="#_strjoin"></a><a class="link" href="#_strjoin">strJoin()</a></h5>
|
||||
|
||||
<div class="paragraph">
|
||||
<p>Syntax:<br>
|
||||
<code>    strJoin(<separator>, <item> …​) → string</code></p>
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<p>Returns a string obtained by concatenating the string items (sarting from the second argument), separated by the string value of the separator.</p>
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<div class="title">Examples</div>
|
||||
<p><code>>>></code> <code class="blue">strJoin(", ", "one", "two", "three")</code><br>
|
||||
<code class="green">"one, two, three"</code><br>
|
||||
<code>>>></code> <code class="blue">strJoin(", ", ["one", "two", "three"])</code><br>
|
||||
<code class="green">"one, two, three"</code></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect4">
|
||||
<h5 id="_strsub"><a class="anchor" href="#_strsub"></a><a class="link" href="#_strsub">strSub()</a></h5>
|
||||
|
||||
<div class="paragraph">
|
||||
<p>Syntax:<br>
|
||||
<code>    strSub(<string>, <start-index>=0, <count>=-1) → string</code></p>
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<p>Returns a substring of the specified string starting at the specified index and having the specified length. If the start index is negative, it is interpreted as an offset from the end of the string. If the count is negative, it means to take all characters until the end of the string.</p>
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<div class="title">Examples</div>
|
||||
<p><code>>>></code> <code class="blue">strSub("Hello, world!", 7, 5)</code><br>
|
||||
<code class="green">"world"</code><br>
|
||||
<code>>>></code> <code class="blue">strSub("Hello, world!", -6, 5)</code><br>
|
||||
<code class="green">"world"</code><br>
|
||||
<code>>>></code> <code class="blue">strSub("Hello, world!", 7)</code><br>
|
||||
<code class="green">"world!"</code><br>
|
||||
<code>>>></code> <code class="blue">strSub("Hello, world!", -6)</code><br>
|
||||
<code class="green">"world!"</code></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect4">
|
||||
<h5 id="_strsplit"><a class="anchor" href="#_strsplit"></a><a class="link" href="#_strsplit">strSplit()</a></h5>
|
||||
|
||||
<div class="paragraph">
|
||||
<p>Syntax:<br>
|
||||
<code>    strSplit(<string>, <separator>="", <count>=-1) → list</code></p>
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<p>Returns a list of substrings obtained by splitting the specified string using the specified separator. If the separator is an empty string, the string is split into individual characters. If the count is negative, it means to split all occurrences of the separator.</p>
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<div class="title">Examples</div>
|
||||
<p><code>>>></code> <code class="blue">strSplit("one, two, three", ", ")</code><br>
|
||||
<code class="green">["one", "two", "three"]</code><br>
|
||||
<code>>>></code> <code class="blue">strSplit("one, two, three", ", ", 2)</code><br>
|
||||
<code class="green">["one", "two, three"]</code><br>
|
||||
<code>>>></code> <code class="blue">strSplit("one, two, three")</code><br>
|
||||
<code class="green">["o", "n", "e", ",", " ", "t", "w", "o", ",", " ", "t", "h", "r", "e", "e"]</code></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect4">
|
||||
<h5 id="_strtrim"><a class="anchor" href="#_strtrim"></a><a class="link" href="#_strtrim">strTrim()</a></h5>
|
||||
|
||||
<div class="paragraph">
|
||||
<p>Syntax:<br>
|
||||
<code>    strTrim(<string>) → string</code></p>
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<p>Returns a string obtained by removing leading and trailing whitespace characters from the specified string.</p>
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<div class="title">Examples</div>
|
||||
<p><code>>>></code> <code class="blue">strTrim(" Hello, world! ")</code><br>
|
||||
<code class="green">"Hello, world!"</code></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect4">
|
||||
<h5 id="_strstartswith"><a class="anchor" href="#_strstartswith"></a><a class="link" href="#_strstartswith">strStartsWith()</a></h5>
|
||||
|
||||
<div class="paragraph">
|
||||
<p>Syntax:<br>
|
||||
<code>    strStartsWith(<string>, <prefix> …​) → bool</code></p>
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<p>Returns a boolean indicating whether the specified string starts with any of the given prefixes.</p>
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<div class="title">Examples</div>
|
||||
<p><code>>>></code> <code class="blue">strStartsWith("Hello, world!", "Hello")</code><br>
|
||||
<code class="green">true</code><br>
|
||||
<code>>>></code> <code class="blue">strStartsWith("Hello, world!", "world")</code><br>
|
||||
<code class="green">false</code><br>
|
||||
<code>>>></code> <code class="blue">strStartsWith("Hello, world!", "Hi", "He")</code><br>
|
||||
<code class="green">true</code></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect4">
|
||||
<h5 id="_strendswith"><a class="anchor" href="#_strendswith"></a><a class="link" href="#_strendswith">strEndsWith()</a></h5>
|
||||
|
||||
<div class="paragraph">
|
||||
<p>Syntax:<br>
|
||||
<code>    strEndsWith(<string>, <suffix> …​) → bool</code></p>
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<p>Returns a boolean indicating whether the specified string ends with any of the given suffixes.</p>
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<div class="title">Examples</div>
|
||||
<p><code>>>></code> <code class="blue">strEndsWith("Hello, world!", "world!")</code><br>
|
||||
<code class="green">true</code><br>
|
||||
<code>>>></code> <code class="blue">strEndsWith("Hello, world!", "Hello")</code><br>
|
||||
<code class="green">false</code><br>
|
||||
<code>>>></code> <code class="blue">strEndsWith("Hello, world!", "Hi", "world!")</code><br>
|
||||
<code class="green">true</code></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect4">
|
||||
<h5 id="_strupper"><a class="anchor" href="#_strupper"></a><a class="link" href="#_strupper">strUpper()</a></h5>
|
||||
|
||||
<div class="paragraph">
|
||||
<p>Syntax:<br>
|
||||
<code>    strUpper(<string>) → string</code></p>
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<p>Returns a string obtained by converting all characters of the specified string to uppercase.</p>
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<div class="title">Examples</div>
|
||||
<p><code>>>></code> <code class="blue">strUpper("Hello, world!")</code><br>
|
||||
<code class="green">"HELLO, WORLD!"</code></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect4">
|
||||
<h5 id="_strlower"><a class="anchor" href="#_strlower"></a><a class="link" href="#_strlower">strLower()</a></h5>
|
||||
|
||||
<div class="paragraph">
|
||||
<p>Syntax:<br>
|
||||
<code>    strLower(<string>) → string</code></p>
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<p>Returns a string obtained by converting all characters of the specified string to lowercase.</p>
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<div class="title">Examples</div>
|
||||
<p><code>>>></code> <code class="blue">strLower("Hello, world!")</code><br>
|
||||
<code class="green">"hello, world!"</code></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -3270,7 +3387,7 @@ Eval Error: add(): param nr 2 (2 in 0) has wrong type string, number expected<br
|
||||
<p>In general, data-sources are objects that can be iterated over. They are defined as dictionaries having the key <code>next</code> whose value is a function that returns the next element of the collection and updates the state of the iterator. The <em>next</em> function must return a special value, <em class="blue">nil</em>, when there are no more elements to iterate over.</p>
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<p>Lists and, soon, dictionaries, are implicit data-sources. The syntax for creating an iterator is as follows.</p>
|
||||
<p>Lists and dictionaries are implicit data-sources. The syntax for creating an iterator is as follows.</p>
|
||||
</div>
|
||||
<div class="exampleblock">
|
||||
<div class="title">Example 17. Iterator creation syntax</div>
|
||||
@@ -3280,20 +3397,20 @@ Eval Error: add(): param nr 2 (2 in 0) has wrong type string, number expected<br
|
||||
<em>data-source</em> = <em>explicit</em> | <em>list-spec</em> | <em>dict-spec</em> | <em>custom-data-source</em></p>
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<p><em>explicit</em> = <em>any-expr</em> { "," <em>any-expr</em> }</p>
|
||||
<p><em>explicit</em> = <em>any-expr</em> { "<strong>,</strong>" <em>any-expr</em> }</p>
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<p><em>list-spec</em> = <em>list</em> <em>range-options</em><br>
|
||||
<em>list</em> = "<strong>[</strong>" <em>any-expr</em> { "," <em>any-expr</em> } "<strong>]</strong>"<br>
|
||||
<em>range-options</em> = [ "," <em>start-index</em> [ "," <em>end-index</em> [ "," <em>step</em> ]]]<br>
|
||||
<em>list</em> = "<strong>[</strong>" <em>any-expr</em> { "<strong>,</strong>" <em>any-expr</em> } "<strong>]</strong>"<br>
|
||||
<em>range-options</em> = [ "<strong>,</strong>" <em>start-index</em> [ "<strong>,</strong>" <em>end-index</em> [ "<strong>,</strong>" <em>step</em> ]]]<br>
|
||||
<em>start-index</em>, <em>end-index</em>, <em>step</em> = <em>integer-expr</em></p>
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<p><em>dict-spec</em> = <em>dict</em> <em>dict-options</em><br>
|
||||
<em>dict</em> = "<strong>{</strong>" <em>key-value-pair</em> { "," <em>key-value-pair</em> } "<strong>}</strong>"<br>
|
||||
<em>key-value-pair</em> = <em>scalar-value</em> ":" <em>any-expr</em><br>
|
||||
<em>dict</em> = "<strong>{</strong>" <em>key-value-pair</em> { "<strong>,</strong>" <em>key-value-pair</em> } "<strong>}</strong>"<br>
|
||||
<em>key-value-pair</em> = <em>scalar-value</em> "<strong>:</strong>" <em>any-expr</em><br>
|
||||
<em>scalar-value</em> = <em>string</em> | <em>number</em> | <em>boolean</em><br>
|
||||
<em>dict-options</em> = [ "," <em>sort-order</em> [ "," <em>iter-mode</em> ] ]<br>
|
||||
<em>dict-options</em> = [ "<strong>,</strong>" <em>sort-order</em> [ "<strong>,</strong>" <em>iter-mode</em> ] ]<br>
|
||||
<em>sort-order</em> = <em>asc-order</em> | <em>desc-order</em> | <em>no-sort</em> | <em>default-order</em><br>
|
||||
<em>asc-order</em> = "<strong>asc</strong>" | "<strong>a</strong>"<br>
|
||||
<em>desc-order</em> = "<strong>desc</strong>" | "<strong>d</strong>"<br>
|
||||
@@ -3361,7 +3478,7 @@ Currently, <em>default-iter</em> is the same as <em>keys-iter</em>. In the futur
|
||||
<code class="red">Eval Error: EOF</code></p>
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<p>On a list-type iterator creation expression, it is possible to specify an index range and a step to iterate over a subset of the list.</p>
|
||||
<p>When creating a list-type iterator expression, you can specify a range of indices and a step to iterate over a subset of the list.</p>
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<p>Indexing starts at 0. If the start index is not specified, it defaults to 0. If the end index is not specified, it defaults to the index of the last element of the list. If the step is not specified, it defaults to 1.</p>
|
||||
@@ -3493,7 +3610,7 @@ Iterators built on custom data-sources can provide additional named operators, d
|
||||
</div>
|
||||
<div id="footer">
|
||||
<div id="footer-text">
|
||||
Last updated 2026-04-19 15:03:48 +0200
|
||||
Last updated 2026-04-21 06:35:14 +0200
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
Reference in New Issue
Block a user