| [ << ] | [ < ] | [ 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.
