[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
6 Programming
Here is a short introductory example to the Asymptote
programming
language that highlights the similarity of its control structures
with those of C, C++, and Java:
// This is a comment. // Declaration: Declare x to be a real variable; real x; // Assignment: Assign the real variable x the value 1. x=1.0; // Conditional: Test if x equals 1 or not. if(x == 1.0) { write("x equals 1.0"); } else { write("x is not equal to 1.0"); } // Loop: iterate 10 times for(int i=0; i < 10; ++i) { write(i); }
Asymptote
supports while
, do
, break
, and
continue
statements just as in C/C++. It also supports the Java-style
shorthand for iterating over all elements of an array:
// Iterate over an array int[] array={1,1,2,3,5}; for(int k : array) { write(k); }
In addition, it supports many features beyond the ones found in those languages.
6.1 Data types | void, bool, int, real, pair, triple, string | |
6.2 Paths and guides | Bezier curves | |
6.3 Pens | Colors, line types, line widths, font sizes | |
6.4 Transforms | Affine transforms | |
6.5 Frames and pictures | Canvases for immediate and deferred drawing | |
6.6 Files | Reading and writing your data | |
6.7 Variable initializers | Initialize your variables | |
6.8 Structures | Organize your data | |
6.9 Operators | Arithmetic and logical operators | |
6.10 Implicit scaling | Avoiding those ugly *s | |
6.11 Functions | Traditional and high-order functions | |
6.12 Arrays | Dynamic vectors | |
6.13 Casts | Implicit and explicit casts | |
6.14 Import | Importing external Asymptote modules
| |
6.15 Static | Where to allocate your variable? |
[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This document was generated on May 24, 2014 using texi2html 5.0.