added process to the enviroment

This commit is contained in:
afonya 2025-06-16 22:19:17 +02:00
parent de8a3c655b
commit 94669c9443
Signed by: afonya
GPG key ID: EBB9C4CAFAAFB2DC

View file

@ -740,6 +740,18 @@ fn tabla_kulcsok(machine: &mut Machine, op: &DecompiledOperation, args: Vec<VMMe
return VMMemory::Table(keys);
}
fn szenvedes_vege(machine: &mut Machine, op: &DecompiledOperation, args: Vec<VMMemory>) -> VMMemory {
arg_expect(&args, 0, "number", machine, op);
let num = match &args[0] {
VMMemory::Number(n) => n.value as usize,
_ => {
error(String::from("Expected a number"), machine, op);
return VMMemory::Null(VMMemoryNull { variable_id: 0 });
}
};
process::exit(num as i32);
}
pub fn generate() -> HashMap<String, VMMemory> {
let mut mem: HashMap<String, VMMemory> = HashMap::new();
@ -781,6 +793,10 @@ pub fn generate() -> HashMap<String, VMMemory> {
TableValue {
key: VMMemory::String(VMMemoryString { value: String::from("legkisebb"), variable_id: 0 }),
value: VMMemory::NativeFunction(VMMemoryNativeFunction { func: nerd_legkisebb, variable_id: 0 }),
},
TableValue {
key: VMMemory::String(VMMemoryString { value: String::from("pi"), variable_id: 0 }),
value: VMMemory::Number(VMMemoryNumber { value: std::f64::consts::PI, variable_id: 0 }),
}
];
mem.insert(String::from("nerd"), VMMemory::Table(VMMemoryTable { values: nerd, variable_id: 0 }));
@ -853,5 +869,14 @@ pub fn generate() -> HashMap<String, VMMemory> {
];
mem.insert(String::from("tábla"), VMMemory::Table(VMMemoryTable { values: table, variable_id: 0 }));
let szenvedes: Vec<TableValue> = vec![
TableValue {
key: VMMemory::String(VMMemoryString { value: String::from("vége"), variable_id: 0 }),
value: VMMemory::NativeFunction(VMMemoryNativeFunction { func: szenvedes_vege, variable_id: 0 }),
},
];
mem.insert(String::from("szenvedés"), VMMemory::Table(VMMemoryTable { values: szenvedes, variable_id: 0 }));
return mem;
}