2020-06-20 06:06:17 +02:00
|
|
|
The Rhai Scripting Language
|
|
|
|
==========================
|
|
|
|
|
2020-06-29 17:55:28 +02:00
|
|
|
1. [What is Rhai](about/index.md)
|
2020-06-20 06:06:17 +02:00
|
|
|
1. [Features](about/features.md)
|
|
|
|
2. [Supported Targets and Builds](about/targets.md)
|
2020-06-20 16:56:56 +02:00
|
|
|
3. [What Rhai Isn't](about/non-design.md)
|
2020-07-25 10:36:50 +02:00
|
|
|
4. [Licensing](about/license.md)
|
|
|
|
5. [Related Resources](about/related.md)
|
|
|
|
2. [Getting Started](start/index.md)
|
2020-06-29 17:55:28 +02:00
|
|
|
1. [Online Playground](start/playground.md)
|
|
|
|
2. [Install the Rhai Crate](start/install.md)
|
|
|
|
3. [Optional Features](start/features.md)
|
|
|
|
4. [Special Builds](start/builds/index.md)
|
2020-06-21 18:03:45 +02:00
|
|
|
1. [Performance](start/builds/performance.md)
|
|
|
|
2. [Minimal](start/builds/minimal.md)
|
|
|
|
3. [no-std](start/builds/no-std.md)
|
2020-06-20 06:06:17 +02:00
|
|
|
4. [WebAssembly (WASM)](start/builds/wasm.md)
|
2020-06-29 17:55:28 +02:00
|
|
|
5. [Examples](start/examples/index.md)
|
2020-06-20 06:06:17 +02:00
|
|
|
1. [Rust](start/examples/rust.md)
|
|
|
|
2. [Scripts](start/examples/scripts.md)
|
2020-07-25 10:36:50 +02:00
|
|
|
3. [Using the `Engine`](engine/index.md)
|
2020-06-20 06:06:17 +02:00
|
|
|
1. [Hello World in Rhai - Evaluate a Script](engine/hello-world.md)
|
2020-07-26 04:07:40 +02:00
|
|
|
2. [Compile to AST for Repeated Evaluations](engine/compile.md)
|
2020-06-20 06:06:17 +02:00
|
|
|
3. [Call a Rhai Function from Rust](engine/call-fn.md)
|
|
|
|
4. [Create a Rust Anonymous Function from a Rhai Function](engine/func.md)
|
|
|
|
5. [Evaluate Expressions Only](engine/expressions.md)
|
2020-06-20 16:56:56 +02:00
|
|
|
6. [Raw Engine](engine/raw.md)
|
2020-07-25 10:36:50 +02:00
|
|
|
4. [Extend Rhai with Rust](rust/index.md)
|
2020-06-20 06:06:17 +02:00
|
|
|
1. [Traits](rust/traits.md)
|
|
|
|
2. [Register a Rust Function](rust/functions.md)
|
2020-06-20 16:56:56 +02:00
|
|
|
1. [String Parameters in Rust Functions](rust/strings.md)
|
2020-06-20 06:06:17 +02:00
|
|
|
3. [Register a Generic Rust Function](rust/generic.md)
|
|
|
|
4. [Register a Fallible Rust Function](rust/fallible.md)
|
2020-06-21 18:03:45 +02:00
|
|
|
5. [Packages](rust/packages/index.md)
|
2020-06-20 16:56:56 +02:00
|
|
|
1. [Built-in Packages](rust/packages/builtin.md)
|
|
|
|
2. [Create a Custom Package](rust/packages/create.md)
|
2020-06-20 06:06:17 +02:00
|
|
|
6. [Override a Built-in Function](rust/override.md)
|
|
|
|
7. [Operator Overloading](rust/operators.md)
|
|
|
|
8. [Register a Custom Type and its Methods](rust/custom.md)
|
|
|
|
1. [Getters and Setters](rust/getters-setters.md)
|
|
|
|
2. [Indexers](rust/indexers.md)
|
|
|
|
3. [Disable Custom Types](rust/disable-custom.md)
|
|
|
|
4. [Printing Custom Types](rust/print-custom.md)
|
2020-06-21 18:03:45 +02:00
|
|
|
9. [Scope - Initializing and Maintaining State](rust/scope.md)
|
2020-06-20 06:06:17 +02:00
|
|
|
10. [Engine Configuration Options](rust/options.md)
|
2020-07-25 10:36:50 +02:00
|
|
|
5. [Rhai Language Reference](language/index.md)
|
2020-06-20 06:06:17 +02:00
|
|
|
1. [Comments](language/comments.md)
|
|
|
|
2. [Values and Types](language/values-and-types.md)
|
2020-06-20 16:56:56 +02:00
|
|
|
1. [Dynamic Values](language/dynamic.md)
|
|
|
|
2. [type-of()](language/type-of.md)
|
2020-06-20 06:06:17 +02:00
|
|
|
3. [Numbers](language/numbers.md)
|
|
|
|
1. [Operators](language/num-op.md)
|
|
|
|
2. [Functions](language/num-fn.md)
|
|
|
|
3. [Value Conversions](language/convert.md)
|
|
|
|
4. [Strings and Characters](language/strings-chars.md)
|
|
|
|
1. [Built-in Functions](language/string-fn.md)
|
|
|
|
5. [Arrays](language/arrays.md)
|
|
|
|
6. [Object Maps](language/object-maps.md)
|
|
|
|
1. [Parse from JSON](language/json.md)
|
2020-06-26 04:39:18 +02:00
|
|
|
2. [Special Support for OOP](language/object-maps-oop.md)
|
2020-06-20 06:06:17 +02:00
|
|
|
7. [Time-Stamps](language/timestamps.md)
|
|
|
|
3. [Keywords](language/keywords.md)
|
|
|
|
4. [Statements](language/statements.md)
|
|
|
|
5. [Variables](language/variables.md)
|
|
|
|
6. [Constants](language/constants.md)
|
|
|
|
7. [Logic Operators](language/logic.md)
|
2020-07-26 04:07:40 +02:00
|
|
|
8. [Other Operators](language/other-op.md)
|
|
|
|
9. [If Statement](language/if.md)
|
|
|
|
10. [While Loop](language/while.md)
|
|
|
|
11. [Loop Statement](language/loop.md)
|
|
|
|
12. [For Loop](language/for.md)
|
|
|
|
13. [Return Values](language/return.md)
|
|
|
|
14. [Throw Exception on Error](language/throw.md)
|
|
|
|
15. [Functions](language/functions.md)
|
2020-06-29 17:55:28 +02:00
|
|
|
1. [Call Method as Function](language/method.md)
|
|
|
|
2. [Overloading](language/overload.md)
|
|
|
|
3. [Namespaces](language/fn-namespaces.md)
|
|
|
|
4. [Function Pointers](language/fn-ptr.md)
|
2020-07-19 15:18:13 +02:00
|
|
|
5. [Anonymous Functions](language/fn-anon.md)
|
2020-07-22 17:12:09 +02:00
|
|
|
6. [Currying](language/fn-curry.md)
|
2020-08-04 10:27:55 +02:00
|
|
|
7. [Closures](language/fn-closure.md)
|
2020-07-26 04:07:40 +02:00
|
|
|
16. [Print and Debug](language/print-debug.md)
|
|
|
|
17. [Modules](language/modules/index.md)
|
2020-06-20 16:56:56 +02:00
|
|
|
1. [Export Variables, Functions and Sub-Modules](language/modules/export.md)
|
2020-06-20 06:06:17 +02:00
|
|
|
2. [Import Modules](language/modules/import.md)
|
2020-07-08 03:48:25 +02:00
|
|
|
3. [Create from Rust](rust/modules/index.md)
|
2020-06-20 16:56:56 +02:00
|
|
|
4. [Create from AST](language/modules/ast.md)
|
2020-07-08 03:48:25 +02:00
|
|
|
5. [Module Resolvers](rust/modules/resolvers.md)
|
|
|
|
1. [Custom Implementation](rust/modules/imp-resolver.md)
|
2020-07-25 10:36:50 +02:00
|
|
|
6. [Safety and Protection](safety/index.md)
|
2020-06-20 06:06:17 +02:00
|
|
|
1. [Checked Arithmetic](safety/checked.md)
|
|
|
|
2. [Sand-Boxing](safety/sandbox.md)
|
|
|
|
3. [Maximum Length of Strings](safety/max-string-size.md)
|
|
|
|
4. [Maximum Size of Arrays](safety/max-array-size.md)
|
|
|
|
5. [Maximum Size of Object Maps](safety/max-map-size.md)
|
|
|
|
6. [Maximum Number of Operations](safety/max-operations.md)
|
|
|
|
1. [Tracking Progress and Force-Termination](safety/progress.md)
|
|
|
|
7. [Maximum Number of Modules](safety/max-modules.md)
|
|
|
|
8. [Maximum Call Stack Depth](safety/max-call-stack.md)
|
|
|
|
9. [Maximum Statement Depth](safety/max-stmt-depth.md)
|
2020-07-25 10:36:50 +02:00
|
|
|
7. [Advanced Topics](advanced.md)
|
2020-08-07 05:44:15 +02:00
|
|
|
1. [Advanced Patterns](patterns/index.md)
|
2020-08-07 12:40:31 +02:00
|
|
|
1. [Object-Oriented Programming (OOP)](patterns/oop.md)
|
|
|
|
2. [Loadable Configuration](patterns/config.md)
|
|
|
|
3. [Control Layer](patterns/control.md)
|
|
|
|
4. [Singleton Command](patterns/singleton.md)
|
2020-08-07 05:44:15 +02:00
|
|
|
2. [Capture Scope for Function Call](language/fn-capture.md)
|
2020-07-30 12:18:28 +02:00
|
|
|
3. [Serialization/Deserialization of `Dynamic` with `serde`](rust/serde.md)
|
|
|
|
4. [Script Optimization](engine/optimize/index.md)
|
2020-06-20 06:06:17 +02:00
|
|
|
1. [Optimization Levels](engine/optimize/optimize-levels.md)
|
|
|
|
2. [Re-Optimize an AST](engine/optimize/reoptimize.md)
|
|
|
|
3. [Eager Function Evaluation](engine/optimize/eager.md)
|
|
|
|
4. [Side-Effect Considerations](engine/optimize/side-effects.md)
|
|
|
|
5. [Volatility Considerations](engine/optimize/volatility.md)
|
|
|
|
6. [Subtle Semantic Changes](engine/optimize/semantics.md)
|
2020-07-30 12:18:28 +02:00
|
|
|
5. [Low-Level API](rust/register-raw.md)
|
|
|
|
6. [Use as DSL](engine/dsl.md)
|
2020-07-09 16:21:07 +02:00
|
|
|
1. [Disable Keywords and/or Operators](engine/disable.md)
|
|
|
|
2. [Custom Operators](engine/custom-op.md)
|
2020-07-10 16:01:47 +02:00
|
|
|
3. [Extending with Custom Syntax](engine/custom-syntax.md)
|
2020-07-30 12:18:28 +02:00
|
|
|
7. [Eval Statement](language/eval.md)
|
2020-07-25 10:36:50 +02:00
|
|
|
8. [Appendix](appendix/index.md)
|
2020-07-05 11:41:45 +02:00
|
|
|
1. [Keywords](appendix/keywords.md)
|
2020-07-08 06:09:18 +02:00
|
|
|
2. [Operators and Symbols](appendix/operators.md)
|
2020-07-05 11:41:45 +02:00
|
|
|
3. [Literals](appendix/literals.md)
|