{"name":"isFinal","operator":null,"title":"isFinal","type":"command","url":"https://community.bistudio.com/wiki/isFinal","revid":351275,"updated":"2023-11-27T02:07:26Z","groups":["Variables"],"status":"ok","replaced_by":[],"games":[{"game":"arma3","name":"Arma 3","version":"2.00"}],"since":{"game":"arma3","name":"Arma 3","version":"2.00"},"arma3_since":"2.00","branch":null,"locality":{"argument":null,"effect":null,"server_exec":false},"exec":null,"description":"Checks if Code or a variable was compiled final with compileFinal.","syntaxes":[{"syntax":"isFinal variable","since":null,"effect":null,"exec":null,"params":[{"name":"variable","type":"Code, String, Arma 3 v2.14 Array or HashMap","optional":false,"default":null,"description":"Code, String, Arma 3 v2.14 Array or HashMap\n- Code\n- String - the name of the variable holding Code\n- Arma 3 v2.14 Array - an array that is a HashMapKey, a trigger's `thisList` array, made final with compileFinal etc.\n- Arma 3 v2.14 HashMap - a hashmap made final with compileFinal","types":["Code","String","Array","HashMap"],"since":null,"text":"variable: Code, String, Arma 3 v2.14 Array or HashMap\n- Code\n- String - the name of the variable holding Code\n- Arma 3 v2.14 Array - an array that is a HashMapKey, a trigger's `thisList` array, made final with compileFinal etc.\n- Arma 3 v2.14 HashMap - a hashmap made final with compileFinal"}],"returns":{"type":"Boolean","types":["Boolean"],"description":"true if final, false if not","text":"Boolean - true if final, false if not"},"form":"unary","operator":null,"left":null,"right":{"text":"variable","types":["Code","String","Array","HashMap"]}}],"examples":[{"text":"```sqf\nprivate _myCode = compileFinal \"a = a + 1\";\nsystemChat format [\"isFinal \"\"_myCode\"\": %1\", isFinal \"_myCode\"];                // true\nsystemChat format [\"isFinal _myCode: %1\", isFinal _myCode];                        // true\nsystemChat format [\"isFinal some code: %1\", isFinal { hint \"Hello there\" }];    // false\n\nprivate _myArray1 = list _myTrigger;\nsystemChat format [\"isFinal _myArray1: %1\", isFinal _myArray1];                    // true\n\nprivate _myArray2 = [1, 2, 3];\nsystemChat format [\"isFinal _myArray2: %1\", isFinal _myArray2];                    // false\n\nprivate _myHashMap = compileFinal createHashMap;\nsystemChat format [\"isFinal _myHashMap: %1\", isFinal _myHashMap];                // true\n```","code":["private _myCode = compileFinal \"a = a + 1\";\nsystemChat format [\"isFinal \"\"_myCode\"\": %1\", isFinal \"_myCode\"];\t\t\t\t// true\nsystemChat format [\"isFinal _myCode: %1\", isFinal _myCode];\t\t\t\t\t\t// true\nsystemChat format [\"isFinal some code: %1\", isFinal { hint \"Hello there\" }];\t// false\n\nprivate _myArray1 = list _myTrigger;\nsystemChat format [\"isFinal _myArray1: %1\", isFinal _myArray1];\t\t\t\t\t// true\n\nprivate _myArray2 = [1, 2, 3];\nsystemChat format [\"isFinal _myArray2: %1\", isFinal _myArray2];\t\t\t\t\t// false\n\nprivate _myHashMap = compileFinal createHashMap;\nsystemChat format [\"isFinal _myHashMap: %1\", isFinal _myHashMap];\t\t\t\t// true"]},{"text":"Avoid .rpt's overwrite warnings:\n\n```sqf\nif (!isFinal fnc_myCode) then { fnc_myCode = compileFinal str_myCode };\n```","code":["if (!isFinal fnc_myCode) then { fnc_myCode = compileFinal str_myCode };"]}],"multiplayer":null,"problems":null,"aliases":[],"see_also":["compile","compileFinal"],"notes":[],"categories":["Arma 3: New Scripting Commands","Arma 3: Scripting Commands","Command Group: Variables","Introduced with Arma 3 version 2.00","Scripting Commands"]}