Mercurial > octave-nkf
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 |