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 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Created by GNU Texinfo 6.8, https://www.gnu.org/software/texinfo/ -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Command Syntax and Function Syntax (GNU Octave (version 7.3.0))</title>
<meta name="description" content="Command Syntax and Function Syntax (GNU Octave (version 7.3.0))">
<meta name="keywords" content="Command Syntax and Function Syntax (GNU Octave (version 7.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="Organization-of-Functions.html" rel="next" title="Organization of Functions">
<link href="Function-Handles-and-Anonymous-Functions.html" rel="prev" title="Function Handles and Anonymous Functions">
<style type="text/css">
<!--
a.copiable-anchor {visibility: hidden; text-decoration: none; line-height: 0em}
a.summary-letter {text-decoration: none}
blockquote.indentedblock {margin-right: 0em}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
kbd {font-style: oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
span.nolinebreak {white-space: nowrap}
span.roman {font-family: initial; font-weight: normal}
span.sansserif {font-family: sans-serif; font-weight: normal}
span:hover a.copiable-anchor {visibility: visible}
ul.no-bullet {list-style: none}
-->
</style>
<link rel="stylesheet" type="text/css" href="octave.css">
</head>
<body lang="en">
<div class="section" id="Command-Syntax-and-Function-Syntax">
<div class="header">
<p>
Next: <a href="Organization-of-Functions.html" accesskey="n" rel="next">Organization of Functions Distributed with Octave</a>, Previous: <a href="Function-Handles-and-Anonymous-Functions.html" accesskey="p" rel="prev">Function Handles and Anonymous Functions</a>, Up: <a href="Functions-and-Scripts.html" accesskey="u" rel="up">Functions and Scripts</a> [<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>
<span id="Command-Syntax-and-Function-Syntax-1"></span><h3 class="section">11.13 Command Syntax and Function Syntax</h3>
<span id="index-commands-functions"></span>
<p>Additionally to the function syntax described above (i.e., calling a function
like <code>fun (arg1, arg2, …)</code>), a function can be called using command
syntax (for example, calling a function like <code>fun arg1 arg2 …</code>). In
that case, all arguments are passed to the function as strings. For example,
</p>
<div class="example">
<pre class="example">my_command hello world
</pre></div>
<p>is equivalent to
</p>
<div class="example">
<pre class="example">my_command ("hello", "world")
</pre></div>
<p>The general form of a command call is
</p>
<div class="example">
<pre class="example">cmdname arg1 arg2 …
</pre></div>
<p>which translates directly to
</p>
<div class="example">
<pre class="example">cmdname ("arg1", "arg2", …)
</pre></div>
<p>If an argument including spaces should be passed to a function in command
syntax, (double-)quotes can be used. For example,
</p>
<div class="example">
<pre class="example">my_command "first argument" "second argument"
</pre></div>
<p>is equivalent to
</p>
<div class="example">
<pre class="example">my_command ("first argument", "second argument")
</pre></div>
<p>Any function can be used as a command if it accepts string input arguments.
For example:
</p>
<div class="example">
<pre class="example">toupper lower_case_arg
⇒ ans = LOWER_CASE_ARG
</pre></div>
<p>Since the arguments are passed as strings to the corresponding function, it is
not possible to pass input arguments that are stored in variables. In that
case, a command must be called using the function syntax. For example:
</p>
<div class="example">
<pre class="example">strvar = "hello world";
toupper strvar
⇒ ans = STRVAR
toupper (strvar)
⇒ ans = HELLO WORLD
</pre></div>
<p>Additionally, the return values of functions cannot be assigned to variables
using the command syntax. Only the first return argument is assigned to the
built-in variable <code>ans</code>. If the output argument of a command should be
assigned to a variable, or multiple output arguments of a function should be
returned, the function syntax must be used.
</p>
</div>
<hr>
<div class="header">
<p>
Next: <a href="Organization-of-Functions.html">Organization of Functions Distributed with Octave</a>, Previous: <a href="Function-Handles-and-Anonymous-Functions.html">Function Handles and Anonymous Functions</a>, Up: <a href="Functions-and-Scripts.html">Functions and Scripts</a> [<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>
</body>
</html>
|