{"name":"isFinal","title":"isFinal","type":"command","url":"https://community.bistudio.com/wiki/isFinal","revid":351275,"updated":"2023-11-27T02:07:26Z","groups":["Variables"],"status":"ok","games":{"arma3":"2.00"},"since":"arma3 2.00","arma3_since":"2.00","description":"Checks if Code or a variable was compiled final with compileFinal.","syntaxes":[{"syntax":"isFinal variable","params":[{"name":"variable","type":"Code, String, Arma 3 v2.14 Array or HashMap","description":"Code, String, Arma 3 v2.14 Array or HashMap\n\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","type_expr":"Code | String | Array | HashMap","text":"variable: Code, String, Arma 3 v2.14 Array or HashMap\n\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","type_expr":"Boolean","description":"true if final, false if not"},"form":"unary","right":{"text":"variable"}}],"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 };"]}],"see_also":["compile","compileFinal"]}