Nasal scripting language: Difference between revisions

Jump to navigation Jump to search
Line 5: Line 5:
{{WIP}}
{{WIP}}
{{Template:Nasal Navigation}}
{{Template:Nasal Navigation}}
== Hello world ==
A simple hello world example in Nasal would be:
<syntaxhighlight lang="php">
# hello.nas
print('Hello World!');
</syntaxhighlight>
This will show the "Hello World" string during startup in the console window. The hash sign (#) just introduces comments (i.e. will be ignored by the interpreter).
Note: Script-specific symbols such as global variables (or functions) will be put into a scope (namespace) based on the script's name, scripts embedded via aircraft-set.xml files can separately specify a corresponding module name (see [[Howto: Make an aircraft]] for details).
Strings in Nasal can also use double quotes which support escaping:
<syntaxhighlight lang="php">
# hello.nas
print("Hello\nWorld!");
</syntaxhighlight>
Double quotes support typical escape sequences:
* \n Newline
* \t Horizontal Tab
* \v Vertical Tab
* \b Backspace
* \r Carriage Return
* \f Form feed
* \a Audible Alert (bell)
* \\ Backslash
* \? Question mark
* \' Single quote
* \" Double quote
For example, to print a new line, use:
print ("\n");
To print a quoted string, use:
print ("\"quoted string\"");
and so on.
Single quotes treat everything as literal except for embedded single quotes (including embedded whitespace like newlines).
Nasal strings are always arrays of bytes (never characters: see the utf8 library if you want character-based equivalents of substr() et. al.). They can be indexed just like in C (although note that there is no nul termination -- get the length with size()):


==Built-in functions==
==Built-in functions==

Navigation menu