This commit is contained in:
mark 2023-06-16 18:49:12 +02:00
parent 77178addac
commit 47dc763b23
2 changed files with 8 additions and 4 deletions

View File

@ -433,7 +433,9 @@ impl RScript {
Ok(Self { main, info }) Ok(Self { main, info })
} }
pub fn run(&self, args: Vec<VData>) -> VData { pub fn run(&self, args: Vec<VData>) -> VData {
self.main.inputs[0].lock().unwrap().0 = VDataEnum::List(VSingleType::Any.into(), args).to(); for (input, arg) in self.main.inputs.iter().zip(args.into_iter()) {
input.lock().unwrap().0 = arg;
}
self.main.run(&self.info) self.main.run(&self.info)
} }
} }

View File

@ -192,17 +192,19 @@ fn normal_main() {
}; };
info.main_fn_args = vec![( info.main_fn_args = vec![(
"args".to_string(), "args".to_string(),
VSingleType::List(VSingleType::Any.into()).to(), VSingleType::List(VSingleType::String.into()).to(),
)]; )];
match parsing::parse::parse_custom_info(&mut file, info) { match parsing::parse::parse_custom_info(&mut file, info) {
Ok(script) => { Ok(script) => {
if run { if run {
script.run( script.run(vec![VDataEnum::List(
VSingleType::String.to(),
std::env::args() std::env::args()
.skip(args_to_skip) .skip(args_to_skip)
.map(|v| VDataEnum::String(v).to()) .map(|v| VDataEnum::String(v).to())
.collect(), .collect(),
); )
.to()]);
} }
} }
Err(e) => { Err(e) => {