mirror of
https://github.com/pocketpy/pocketpy
synced 2025-10-20 11:30:18 +00:00
...
This commit is contained in:
parent
d3d07d060c
commit
4811d9c4dc
@ -47,6 +47,12 @@ std::string f_input(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
static int f_input(pkpy_vm* vm){
|
static int f_input(pkpy_vm* vm){
|
||||||
|
if(!pkpy_is_none(vm, -1)){
|
||||||
|
pkpy_CString prompt;
|
||||||
|
bool ok = pkpy_to_string(vm, -1, &prompt);
|
||||||
|
if(!ok) return 0;
|
||||||
|
std::cout << std::string_view(prompt.data, prompt.size) << std::flush;
|
||||||
|
}
|
||||||
bool eof;
|
bool eof;
|
||||||
std::string output = pkpy_platform_getline(&eof);
|
std::string output = pkpy_platform_getline(&eof);
|
||||||
pkpy_push_string(vm, pkpy_string(output.c_str()));
|
pkpy_push_string(vm, pkpy_string(output.c_str()));
|
||||||
@ -56,7 +62,7 @@ static int f_input(pkpy_vm* vm){
|
|||||||
int main(int argc, char** argv){
|
int main(int argc, char** argv){
|
||||||
pkpy_vm* vm = pkpy_new_vm(true);
|
pkpy_vm* vm = pkpy_new_vm(true);
|
||||||
|
|
||||||
pkpy_push_function(vm, "input() -> str", f_input);
|
pkpy_push_function(vm, "input(prompt=None) -> str", f_input);
|
||||||
pkpy_eval(vm, "__import__('builtins')");
|
pkpy_eval(vm, "__import__('builtins')");
|
||||||
pkpy_setattr(vm, pkpy_name("input"));
|
pkpy_setattr(vm, pkpy_name("input"));
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user