parent
1a733ccf63
commit
5ad335937d
25
README.md
25
README.md
@ -244,6 +244,31 @@ Functions have a precedence of 190.
|
|||||||
| `true` | no | Expression is interpreted as `Value::Bool` |
|
| `true` | no | Expression is interpreted as `Value::Bool` |
|
||||||
| `.34` | no | Expression is interpreted as `Value::Float` |
|
| `.34` | no | Expression is interpreted as `Value::Float` |
|
||||||
|
|
||||||
|
### [serde](https://serde.rs)
|
||||||
|
|
||||||
|
This crate implements `serde::de::Deserialize` for its type `Node` that represents a parsed expression tree.
|
||||||
|
The implementation expects a `string` as input.
|
||||||
|
Example parsing with [ron format](docs.rs/ron):
|
||||||
|
|
||||||
|
```rust
|
||||||
|
extern crate ron;
|
||||||
|
use evalexpr::*;
|
||||||
|
|
||||||
|
let mut configuration = HashMapConfiguration::new();
|
||||||
|
configuration.insert_variable("five", 5);
|
||||||
|
|
||||||
|
// In ron format, strings are surrounded by "
|
||||||
|
let serialized_free = "\"five * five\"";
|
||||||
|
match ron::de::from_str::<Node>(serialized_free) {
|
||||||
|
Ok(free) => assert_eq!(free.eval_with_configuration(&configuration), Ok(Value::from(25))),
|
||||||
|
Err(error) => {
|
||||||
|
// Handle error
|
||||||
|
},
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
With `serde`, expressions can be integrated into arbitrarily complex data.
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
This crate is primarily distributed under the terms of the MIT license.
|
This crate is primarily distributed under the terms of the MIT license.
|
||||||
|
Loading…
Reference in New Issue
Block a user