From 94669c9443bd81a93b7c046067fd433730cb9167 Mon Sep 17 00:00:00 2001 From: afonya Date: Mon, 16 Jun 2025 22:19:17 +0200 Subject: [PATCH] added process to the enviroment --- src/enviroment.rs | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/src/enviroment.rs b/src/enviroment.rs index 2749805..a334fad 100644 --- a/src/enviroment.rs +++ b/src/enviroment.rs @@ -740,6 +740,18 @@ fn tabla_kulcsok(machine: &mut Machine, op: &DecompiledOperation, args: Vec) -> 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 { let mut mem: HashMap = HashMap::new(); @@ -781,6 +793,10 @@ pub fn generate() -> HashMap { 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 { ]; mem.insert(String::from("tábla"), VMMemory::Table(VMMemoryTable { values: table, variable_id: 0 })); + let szenvedes: Vec = 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; } \ No newline at end of file