Trait rhai::FuncArgs [−][src]
Expand description
Trait that parses arguments to a function call.
Any data type can implement this trait in order to pass arguments to a function call.
Required methods
fn parse<CONTAINER: Extend<Dynamic>>(self, container: &mut CONTAINER)
[src]
fn parse<CONTAINER: Extend<Dynamic>>(self, container: &mut CONTAINER)
[src]Parse function call arguments into a container.
Example
use rhai::{Engine, Dynamic, FuncArgs, Scope}; // A struct containing function arguments struct Options { pub foo: bool, pub bar: String, pub baz: i64, } impl FuncArgs for Options { fn parse<CONTAINER: Extend<Dynamic>>(self, container: &mut CONTAINER) { container.extend(std::iter::once(self.foo.into())); container.extend(std::iter::once(self.bar.into())); container.extend(std::iter::once(self.baz.into())); } } let options = Options { foo: false, bar: "world".to_string(), baz: 42 }; let engine = Engine::new(); let mut scope = Scope::new(); let ast = engine.compile(r#" fn hello(x, y, z) { if x { `hello ${y}` } else { y + z } } "#)?; let result: String = engine.call_fn(&mut scope, &ast, "hello", options)?; assert_eq!(result, "world42");
Implementations on Foreign Types
impl<A: Variant + Clone, B: Variant + Clone, C: Variant + Clone, D: Variant + Clone, E: Variant + Clone, F: Variant + Clone, G: Variant + Clone, H: Variant + Clone, J: Variant + Clone, K: Variant + Clone, L: Variant + Clone, M: Variant + Clone, N: Variant + Clone, P: Variant + Clone, Q: Variant + Clone, R: Variant + Clone, S: Variant + Clone, T: Variant + Clone, U: Variant + Clone, V: Variant + Clone> FuncArgs for (A, B, C, D, E, F, G, H, J, K, L, M, N, P, Q, R, S, T, U, V)
[src]
impl<A: Variant + Clone, B: Variant + Clone, C: Variant + Clone, D: Variant + Clone, E: Variant + Clone, F: Variant + Clone, G: Variant + Clone, H: Variant + Clone, J: Variant + Clone, K: Variant + Clone, L: Variant + Clone, M: Variant + Clone, N: Variant + Clone, P: Variant + Clone, Q: Variant + Clone, R: Variant + Clone, S: Variant + Clone, T: Variant + Clone, U: Variant + Clone, V: Variant + Clone> FuncArgs for (A, B, C, D, E, F, G, H, J, K, L, M, N, P, Q, R, S, T, U, V)
[src]impl<B: Variant + Clone, C: Variant + Clone, D: Variant + Clone, E: Variant + Clone, F: Variant + Clone, G: Variant + Clone, H: Variant + Clone, J: Variant + Clone, K: Variant + Clone, L: Variant + Clone, M: Variant + Clone, N: Variant + Clone, P: Variant + Clone, Q: Variant + Clone, R: Variant + Clone, S: Variant + Clone, T: Variant + Clone, U: Variant + Clone, V: Variant + Clone> FuncArgs for (B, C, D, E, F, G, H, J, K, L, M, N, P, Q, R, S, T, U, V)
[src]
impl<B: Variant + Clone, C: Variant + Clone, D: Variant + Clone, E: Variant + Clone, F: Variant + Clone, G: Variant + Clone, H: Variant + Clone, J: Variant + Clone, K: Variant + Clone, L: Variant + Clone, M: Variant + Clone, N: Variant + Clone, P: Variant + Clone, Q: Variant + Clone, R: Variant + Clone, S: Variant + Clone, T: Variant + Clone, U: Variant + Clone, V: Variant + Clone> FuncArgs for (B, C, D, E, F, G, H, J, K, L, M, N, P, Q, R, S, T, U, V)
[src]impl<C: Variant + Clone, D: Variant + Clone, E: Variant + Clone, F: Variant + Clone, G: Variant + Clone, H: Variant + Clone, J: Variant + Clone, K: Variant + Clone, L: Variant + Clone, M: Variant + Clone, N: Variant + Clone, P: Variant + Clone, Q: Variant + Clone, R: Variant + Clone, S: Variant + Clone, T: Variant + Clone, U: Variant + Clone, V: Variant + Clone> FuncArgs for (C, D, E, F, G, H, J, K, L, M, N, P, Q, R, S, T, U, V)
[src]
impl<C: Variant + Clone, D: Variant + Clone, E: Variant + Clone, F: Variant + Clone, G: Variant + Clone, H: Variant + Clone, J: Variant + Clone, K: Variant + Clone, L: Variant + Clone, M: Variant + Clone, N: Variant + Clone, P: Variant + Clone, Q: Variant + Clone, R: Variant + Clone, S: Variant + Clone, T: Variant + Clone, U: Variant + Clone, V: Variant + Clone> FuncArgs for (C, D, E, F, G, H, J, K, L, M, N, P, Q, R, S, T, U, V)
[src]impl<D: Variant + Clone, E: Variant + Clone, F: Variant + Clone, G: Variant + Clone, H: Variant + Clone, J: Variant + Clone, K: Variant + Clone, L: Variant + Clone, M: Variant + Clone, N: Variant + Clone, P: Variant + Clone, Q: Variant + Clone, R: Variant + Clone, S: Variant + Clone, T: Variant + Clone, U: Variant + Clone, V: Variant + Clone> FuncArgs for (D, E, F, G, H, J, K, L, M, N, P, Q, R, S, T, U, V)
[src]
impl<D: Variant + Clone, E: Variant + Clone, F: Variant + Clone, G: Variant + Clone, H: Variant + Clone, J: Variant + Clone, K: Variant + Clone, L: Variant + Clone, M: Variant + Clone, N: Variant + Clone, P: Variant + Clone, Q: Variant + Clone, R: Variant + Clone, S: Variant + Clone, T: Variant + Clone, U: Variant + Clone, V: Variant + Clone> FuncArgs for (D, E, F, G, H, J, K, L, M, N, P, Q, R, S, T, U, V)
[src]impl<E: Variant + Clone, F: Variant + Clone, G: Variant + Clone, H: Variant + Clone, J: Variant + Clone, K: Variant + Clone, L: Variant + Clone, M: Variant + Clone, N: Variant + Clone, P: Variant + Clone, Q: Variant + Clone, R: Variant + Clone, S: Variant + Clone, T: Variant + Clone, U: Variant + Clone, V: Variant + Clone> FuncArgs for (E, F, G, H, J, K, L, M, N, P, Q, R, S, T, U, V)
[src]
impl<E: Variant + Clone, F: Variant + Clone, G: Variant + Clone, H: Variant + Clone, J: Variant + Clone, K: Variant + Clone, L: Variant + Clone, M: Variant + Clone, N: Variant + Clone, P: Variant + Clone, Q: Variant + Clone, R: Variant + Clone, S: Variant + Clone, T: Variant + Clone, U: Variant + Clone, V: Variant + Clone> FuncArgs for (E, F, G, H, J, K, L, M, N, P, Q, R, S, T, U, V)
[src]impl<F: Variant + Clone, G: Variant + Clone, H: Variant + Clone, J: Variant + Clone, K: Variant + Clone, L: Variant + Clone, M: Variant + Clone, N: Variant + Clone, P: Variant + Clone, Q: Variant + Clone, R: Variant + Clone, S: Variant + Clone, T: Variant + Clone, U: Variant + Clone, V: Variant + Clone> FuncArgs for (F, G, H, J, K, L, M, N, P, Q, R, S, T, U, V)
[src]
impl<F: Variant + Clone, G: Variant + Clone, H: Variant + Clone, J: Variant + Clone, K: Variant + Clone, L: Variant + Clone, M: Variant + Clone, N: Variant + Clone, P: Variant + Clone, Q: Variant + Clone, R: Variant + Clone, S: Variant + Clone, T: Variant + Clone, U: Variant + Clone, V: Variant + Clone> FuncArgs for (F, G, H, J, K, L, M, N, P, Q, R, S, T, U, V)
[src]impl<G: Variant + Clone, H: Variant + Clone, J: Variant + Clone, K: Variant + Clone, L: Variant + Clone, M: Variant + Clone, N: Variant + Clone, P: Variant + Clone, Q: Variant + Clone, R: Variant + Clone, S: Variant + Clone, T: Variant + Clone, U: Variant + Clone, V: Variant + Clone> FuncArgs for (G, H, J, K, L, M, N, P, Q, R, S, T, U, V)
[src]
impl<G: Variant + Clone, H: Variant + Clone, J: Variant + Clone, K: Variant + Clone, L: Variant + Clone, M: Variant + Clone, N: Variant + Clone, P: Variant + Clone, Q: Variant + Clone, R: Variant + Clone, S: Variant + Clone, T: Variant + Clone, U: Variant + Clone, V: Variant + Clone> FuncArgs for (G, H, J, K, L, M, N, P, Q, R, S, T, U, V)
[src]impl<H: Variant + Clone, J: Variant + Clone, K: Variant + Clone, L: Variant + Clone, M: Variant + Clone, N: Variant + Clone, P: Variant + Clone, Q: Variant + Clone, R: Variant + Clone, S: Variant + Clone, T: Variant + Clone, U: Variant + Clone, V: Variant + Clone> FuncArgs for (H, J, K, L, M, N, P, Q, R, S, T, U, V)
[src]
impl<H: Variant + Clone, J: Variant + Clone, K: Variant + Clone, L: Variant + Clone, M: Variant + Clone, N: Variant + Clone, P: Variant + Clone, Q: Variant + Clone, R: Variant + Clone, S: Variant + Clone, T: Variant + Clone, U: Variant + Clone, V: Variant + Clone> FuncArgs for (H, J, K, L, M, N, P, Q, R, S, T, U, V)
[src]impl<J: Variant + Clone, K: Variant + Clone, L: Variant + Clone, M: Variant + Clone, N: Variant + Clone, P: Variant + Clone, Q: Variant + Clone, R: Variant + Clone, S: Variant + Clone, T: Variant + Clone, U: Variant + Clone, V: Variant + Clone> FuncArgs for (J, K, L, M, N, P, Q, R, S, T, U, V)
[src]
impl<J: Variant + Clone, K: Variant + Clone, L: Variant + Clone, M: Variant + Clone, N: Variant + Clone, P: Variant + Clone, Q: Variant + Clone, R: Variant + Clone, S: Variant + Clone, T: Variant + Clone, U: Variant + Clone, V: Variant + Clone> FuncArgs for (J, K, L, M, N, P, Q, R, S, T, U, V)
[src]impl<K: Variant + Clone, L: Variant + Clone, M: Variant + Clone, N: Variant + Clone, P: Variant + Clone, Q: Variant + Clone, R: Variant + Clone, S: Variant + Clone, T: Variant + Clone, U: Variant + Clone, V: Variant + Clone> FuncArgs for (K, L, M, N, P, Q, R, S, T, U, V)
[src]
impl<K: Variant + Clone, L: Variant + Clone, M: Variant + Clone, N: Variant + Clone, P: Variant + Clone, Q: Variant + Clone, R: Variant + Clone, S: Variant + Clone, T: Variant + Clone, U: Variant + Clone, V: Variant + Clone> FuncArgs for (K, L, M, N, P, Q, R, S, T, U, V)
[src]impl<L: Variant + Clone, M: Variant + Clone, N: Variant + Clone, P: Variant + Clone, Q: Variant + Clone, R: Variant + Clone, S: Variant + Clone, T: Variant + Clone, U: Variant + Clone, V: Variant + Clone> FuncArgs for (L, M, N, P, Q, R, S, T, U, V)
[src]
impl<L: Variant + Clone, M: Variant + Clone, N: Variant + Clone, P: Variant + Clone, Q: Variant + Clone, R: Variant + Clone, S: Variant + Clone, T: Variant + Clone, U: Variant + Clone, V: Variant + Clone> FuncArgs for (L, M, N, P, Q, R, S, T, U, V)
[src]impl<M: Variant + Clone, N: Variant + Clone, P: Variant + Clone, Q: Variant + Clone, R: Variant + Clone, S: Variant + Clone, T: Variant + Clone, U: Variant + Clone, V: Variant + Clone> FuncArgs for (M, N, P, Q, R, S, T, U, V)
[src]
impl<M: Variant + Clone, N: Variant + Clone, P: Variant + Clone, Q: Variant + Clone, R: Variant + Clone, S: Variant + Clone, T: Variant + Clone, U: Variant + Clone, V: Variant + Clone> FuncArgs for (M, N, P, Q, R, S, T, U, V)
[src]impl<N: Variant + Clone, P: Variant + Clone, Q: Variant + Clone, R: Variant + Clone, S: Variant + Clone, T: Variant + Clone, U: Variant + Clone, V: Variant + Clone> FuncArgs for (N, P, Q, R, S, T, U, V)
[src]
impl<N: Variant + Clone, P: Variant + Clone, Q: Variant + Clone, R: Variant + Clone, S: Variant + Clone, T: Variant + Clone, U: Variant + Clone, V: Variant + Clone> FuncArgs for (N, P, Q, R, S, T, U, V)
[src]impl<P: Variant + Clone, Q: Variant + Clone, R: Variant + Clone, S: Variant + Clone, T: Variant + Clone, U: Variant + Clone, V: Variant + Clone> FuncArgs for (P, Q, R, S, T, U, V)
[src]
impl<P: Variant + Clone, Q: Variant + Clone, R: Variant + Clone, S: Variant + Clone, T: Variant + Clone, U: Variant + Clone, V: Variant + Clone> FuncArgs for (P, Q, R, S, T, U, V)
[src]impl<Q: Variant + Clone, R: Variant + Clone, S: Variant + Clone, T: Variant + Clone, U: Variant + Clone, V: Variant + Clone> FuncArgs for (Q, R, S, T, U, V)
[src]
impl<Q: Variant + Clone, R: Variant + Clone, S: Variant + Clone, T: Variant + Clone, U: Variant + Clone, V: Variant + Clone> FuncArgs for (Q, R, S, T, U, V)
[src]impl<R: Variant + Clone, S: Variant + Clone, T: Variant + Clone, U: Variant + Clone, V: Variant + Clone> FuncArgs for (R, S, T, U, V)
[src]
impl<R: Variant + Clone, S: Variant + Clone, T: Variant + Clone, U: Variant + Clone, V: Variant + Clone> FuncArgs for (R, S, T, U, V)
[src]impl<S: Variant + Clone, T: Variant + Clone, U: Variant + Clone, V: Variant + Clone> FuncArgs for (S, T, U, V)
[src]
impl<S: Variant + Clone, T: Variant + Clone, U: Variant + Clone, V: Variant + Clone> FuncArgs for (S, T, U, V)
[src]