Next: LaTeX usage, Previous: Bezier curves, Up: Top [Contents][Index]
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.
• Data types: | void, bool, int, real, pair, triple, string | |
• Paths and guides: | ||
• Pens: | Colors, line types, line widths, font sizes | |
• Transforms: | Affine transforms | |
• Frames and pictures: | Canvases for immediate and deferred drawing | |
• Files: | Reading and writing your data | |
• Variable initializers: | Initialize your variables | |
• Structures: | Organize your data | |
• Operators: | Arithmetic and logical operators | |
• Implicit scaling: | Avoiding those ugly *s | |
• Functions: | Traditional and high-order functions | |
• Arrays: | Dynamic vectors | |
• Casts: | Implicit and explicit casts | |
• Import: | Importing external Asymptote modules
| |
• Static: | Where to allocate your variable? |
Next: LaTeX usage, Previous: Bezier curves, Up: Top [Contents][Index]