String from flux
This commit is contained in:
@@ -1,4 +1,3 @@
|
||||
def hello(name):
|
||||
print("Hello, bro! " + name)
|
||||
# return "Idk, return value i guess"
|
||||
return 1.1
|
||||
return "Idk, return value i guess"
|
||||
+1
-1
@@ -7,5 +7,5 @@ fn main() {
|
||||
let gil = python::get_gil();
|
||||
let m = python::import("bro.py", &gil);
|
||||
|
||||
println!("{:?}", m.call("hello", vec![&"leo"]).extract::<f64>());
|
||||
println!("{:?}", m.call("hello", vec![&"leo"]).extract::<String>());
|
||||
}
|
||||
|
||||
+40
-9
@@ -2,6 +2,8 @@ use std::collections::{BTreeMap, HashMap};
|
||||
|
||||
use crate::{FluxValue, ToFlux};
|
||||
|
||||
// To Flux
|
||||
|
||||
impl ToFlux for i64 {
|
||||
fn to_flux(&self) -> FluxValue {
|
||||
FluxValue::Int(*self)
|
||||
@@ -14,15 +16,6 @@ impl ToFlux for f64 {
|
||||
}
|
||||
}
|
||||
|
||||
impl From<FluxValue> for f64 {
|
||||
fn from(value: FluxValue) -> Self {
|
||||
match value {
|
||||
FluxValue::Float(bits) => f64::from_bits(bits),
|
||||
v => panic!("Expected Int, instead got {v:?}"),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl ToFlux for &str {
|
||||
fn to_flux(&self) -> FluxValue {
|
||||
FluxValue::Str(self.to_string())
|
||||
@@ -35,6 +28,17 @@ impl ToFlux for String {
|
||||
}
|
||||
}
|
||||
|
||||
// From Flux
|
||||
|
||||
impl From<FluxValue> for f64 {
|
||||
fn from(value: FluxValue) -> Self {
|
||||
match value {
|
||||
FluxValue::Float(bits) => f64::from_bits(bits),
|
||||
v => panic!("Expected Float, instead got {v:?}"),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl From<FluxValue> for i64 {
|
||||
fn from(value: FluxValue) -> Self {
|
||||
match value {
|
||||
@@ -44,6 +48,33 @@ impl From<FluxValue> for i64 {
|
||||
}
|
||||
}
|
||||
|
||||
impl From<FluxValue> for i32 {
|
||||
fn from(value: FluxValue) -> Self {
|
||||
match value {
|
||||
FluxValue::Int(i) => i as i32,
|
||||
v => panic!("Expected Int, instead got {v:?}"),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl From<FluxValue> for u32 {
|
||||
fn from(value: FluxValue) -> Self {
|
||||
match value {
|
||||
FluxValue::Int(i) => i as u32,
|
||||
v => panic!("Expected Int, instead got {v:?}"),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl From<FluxValue> for String {
|
||||
fn from(value: FluxValue) -> Self {
|
||||
match value {
|
||||
FluxValue::Str(s) => s,
|
||||
v => panic!("Expected Str, instead got {v:?}"),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl<K: ToFlux, V: ToFlux> ToFlux for HashMap<K, V> {
|
||||
fn to_flux(&self) -> FluxValue {
|
||||
FluxValue::Map(
|
||||
|
||||
Reference in New Issue
Block a user