fix examples and let into decimal convert bools too (#6246)

This commit is contained in:
pwygab 2022-08-06 20:10:33 +08:00 committed by GitHub
parent a217bc0715
commit a871f2344a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -42,7 +42,7 @@ impl Command for SubCommand {
fn examples(&self) -> Vec<Example> { fn examples(&self) -> Vec<Example> {
vec![ vec![
Example { Example {
description: "Convert string to integer in table", description: "Convert string to decimal in table",
example: "[[num]; ['5.01']] | into decimal num", example: "[[num]; ['5.01']] | into decimal num",
result: Some(Value::List { result: Some(Value::List {
vals: vec![Value::Record { vals: vec![Value::Record {
@ -54,15 +54,20 @@ impl Command for SubCommand {
}), }),
}, },
Example { Example {
description: "Convert string to integer", description: "Convert string to decimal",
example: "'1.345' | into decimal", example: "'1.345' | into decimal",
result: Some(Value::test_float(1.345)), result: Some(Value::test_float(1.345)),
}, },
Example { Example {
description: "Convert decimal to integer", description: "Convert decimal to decimal",
example: "'-5.9' | into decimal", example: "'-5.9' | into decimal",
result: Some(Value::test_float(-5.9)), result: Some(Value::test_float(-5.9)),
}, },
Example {
description: "Convert boolean to decimal",
example: "true | into decimal",
result: Some(Value::test_float(1.0)),
},
] ]
} }
} }
@ -118,6 +123,13 @@ fn action(input: &Value, head: Span) -> Value {
val: *v as f64, val: *v as f64,
span: *span, span: *span,
}, },
Value::Bool { val: b, span } => Value::Float {
val: match b {
true => 1.0,
false => 0.0,
},
span: *span,
},
other => { other => {
let span = other.span(); let span = other.span();
match span { match span {