180 lines
7.8 KiB
HTML
180 lines
7.8 KiB
HTML
<html lang="en">
|
|
<head>
|
|
<title>Built-In functions - Enigma</title>
|
|
<meta http-equiv="Content-Type" content="text/html">
|
|
<meta name="description" content="Enigma">
|
|
<meta name="generator" content="makeinfo 4.13">
|
|
<link title="Top" rel="start" href="index.html#Top">
|
|
<link rel="up" href="Built_002dIn.html#Built_002dIn" title="Built-In">
|
|
<link rel="prev" href="Built_002dIn-values.html#Built_002dIn-values" title="Built-In values">
|
|
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
|
|
<!--
|
|
This manual is for Enigma, version 0.1.
|
|
Copyright (C) 2010 Niels Serup
|
|
|
|
Permission is granted to copy, distribute and/or modify this
|
|
document under the terms of the GNU Free Documentation License,
|
|
Version 1.3 or any later version published by the Free Software
|
|
Foundation; with no Invariant Sections, no Front-Cover Texts, and
|
|
no Back-Cover Texts. A copy of the license is included in the
|
|
section entitled "GNU Free Documentation License".
|
|
|
|
This document is also available under the terms of the Creative
|
|
Commons Attribution-Share Alike 3.0 (or any later version)
|
|
Unported license. A copy of the license is available at
|
|
`http://creativecommons.org/licenses/by-sa/3.0/legalcode'.
|
|
-->
|
|
<meta http-equiv="Content-Style-Type" content="text/css">
|
|
<style type="text/css"><!--
|
|
pre.display { font-family:inherit }
|
|
pre.format { font-family:inherit }
|
|
pre.smalldisplay { font-family:inherit; font-size:smaller }
|
|
pre.smallformat { font-family:inherit; font-size:smaller }
|
|
pre.smallexample { font-size:smaller }
|
|
pre.smalllisp { font-size:smaller }
|
|
span.sc { font-variant:small-caps }
|
|
span.roman { font-family:serif; font-weight:normal; }
|
|
span.sansserif { font-family:sans-serif; font-weight:normal; }
|
|
--></style>
|
|
</head>
|
|
<body>
|
|
<div class="node">
|
|
<a name="Built-In-functions"></a>
|
|
<a name="Built_002dIn-functions"></a>
|
|
<p>
|
|
Previous: <a rel="previous" accesskey="p" href="Built_002dIn-values.html#Built_002dIn-values">Built-In values</a>,
|
|
Up: <a rel="up" accesskey="u" href="Built_002dIn.html#Built_002dIn">Built-In</a>
|
|
<hr>
|
|
</div>
|
|
|
|
<h3 class="section">6.2 Functions</h3>
|
|
|
|
<p><a name="index-built_002din-functions-17"></a>Enigma has few built-in functions. But they do exist.
|
|
|
|
<p class="noindent"><code>str(OBJECT...)</code>: Converts all supplied values to strings.
|
|
|
|
<p class="noindent"><code>num(OBJECT...)</code>: Converts all supplied values to numbers.
|
|
|
|
<p class="noindent"><code>list(OBJECT...)</code>: Puts all supplied values in a list and destroys
|
|
nested lists at one level.
|
|
|
|
<p class="noindent"><code>bool(OBJECT...)</code>: Converts all supplied values to booleans.
|
|
|
|
<p class="noindent"><code>code(OBJECT...)</code>: Converts all supplied values to code strings.
|
|
|
|
<p class="noindent"><code>repr(OBJECT...)</code>: Converts all supplied values to representational
|
|
strings. Strings get prepended and appended by " characters, code
|
|
objects are surrounded by { and }, and so on.
|
|
|
|
<p class="noindent"><code>type(OBJECT...)</code>: Converts all supplied values to type strings
|
|
(string, number, file, etc.).
|
|
|
|
<p class="noindent"><code>len(OBJECT...)</code>: Converts all supplied values to their length. This
|
|
can be used for both strings and lists.
|
|
|
|
<p class="noindent"><code>clone(OBJECT...)</code>: Clones all supplied values. When an object is
|
|
cloned, its value is assigned to a new variable. The list of clones is
|
|
returned.
|
|
|
|
<p class="noindent"><code>slice(LIST|STRING, NUMBER, NUMBER)</code>: Returns a list value sliced
|
|
according to the first and second number if the first variable is a
|
|
list variable, or a substring if the first variable is a string
|
|
variable.
|
|
|
|
<p class="noindent"><code>loop(FUNCTION, [OBJECT]...)</code>: Executes function until it returns
|
|
false. Sends the rest of the specified variables (if any) to the
|
|
function as arguments.
|
|
|
|
<p class="noindent"><code>open(STRING, STRING)</code>: Opens the file by the name of the first
|
|
string, using the second string as its guide as to how it should be
|
|
opened. "r" means to read, "w" means to write, and "a" means to
|
|
append. Returns a file object.
|
|
|
|
<p class="noindent"><code>close(FILE...)</code>: Closes files.
|
|
|
|
<p class="noindent"><code>read(FILE)</code>: Reads one character of a file and returns it. If no
|
|
more characters are present, an empty string is returned.
|
|
|
|
<p class="noindent"><code>write(FILE, STRING)</code>: Writes a string to a file.
|
|
|
|
<p class="noindent"><code>greater(NUMBER, NUMBER...</code>: Checks if the first number is
|
|
greater than the rest and returns true or false.
|
|
|
|
<p class="noindent"><code>lesser(NUMBER, NUMBER...</code>: Checks if the first number is
|
|
lesser than the rest and returns true or false.
|
|
|
|
<p class="noindent"><code>equal(OBJECT, OBJECT...</code>: Checks if the objects are equal and returns
|
|
true or false.
|
|
|
|
<p class="noindent"><code>and(BOOLEAN...)</code>: Checks if all booleans are true and returns true
|
|
or false.
|
|
|
|
<p class="noindent"><code>or(BOOLEAN...)</code>: Checks if at least one boolean is true and returns
|
|
true or false.
|
|
|
|
<p class="noindent"><code>not(BOOLEAN...)</code>: Converts values of true to values of false, and
|
|
vice-versa.
|
|
|
|
<p class="noindent"><code>act(BOOLEAN, FUNCTION, [OBJECT]...)</code>: Run the function with the
|
|
optional objects as arguments if the boolean is true.
|
|
|
|
<p class="noindent"><code>system(STRING...)</code>: Join the strings and run the result as a
|
|
system command.
|
|
|
|
<p class="noindent"><code>add(NUMBER|STRING|CODE|LIST...)</code>: Add objects together. Numbers, strings, code
|
|
strings and lists can be used, but only with similar types. The type
|
|
of the first object determines what types the rest must be. The result
|
|
is stored in the first object and also returned.
|
|
|
|
<p class="noindent"><code>subtract(NUMBER...)</code>: Subtract numbers from each other. The
|
|
first object receives the final number. It is also returned.
|
|
|
|
<p class="noindent"><code>multiply(NUMBER...)</code>: Multiply numbers with each other. The
|
|
first object receives the final number. It is also returned.
|
|
|
|
<p class="noindent"><code>divide(NUMBER...)</code>: Divide numbers with each other. The
|
|
first object receives the final number. It is also returned.
|
|
|
|
<p class="noindent"><code>mod(NUMBER, NUMBER)</code>: Finds the remainder of the first number
|
|
divided with the second number and returns it as a new variable.
|
|
|
|
<p class="noindent"><code>pow(NUMBER, NUMBER)</code>: Returns first number^second number.
|
|
|
|
<p class="noindent"><code>log(NUMBER, [NUMBER])</code>: Returns the logarithm of the first
|
|
number. If the second number is not specified, the natural logarith is
|
|
used.
|
|
|
|
<p class="noindent"><code>random()</code>: Returns a random number between 0 and 1.
|
|
|
|
<p class="noindent"><code>abs(NUMBER...)</code>: Sets and returns absolute values of numbers.
|
|
|
|
<p class="noindent"><code>round(NUMBER, NUMBER)</code>: Rounds the first number with x decimals,
|
|
where x is the second number.
|
|
|
|
<p class="noindent"><code>floor(NUMBER, NUMBER)</code>: Floors the first number with x decimals,
|
|
where x is the second number.
|
|
|
|
<p class="noindent"><code>ceil(NUMBER, NUMBER)</code>: "Ceils" the first number with x decimals,
|
|
where x is the second number.
|
|
|
|
<p class="noindent"><code>sin(NUMBER...)</code>: Sets and returns sine values.
|
|
|
|
<p class="noindent"><code>cos(NUMBER...)</code>: Sets and returns cosine values.
|
|
|
|
<p class="noindent"><code>tan(NUMBER...)</code>: Sets and returns tangent values.
|
|
|
|
<p class="noindent"><code>asin(NUMBER...)</code>: Sets and returns arcsine values.
|
|
|
|
<p class="noindent"><code>acos(NUMBER...)</code>: Sets and returns arccosine values.
|
|
|
|
<p class="noindent"><code>atan(NUMBER...)</code>: Sets and returns arctangent values.
|
|
|
|
<p class="noindent"><code>sinh(NUMBER...)</code>: Sets and returns hyperbolic sine values.
|
|
|
|
<p class="noindent"><code>cosh(NUMBER...)</code>: Sets and returns hyperbolic cosine values.
|
|
|
|
<p class="noindent"><code>tanh(NUMBER...)</code>: Sets and returns hyperbolic tangent values.
|
|
|
|
</body></html>
|
|
|