Вызов функции Rust, которая вызывает функцию Python из кода PythonPython

Программы на Python
Ответить
Anonymous
 Вызов функции Rust, которая вызывает функцию Python из кода Python

Сообщение Anonymous »

Я новичок в pyo3, и мне хотелось бы добиться следующего. Мой основной код написан на Python, но я хотел бы вызвать функцию Rust из этого кода Python. Хитрость в том, что функция Rust должна иметь возможность вызывать функцию Python, предоставленную в качестве аргумента.
Предположим, у меня есть функция Python, которую нельзя встроить внутрь модуля Rust:

Код: Выделить всё

def double(x):
return 2*x
Я хочу создать функцию Rust, принимая эту функцию в качестве аргумента:

Код: Выделить всё

use pyo3::prelude::*;

fn my_rust_function(a: usize, f: ...) -> PyResult {
...
}
Наконец, эта функция Rust будет использоваться где-то в том же коде Python, что и выше:

Код: Выделить всё

import rust_module

def double(x):
return 2*x

def main():
return rust_module.my_rust_function(3, double)
Возможно ли такое поведение? Я читал часть документации о том, как вызывать Rust из Python и Python из Rust, но никогда не использовал такого двустороннего использования.


Подробнее здесь: https://stackoverflow.com/questions/793 ... ython-code
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»