mirror of
https://github.com/ValKmjolnir/Nasal-Interpreter.git
synced 2026-07-26 21:08:45 +08:00
🚀 input now can choose std::getline to read one line.
This commit is contained in:
@@ -25,8 +25,8 @@ var system=func(str){
|
|||||||
}
|
}
|
||||||
|
|
||||||
# input uses std::cin and returns what we input.
|
# input uses std::cin and returns what we input.
|
||||||
var input=func(){
|
var input=func(end=nil){
|
||||||
return __input();
|
return __input(end);
|
||||||
}
|
}
|
||||||
|
|
||||||
# split a string by separator for example:
|
# split a string by separator for example:
|
||||||
|
|||||||
@@ -277,8 +277,12 @@ nas_ref builtin_system(nas_ref* local,nasal_gc& gc)
|
|||||||
}
|
}
|
||||||
nas_ref builtin_input(nas_ref* local,nasal_gc& gc)
|
nas_ref builtin_input(nas_ref* local,nasal_gc& gc)
|
||||||
{
|
{
|
||||||
|
nas_ref end=local[1];
|
||||||
nas_ref ret=gc.alloc(vm_str);
|
nas_ref ret=gc.alloc(vm_str);
|
||||||
|
if(end.type!=vm_str || end.str().length()>1)
|
||||||
std::cin>>ret.str();
|
std::cin>>ret.str();
|
||||||
|
else
|
||||||
|
std::getline(std::cin,ret.str(),end.str()[0]);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
nas_ref builtin_fin(nas_ref* local,nasal_gc& gc)
|
nas_ref builtin_fin(nas_ref* local,nasal_gc& gc)
|
||||||
|
|||||||
+2
-2
@@ -25,8 +25,8 @@ var system=func(str){
|
|||||||
}
|
}
|
||||||
|
|
||||||
# input uses std::cin and returns what we input.
|
# input uses std::cin and returns what we input.
|
||||||
var input=func(){
|
var input=func(end=nil){
|
||||||
return __input();
|
return __input(end);
|
||||||
}
|
}
|
||||||
|
|
||||||
# split a string by separator for example:
|
# split a string by separator for example:
|
||||||
|
|||||||
Reference in New Issue
Block a user