diff --git a/examples/assignment.rhai b/examples/assignment.rhai new file mode 100644 index 00000000..039fe37d --- /dev/null +++ b/examples/assignment.rhai @@ -0,0 +1,2 @@ +var x = 78 +print(x) diff --git a/examples/function_decl1.rhai b/examples/function_decl1.rhai new file mode 100644 index 00000000..c23357b8 --- /dev/null +++ b/examples/function_decl1.rhai @@ -0,0 +1,5 @@ +fn bob() { + 3 +} + +print(bob()) diff --git a/examples/function_decl2.rhai b/examples/function_decl2.rhai new file mode 100644 index 00000000..b341688b --- /dev/null +++ b/examples/function_decl2.rhai @@ -0,0 +1,5 @@ +fn addme(a, b) { + a+b +} + +print(addme(3, 4)) diff --git a/examples/if1.rhai b/examples/if1.rhai new file mode 100644 index 00000000..61ed6cbf --- /dev/null +++ b/examples/if1.rhai @@ -0,0 +1,5 @@ +var a = true; +if (a) { + var x = 56; + print(x); +} diff --git a/examples/op1.rhai b/examples/op1.rhai new file mode 100644 index 00000000..3f25f040 --- /dev/null +++ b/examples/op1.rhai @@ -0,0 +1 @@ +print(34 + 12) diff --git a/examples/op2.rhai b/examples/op2.rhai new file mode 100644 index 00000000..c7767bc8 --- /dev/null +++ b/examples/op2.rhai @@ -0,0 +1 @@ +print(12 + 34 * 5) diff --git a/examples/op3.rhai b/examples/op3.rhai new file mode 100644 index 00000000..7e5eb4e2 --- /dev/null +++ b/examples/op3.rhai @@ -0,0 +1 @@ +print(0 + (12 + 34) * 5) diff --git a/examples/speed_test.rhai b/examples/speed_test.rhai new file mode 100644 index 00000000..134c17d6 --- /dev/null +++ b/examples/speed_test.rhai @@ -0,0 +1,5 @@ +var x = 1000000; +while x > 0 { + x = x - 1; +} +print(x); diff --git a/examples/while.rhai b/examples/while.rhai new file mode 100644 index 00000000..0e5c9dab --- /dev/null +++ b/examples/while.rhai @@ -0,0 +1,6 @@ +var x = 10; + +while x > 0 { + print(x); + x = x - 1; +} diff --git a/src/main.rs b/src/main.rs index acbadfc7..e742ba13 100644 --- a/src/main.rs +++ b/src/main.rs @@ -12,11 +12,9 @@ use fn_register::FnRegister; mod parser; // Todo (in no particular order): -// * Function in script // * Doc some examples // * String constants // * Remove empty box values? -// * Refactor identifer to not require inlining of clone lookup in engine? fn showit(x: &mut T) -> () { println!("{}", x) @@ -25,7 +23,7 @@ fn showit(x: &mut T) -> () { fn main() { for fname in env::args().skip(1) { let mut engine = Engine::new(); - + &(showit as fn(x: &mut i32)->()).register(&mut engine, "print"); &(showit as fn(x: &mut i64)->()).register(&mut engine, "print"); &(showit as fn(x: &mut u32)->()).register(&mut engine, "print");