comparison doc/faq/OctaveFAQ.texi @ 12704:da6cbb752368

maint: Periodic merge of stable to default branch.
author Rik <octave@nomad.inbox5.com>
date Sat, 04 Jun 2011 16:05:37 -0700
parents 0c956011c35c 013cd94d8d7f
children 72c96de7a403
comparison
equal deleted inserted replaced
12699:c0d102ad9bba 12704:da6cbb752368
240 @section I wrote a program that links with Octave libraries and I don't want to release it under the terms of the GPL. Will you change the license of the Octave libraries for me? 240 @section I wrote a program that links with Octave libraries and I don't want to release it under the terms of the GPL. Will you change the license of the Octave libraries for me?
241 241
242 No. Instead of asking us to change the licensing terms for Octave, we 242 No. Instead of asking us to change the licensing terms for Octave, we
243 recommend that you release your program under terms that are compatible 243 recommend that you release your program under terms that are compatible
244 with the GPL so that the free software community can benefit from your 244 with the GPL so that the free software community can benefit from your
245 work the same as you have benefitted from the work of all the people who 245 work the same as you have benefited from the work of all the people who
246 have contributed to Octave. 246 have contributed to Octave.
247 247
248 @node How can I cite Octave? 248 @node How can I cite Octave?
249 @chapter How can I cite Octave? 249 @chapter How can I cite Octave?
250 250
382 @chapter What features are unique to Octave? 382 @chapter What features are unique to Octave?
383 383
384 @menu 384 @menu
385 * Functions defined on the command-line:: 385 * Functions defined on the command-line::
386 * Comments with #:: 386 * Comments with #::
387 * Strings delimitted by double quotes ":: 387 * Strings delimited by double quotes "::
388 * Line continuation by backslash:: 388 * Line continuation by backslash::
389 * Informative block closing:: 389 * Informative block closing::
390 * Coherent syntax:: 390 * Coherent syntax::
391 * Exclamation mark as not operator:: 391 * Exclamation mark as not operator::
392 * Increment and decrement operators:: 392 * Increment and decrement operators::
422 addition to @samp{%}. See the previous example. The major advantage of 422 addition to @samp{%}. See the previous example. The major advantage of
423 this is that as @samp{#} is also a comment character for unix script 423 this is that as @samp{#} is also a comment character for unix script
424 files, any file that starts with a string like @samp{#! /usr/bin/octave 424 files, any file that starts with a string like @samp{#! /usr/bin/octave
425 -q} will be treated as an octave script and be executed by octave. 425 -q} will be treated as an octave script and be executed by octave.
426 426
427 @node Strings delimitted by double quotes " 427 @node Strings delimited by double quotes "
428 @section Strings delimitted by double quotes " 428 @section Strings delimited by double quotes "
429 The double quote, @samp{"}, may be used to delimit strings, in addition 429 The double quote, @samp{"}, may be used to delimit strings, in addition
430 to the single quote @samp{'}. See the previous example. Also, 430 to the single quote @samp{'}. See the previous example. Also,
431 double-quoted strings include backslash interpretation (like C++, C, and 431 double-quoted strings include backslash interpretation (like C++, C, and
432 Perl) while single quoted are uninterpreted (like @sc{Matlab} and Perl). 432 Perl) while single quoted are uninterpreted (like @sc{Matlab} and Perl).
433 433
511 @node Unwind-protect 511 @node Unwind-protect
512 @section Unwind-protect 512 @section Unwind-protect
513 513
514 @cindex Unwind-protect 514 @cindex Unwind-protect
515 515
516 Octave supports a limited form of exception handling modelled after the 516 Octave supports a limited form of exception handling modeled after the
517 unwind-protect form of Lisp. The general form of an 517 unwind-protect form of Lisp. The general form of an
518 @code{unwind_protect} block looks like this: 518 @code{unwind_protect} block looks like this:
519 519
520 @example 520 @example
521 @group 521 @group
642 @itemize @bullet 642 @itemize @bullet
643 @item @url{http://www.octave.org/download.html} 643 @item @url{http://www.octave.org/download.html}
644 @item @url{ftp://ftp.octave.org/pub/octave/} 644 @item @url{ftp://ftp.octave.org/pub/octave/}
645 @end itemize 645 @end itemize
646 646
647 Since Octave is distrubted under the terms of the GPL, you can get 647 Since Octave is distributed under the terms of the GPL, you can get
648 Octave from a friend who has a copy, or from the Octave website. 648 Octave from a friend who has a copy, or from the Octave website.
649 649
650 @node Pre-compiled binary packages 650 @node Pre-compiled binary packages
651 @section Pre-compiled binary packages 651 @section Pre-compiled binary packages
652 @cindex Pre-compiled binary packages 652 @cindex Pre-compiled binary packages
897 such thing is available in Octave, due to how Octave essentially 897 such thing is available in Octave, due to how Octave essentially
898 ``un-nests'' nested functions. 898 ``un-nests'' nested functions.
899 899
900 The authors of Octave consider the nested function scoping rules of 900 The authors of Octave consider the nested function scoping rules of
901 @sc{Matlab} to be more problems than they are worth as they introduce 901 @sc{Matlab} to be more problems than they are worth as they introduce
902 diffiult to find bugs as inadvertantly modifying a variable in a 902 difficult to find bugs as inadvertently modifying a variable in a
903 nested function that is also used in the parent is particularly easy. 903 nested function that is also used in the parent is particularly easy.
904 904
905 @item Differences in core syntax 905 @item Differences in core syntax
906 There a few core @sc{Matlab} syntaxes that are not accepted by Octave, 906 There a few core @sc{Matlab} syntaxes that are not accepted by Octave,
907 these being 907 these being
1031 functionality relative to the @sc{Matlab} toolboxes, and might not 1031 functionality relative to the @sc{Matlab} toolboxes, and might not
1032 exactly duplicate the @sc{Matlab} functionality or interface. 1032 exactly duplicate the @sc{Matlab} functionality or interface.
1033 1033
1034 @item Short-circuit & and | operators 1034 @item Short-circuit & and | operators
1035 The @code{&} and @code{|} operators in @sc{Matlab} short-circuit when 1035 The @code{&} and @code{|} operators in @sc{Matlab} short-circuit when
1036 included in an if statemant and not otherwise. In Octave only the 1036 included in an if statement and not otherwise. In Octave only the
1037 @code{&&} and @code{||} short circuit. Note that this means that 1037 @code{&&} and @code{||} short circuit. Note that this means that
1038 1038
1039 @example 1039 @example
1040 @group 1040 @group
1041 if (a | b) 1041 if (a | b)
1297 characters like @code{\n} (newline), @code{\t} (tab), etc are 1297 characters like @code{\n} (newline), @code{\t} (tab), etc are
1298 interpreted in double quoted strings but not single quoted strings. This 1298 interpreted in double quoted strings but not single quoted strings. This
1299 difference is important on Windows platforms where the "\" character is 1299 difference is important on Windows platforms where the "\" character is
1300 used in path names, and so single quoted strings should be used in 1300 used in path names, and so single quoted strings should be used in
1301 paths. @sc{Matlab} doesn't have double quoted strings and so they should 1301 paths. @sc{Matlab} doesn't have double quoted strings and so they should
1302 be avoided if the code will be transfered to a @sc{Matlab} user. 1302 be avoided if the code will be transferred to a @sc{Matlab} user.
1303 @end itemize 1303 @end itemize
1304 1304
1305 @end itemize 1305 @end itemize
1306 1306
1307 @node Index 1307 @node Index