mirror of
https://github.com/bitburner-official/bitburner-src.git
synced 2026-04-18 23:38:35 +02:00
Minor fixes in and cleaning up typoes in license
This commit is contained in:
59
doc/build/html/netscriptfunctions.html
vendored
59
doc/build/html/netscriptfunctions.html
vendored
@@ -1509,20 +1509,46 @@ false if the player clicks "No". The script's execution is halted unti
|
||||
<span class="k">return</span> <span class="n">res</span><span class="p">;</span>
|
||||
<span class="p">}</span>
|
||||
|
||||
<span class="nb">print</span><span class="p">(</span><span class="nb">sum</span><span class="p">([</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">4</span><span class="p">,</span> <span class="mi">5</span><span class="p">]));</span>
|
||||
<span class="nb">print</span><span class="p">(</span><span class="nb">sum</span><span class="p">([</span><span class="mi">1</span><span class="p">,</span> <span class="mi">10</span><span class="p">]));</span>
|
||||
<span class="nb">print</span><span class="p">(</span><span class="nb">sum</span><span class="p">([</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">4</span><span class="p">,</span> <span class="mi">5</span><span class="p">]));</span> <span class="o">//</span><span class="n">Prints</span> <span class="mi">15</span>
|
||||
<span class="nb">print</span><span class="p">(</span><span class="nb">sum</span><span class="p">([</span><span class="mi">1</span><span class="p">,</span> <span class="mi">10</span><span class="p">]));</span> <span class="o">//</span><span class="n">Prints</span> <span class="mi">11</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>The example above prints the following in its log:</p>
|
||||
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="mi">15</span>
|
||||
<span class="mi">11</span>
|
||||
<p>For those with experience in other languages, especially Javascript, it may be important to note that
|
||||
function declarations are not hoisted and must be declared BEFORE you use them.
|
||||
For example, the following will cause an error saying <cite>variable hello not defined</cite>:</p>
|
||||
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="nb">print</span><span class="p">(</span><span class="n">hello</span><span class="p">());</span>
|
||||
|
||||
<span class="n">function</span> <span class="n">hello</span><span class="p">()</span> <span class="p">{</span>
|
||||
<span class="k">return</span> <span class="s2">"world"</span><span class="p">;</span>
|
||||
<span class="p">}</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>The following will work fine:</p>
|
||||
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">function</span> <span class="n">hello</span><span class="p">()</span> <span class="p">{</span>
|
||||
<span class="k">return</span> <span class="s2">"world"</span><span class="p">;</span>
|
||||
<span class="p">}</span>
|
||||
|
||||
<span class="nb">print</span><span class="p">(</span><span class="n">hello</span><span class="p">());</span> <span class="o">//</span><span class="n">Prints</span> <span class="n">out</span> <span class="s2">"world"</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p><strong>Note about variable scope in functions:</strong></p>
|
||||
<p>Functions can access "global" variables declared outside of the function's scope. However, they cannot change the value of any "global" variables.
|
||||
Any changes to "global" variables will only be applied locally to the function. This also means that any variable that is first defined inside a
|
||||
function will NOT be accessible outside of the function.</p>
|
||||
<p>For example, the following code:</p>
|
||||
Any changes to "global" variables will only be applied locally to the function.</p>
|
||||
<p>The following example shows that any change to a "global" variable
|
||||
from inside a function only applies in the function's local scope:</p>
|
||||
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">function</span> <span class="n">foo</span><span class="p">()</span> <span class="p">{</span>
|
||||
<span class="n">i</span> <span class="o">=</span> <span class="mi">5</span><span class="p">;</span>
|
||||
<span class="k">return</span> <span class="s2">"foo"</span><span class="p">;</span>
|
||||
<span class="p">}</span>
|
||||
|
||||
<span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
|
||||
<span class="nb">print</span><span class="p">(</span><span class="n">i</span><span class="p">);</span> <span class="o">//</span><span class="n">Prints</span> <span class="mi">0</span>
|
||||
<span class="n">foo</span><span class="p">();</span>
|
||||
<span class="nb">print</span><span class="p">(</span><span class="n">i</span><span class="p">);</span> <span class="o">//</span><span class="n">Prints</span> <span class="mi">0</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>Furthermore, this also means that any variable that is first defined inside a
|
||||
function will NOT be accessible outside of the function as shown in the following example:</p>
|
||||
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">function</span> <span class="nb">sum</span><span class="p">(</span><span class="n">values</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="n">res</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
|
||||
<span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o"><</span> <span class="n">values</span><span class="o">.</span><span class="n">length</span><span class="p">;</span> <span class="o">++</span><span class="n">i</span><span class="p">)</span> <span class="p">{</span>
|
||||
@@ -1541,23 +1567,6 @@ function will NOT be accessible outside of the function.</p>
|
||||
<span class="n">variable</span> <span class="n">res</span> <span class="ow">not</span> <span class="n">defined</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>The following example shows that any change to "global" variable inside a function only applies in the function's local scope:</p>
|
||||
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">function</span> <span class="n">foo</span><span class="p">()</span> <span class="p">{</span>
|
||||
<span class="n">i</span> <span class="o">=</span> <span class="mi">5</span><span class="p">;</span>
|
||||
<span class="k">return</span> <span class="s2">"foo"</span><span class="p">;</span>
|
||||
<span class="p">}</span>
|
||||
|
||||
<span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
|
||||
<span class="nb">print</span><span class="p">(</span><span class="n">i</span><span class="p">);</span>
|
||||
<span class="n">foo</span><span class="p">();</span>
|
||||
<span class="nb">print</span><span class="p">(</span><span class="n">i</span><span class="p">);</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>Results in the following log:</p>
|
||||
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="mi">0</span>
|
||||
<span class="mi">0</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p><strong>Other Notes about creating your own functions:</strong></p>
|
||||
<p>Defining a function does not create a Javascript function object in the underlying game code. This means that you cannot use any function
|
||||
you create in functions such as <a class="reference external" href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort">Array.sort()</a> (not yet at least, I'll try to make it work in the future).</p>
|
||||
|
||||
Reference in New Issue
Block a user