File: Default-Arguments.html

package info (click to toggle)
octave 10.3.0-1
  • links: PTS, VCS
  • area: main
  • in suites:
  • size: 145,388 kB
  • sloc: cpp: 335,976; ansic: 82,241; fortran: 20,963; objc: 9,402; sh: 8,756; yacc: 4,392; lex: 4,333; perl: 1,544; java: 1,366; awk: 1,259; makefile: 659; xml: 192
file content (94 lines) | stat: -rw-r--r-- 3,888 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
<!DOCTYPE html>
<html>
<!-- Created by GNU Texinfo 7.1.1, https://www.gnu.org/software/texinfo/ -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Default Arguments (GNU Octave (version 10.3.0))</title>

<meta name="description" content="Default Arguments (GNU Octave (version 10.3.0))">
<meta name="keywords" content="Default Arguments (GNU Octave (version 10.3.0))">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta name="viewport" content="width=device-width,initial-scale=1">

<link href="index.html" rel="start" title="Top">
<link href="Concept-Index.html" rel="index" title="Concept Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="Functions-and-Scripts.html" rel="up" title="Functions and Scripts">
<link href="Validating-Arguments.html" rel="next" title="Validating Arguments">
<link href="Ignoring-Arguments.html" rel="prev" title="Ignoring Arguments">
<style type="text/css">
<!--
a.copiable-link {visibility: hidden; text-decoration: none; line-height: 0em}
div.example {margin-left: 3.2em}
span:hover a.copiable-link {visibility: visible}
-->
</style>
<link rel="stylesheet" type="text/css" href="octave.css">


</head>

<body lang="en">
<div class="section-level-extent" id="Default-Arguments">
<div class="nav-panel">
<p>
Next: <a href="Validating-Arguments.html" accesskey="n" rel="next">Validating Arguments</a>, Previous: <a href="Ignoring-Arguments.html" accesskey="p" rel="prev">Ignoring Arguments</a>, Up: <a href="Functions-and-Scripts.html" accesskey="u" rel="up">Functions and Scripts</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<h3 class="section" id="Default-Arguments-1"><span>11.8 Default Arguments<a class="copiable-link" href="#Default-Arguments-1"> &para;</a></span></h3>
<a class="index-entry-id" id="index-default-arguments"></a>

<p>Since Octave supports variable number of input arguments, it is very useful
to assign default values to some input arguments.  When an input argument
is declared in the argument list it is possible to assign a default
value to the argument like this
</p>
<div class="example">
<div class="group"><pre class="example-preformatted">function <var class="var">name</var> (<var class="var">arg1</var> = <var class="var">val1</var>, ...)
  <var class="var">body</var>
endfunction
</pre></div></div>

<p>If no value is assigned to <var class="var">arg1</var> by the user, it will have the
value <var class="var">val1</var>.
</p>
<p>As an example, the following function implements a variant of the classic
&ldquo;Hello, World&rdquo; program.
</p>
<div class="example">
<div class="group"><pre class="example-preformatted">function hello (who = &quot;World&quot;)
  printf (&quot;Hello, %s!\n&quot;, who);
endfunction
</pre></div></div>

<p>When called without an input argument the function prints the following
</p>
<div class="example">
<div class="group"><pre class="example-preformatted">hello ();
     -| Hello, World!
</pre></div></div>

<p>and when it&rsquo;s called with an input argument it prints the following
</p>
<div class="example">
<div class="group"><pre class="example-preformatted">hello (&quot;Beautiful World of Free Software&quot;);
     -| Hello, Beautiful World of Free Software!
</pre></div></div>

<p>Sometimes it is useful to explicitly tell Octave to use the default value
of an input argument.  This can be done writing a &lsquo;<samp class="samp">:</samp>&rsquo; as the value
of the input argument when calling the function.
</p>
<div class="example">
<div class="group"><pre class="example-preformatted">hello (:);
     -| Hello, World!
</pre></div></div>

</div>



</body>
</html>