Julia: Difference between revisions
No edit summary |
No edit summary |
||
Line 39: | Line 39: | ||
===Animation Loop=== | ===Animation Loop=== | ||
You can use [https://docs.julialang.org/en/v1/base/base/#Base.Timer-Tuple{Function,Real} <code>Timer(callback, delay, interval)</code>]. This is similar to SetInterval in JavaScript.<br> | You can use [https://docs.julialang.org/en/v1/base/base/#Base.Timer-Tuple{Function,Real} <code>Timer(callback, delay, interval)</code>]. This is similar to SetInterval in JavaScript.<br> | ||
End the loop with <code>close(animate)</code>. | End the loop with [https://docs.julialang.org/en/v1/base/io-network/#Base.close <code>close(animate)</code>]. | ||
<syntaxhighlight lang="julia"> | <syntaxhighlight lang="julia"> | ||
animate = Timer(function(t) | animate = Timer(function(t) |
Revision as of 19:56, 10 September 2019
Basic Usage
Package Management
Guide Initializing a new project
cd project_folder
julia
] activate ./
# Add your packages
Loading an existing project
cd project_folder
julia
using Pkg;
Pkg.activate("./");
Pkg.instantiate();
String Interpolation
"Variable x is $x, y is $y, and x+y is $(x+y)"
Higher order functions
Julia supports high-order functions.
ts = ((a, b) -> (c, d) -> a + b + c + d)(1,2);
The call with arguments (1,2) returns a function.
Then ts
is equivalent to
ts = (c, d) -> 1 + 2 + c + d;
You can also use the full function(a,b)
syntax.
Animation Loop
You can use Timer(callback, delay, interval)
. This is similar to SetInterval in JavaScript.
End the loop with close(animate)
.
animate = Timer(function(t)
println("Animating")
end, 0; interval=1/60)
Graphics
Useful Packages
MeshCat.jl
Link
A wrapper for graphics visualizations around three.js. This opens in a web browser but can be used for making helium apps.
See Graphics in Julia for more details on how to use this.