File: functions_special.html

package info (click to toggle)
freemat 4.0-3
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 174,756 kB
  • ctags: 67,023
  • sloc: cpp: 351,059; ansic: 255,892; sh: 40,590; makefile: 4,387; perl: 4,058; asm: 3,313; pascal: 2,718; fortran: 1,722; ada: 1,681; ml: 1,360; cs: 879; csh: 795; python: 430; sed: 162; lisp: 160; awk: 5
file content (66 lines) | stat: -rw-r--r-- 1,720 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
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">

<HTML>
<HEAD>
<TITLE>SPECIAL Special Calling Syntax
</TITLE>
</HEAD>
<BODY>
<H2>SPECIAL Special Calling Syntax
</H2>
<P>
Section: <A HREF=sec_functions.html> Functions and Scripts </A>
<H3>Usage</H3>
To reduce the effort to call certain functions, FreeMat supports
a special calling syntax for functions that take string arguments.
In particular, the three following syntaxes are equivalent, with
one caveat:
<PRE>
   functionname('arg1','arg2',...,'argn')
</PRE>
<P>
or the parenthesis and commas can be removed
<PRE>
   functionname 'arg1' 'arg2' ... 'argn'
</PRE>
<P>
The quotes are also optional (providing, of course, that the
argument strings have no spaces in them)
<PRE>
   functionname arg1 arg2 ... argn
</PRE>
<P>
This special syntax enables you to type <code>hold on</code> instead of
the more cumbersome <code>hold('on')</code>.  The caveat is that FreeMat
currently only recognizes the special calling syntax as the
first statement on a line of input.  Thus, the following construction
<PRE>
  for i=1:10; plot(vec(i)); hold on; end
</PRE>
<P>
would not work.  This limitation may be removed in a future
version.
<H3>Example</H3>
Here is a function that takes two string arguments and
returns the concatenation of them.
<P>
<PRE>
     strcattest.m
function strcattest(str1,str2)
  str3 = [str1,str2];
  printf('str1 = %s, str2 = %s, str3 = %s\n',str1,str2,str3);

</PRE>
<P>
We call <code>strcattest</code> using all three syntaxes.
<PRE>
--&gt; strcattest('hi','ho')
str1 = hi, str2 = ho, str3 = hiho
--&gt; strcattest 'hi' 'ho'
str1 = hi, str2 = ho, str3 = hiho
--&gt; strcattest hi ho
str1 = hi, str2 = ho, str3 = hiho
</PRE>
<P>
</BODY>
</HTML>