Files
wiki/dst/QScript/Squirrel/Exports_And_Imports.html
T
relt-1 8310177574 Really proud of this idea
The file tree has a default expanded state to make file you are in be visible.
2023-09-24 14:59:56 +02:00

206 lines
7.7 KiB
HTML

<!DOCTYPE html>
<title>SourceBox Wiki</title>
<script>
documentlist = ['/wiki/index.html', '/wiki/QScript/Introduction.html', '/wiki/QScript/Private_Members.html', '/wiki/QScript/Contributing/Contributing.html', '/wiki/QScript/Contributing/API/qscript.html', '/wiki/QScript/Contributing/API/Structs/QCFunc.html', '/wiki/QScript/Contributing/API/Structs/QModuleDefFunc.html', '/wiki/QScript/Contributing/API/Structs/QScriptCallback.html', '/wiki/QScript/Contributing/API/Structs/QScriptClass.html', '/wiki/QScript/Contributing/API/Structs/QScriptClassCreator.html', '/wiki/QScript/Contributing/API/Structs/QType.html', '/wiki/QScript/Contributing/API/Structs/QValue.html', '/wiki/QScript/Lua/Classes.html', '/wiki/QScript/Lua/Exports.html', '/wiki/QScript/Lua/Imports.html', '/wiki/QScript/Lua/Intro.html', '/wiki/QScript/Lua/Objects.html', '/wiki/QScript/Squirrel/Exports_And_Imports.html', '/wiki/QScript/Squirrel/Intro.html', '/wiki/QScript/Tutorial/Chapter1.html', '/wiki/QScript/Tutorial/Chapter2.html'];
namelist = ['Wiki Intro', 'QScript Intro', 'Private Members', 'Contributing', 'QScript API', 'QCFunc', 'QModuleDefFunc', 'QScriptCallback', 'QScriptClass', 'QScriptClassCreator', 'QType', 'QValue', 'Lua Classes', 'Lua Exports', 'Lua Imports', 'Lua Intro', 'Lua Objects', 'Squirrel Exports and Imports', 'Squirrel Intro', 'QScript Tutorial Page 1: Mods', 'QScript Tutorial Page 2: Getting to work'];
function toggleTree(element)
{
nested = element.parentNode.childNodes[3];
if(nested.className.indexOf("active",0) != -1)
{
nested.className = "nested";
element.parentNode.childNodes[0].innerHTML = "+";
}
else
{
nested.className = "nested active";
element.parentNode.childNodes[0].innerHTML = "-";
}
if(element.className.indexOf("active",0) != -1)
{
element.className = ""
}
else
{
element.className = "active"
}
}
function updateSearch() {
searchtext = document.getElementById("searchbox").value.toLowerCase();
var res = [];
var searchresults = document.getElementById("searchresults")
searchresults.innerHTML = ""
if(searchtext === "")
{
document.getElementById("filetree").style.display = "block"
return;
}
else
{
document.getElementById("filetree").style.display = "none"
}
for (var i = 0; i < namelist.length; i++)
{
if(namelist[i].toLowerCase().indexOf(searchtext) == -1) continue;
var searchelement = document.createElement("li");
var link = document.createElement("a");
searchelement.appendChild(link);
link.setAttribute("href", documentlist[i]);
link.innerHTML = namelist[i];
searchresults.appendChild(searchelement);
}
}
</script>
<style>
pre {
margin-left:16px;
background-color: #EEE;
border-color: #CCC;
border-style:solid;
border-width:1px;
}
.nested {
display: none;
border-left: 1px solid #000;
}
ul.active {
display: block !important;
}
ul {
padding-left: 8px;
}
li ::marker {
color:#00000000;
display:none;
}
li {
list-style-type: none !important;
}
li b {
cursor: pointer;
display: inline-block;
}
.liicon {
display:inline-block;
width:12px;
height:100%;
font-family: monospace;
font-size: 16px;
}
</style>
<div style="position:fixed; display:block; top: 0px; left: 0px; height:100%; width:200px;border-color: black; border-width: 1px; border-style:solid;">
<input type="text" placeholder="search..." autocomplete="off" id="searchbox" oninput="updateSearch();" style="width:192px;">
<nav>
<ul id="searchresults">
</ul>
<ul id="filetree">
<li><a href="/wiki/index.html">Wiki Intro</a></li>
<li><small class="liicon">-</small><b onclick="toggleTree(this);">QScript</b>
<ul class="nested active">
<li><a href="/wiki/QScript/Introduction.html">QScript Intro</a></li>
<li><a href="/wiki/QScript/Private_Members.html">Private Members</a></li>
<li><small class="liicon">+</small><b onclick="toggleTree(this);">Contributing</b>
<ul class="nested">
<li><a href="/wiki/QScript/Contributing/Contributing.html">Contributing</a></li>
<li><small class="liicon">+</small><b onclick="toggleTree(this);">API</b>
<ul class="nested">
<li><a href="/wiki/QScript/Contributing/API/qscript.html">QScript API</a></li>
<li><small class="liicon">+</small><b onclick="toggleTree(this);">Structs</b>
<ul class="nested">
<li><a href="/wiki/QScript/Contributing/API/Structs/QCFunc.html">QCFunc</a></li>
<li><a href="/wiki/QScript/Contributing/API/Structs/QModuleDefFunc.html">QModuleDefFunc</a></li>
<li><a href="/wiki/QScript/Contributing/API/Structs/QScriptCallback.html">QScriptCallback</a></li>
<li><a href="/wiki/QScript/Contributing/API/Structs/QScriptClass.html">QScriptClass</a></li>
<li><a href="/wiki/QScript/Contributing/API/Structs/QScriptClassCreator.html">QScriptClassCreator</a></li>
<li><a href="/wiki/QScript/Contributing/API/Structs/QType.html">QType</a></li>
<li><a href="/wiki/QScript/Contributing/API/Structs/QValue.html">QValue</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li><small class="liicon">+</small><b onclick="toggleTree(this);">Lua</b>
<ul class="nested">
<li><a href="/wiki/QScript/Lua/Classes.html">Lua Classes</a></li>
<li><a href="/wiki/QScript/Lua/Exports.html">Lua Exports</a></li>
<li><a href="/wiki/QScript/Lua/Imports.html">Lua Imports</a></li>
<li><a href="/wiki/QScript/Lua/Intro.html">Lua Intro</a></li>
<li><a href="/wiki/QScript/Lua/Objects.html">Lua Objects</a></li>
</ul>
</li>
<li><small class="liicon">+</small><b onclick="toggleTree(this);">Python</b>
<ul class="nested">
</ul>
</li>
<li><small class="liicon">-</small><b onclick="toggleTree(this);">Squirrel</b>
<ul class="nested active">
<li><a href="/wiki/QScript/Squirrel/Exports_And_Imports.html">Squirrel Exports and Imports</a></li>
<li><a href="/wiki/QScript/Squirrel/Intro.html">Squirrel Intro</a></li>
</ul>
</li>
<li><small class="liicon">+</small><b onclick="toggleTree(this);">Tutorial</b>
<ul class="nested">
<li><a href="/wiki/QScript/Tutorial/Chapter1.html">QScript Tutorial Page 1: Mods</a></li>
<li><a href="/wiki/QScript/Tutorial/Chapter2.html">QScript Tutorial Page 2: Getting to work</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
<div style="margin-left:200px;">
<p id="errorp"></p>
<h1>Squirrel Exports and Imports</h1>
<p>The main big feature of QScript is the export system. It lets you export classes, objects and functions which other files can import from your script.</p>
<p>Let's say that you have a library called "MyLib.nut" inside a mod called "MyMod". This is what it contains:</p>
<p><small style="position:relative; top:16px;">MyMod/MyLib.nut</small></p>
<pre><code>class AdditionClass
{
function Add(a,b)
{
return a + b;
}
}
Addition &lt;- AdditionClass() -- Exports can only use global variables!
</code></pre>
<p>Now to export the <code>Addition</code> object, pass them to the <code>export()</code> function at the end of the file.</p>
<p><small style="position:relative; top:16px;">MyMod/MyLib.nut</small></p>
<pre><code>export(Addition);
</code></pre>
<p>To import the exported elements in another file, simply use the <code>import()</code> function with the file path of the script you want to import from.</p>
<pre><code>MyLib &lt;- import("MyMod/MyLib.nut");
MyLib.Addition.Add(2,5); -- will return 7
</code></pre>
<hr />
<p><a href="/wiki/QScript/Squirrel/Intro.html">&lt;- Prev</a> |
<a href="/wiki/QScript/Tutorial/Chapter1.html">Go back to the QScript Tutorial</a></p>
</div>