String from flux
This commit is contained in:
@@ -1,4 +1,3 @@
|
|||||||
def hello(name):
|
def hello(name):
|
||||||
print("Hello, bro! " + name)
|
print("Hello, bro! " + name)
|
||||||
# return "Idk, return value i guess"
|
return "Idk, return value i guess"
|
||||||
return 1.1
|
|
||||||
+1
-1
@@ -7,5 +7,5 @@ fn main() {
|
|||||||
let gil = python::get_gil();
|
let gil = python::get_gil();
|
||||||
let m = python::import("bro.py", &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};
|
use crate::{FluxValue, ToFlux};
|
||||||
|
|
||||||
|
// To Flux
|
||||||
|
|
||||||
impl ToFlux for i64 {
|
impl ToFlux for i64 {
|
||||||
fn to_flux(&self) -> FluxValue {
|
fn to_flux(&self) -> FluxValue {
|
||||||
FluxValue::Int(*self)
|
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 {
|
impl ToFlux for &str {
|
||||||
fn to_flux(&self) -> FluxValue {
|
fn to_flux(&self) -> FluxValue {
|
||||||
FluxValue::Str(self.to_string())
|
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 {
|
impl From<FluxValue> for i64 {
|
||||||
fn from(value: FluxValue) -> Self {
|
fn from(value: FluxValue) -> Self {
|
||||||
match value {
|
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> {
|
impl<K: ToFlux, V: ToFlux> ToFlux for HashMap<K, V> {
|
||||||
fn to_flux(&self) -> FluxValue {
|
fn to_flux(&self) -> FluxValue {
|
||||||
FluxValue::Map(
|
FluxValue::Map(
|
||||||
|
|||||||
Reference in New Issue
Block a user