🎉 div
command
This commit is contained in:
parent
00376c0eb1
commit
860a58bbc2
48
src/command/div.js
Normal file
48
src/command/div.js
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
Juicescript.command_define({
|
||||||
|
name: "div",
|
||||||
|
alias: [],
|
||||||
|
|
||||||
|
validate: function(runner){
|
||||||
|
// count
|
||||||
|
runner.argument_validate_count({min: 2, max: null});
|
||||||
|
if(runner.has_error) return;
|
||||||
|
|
||||||
|
// types
|
||||||
|
runner.argument_validate_type(1, Juicescript.argument_type.VARIABLE);
|
||||||
|
|
||||||
|
for(var q = 2; q <= runner.command.argument.length; q++){
|
||||||
|
runner.argument_validate_type(q, Juicescript.argument_type.VALUE);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
execute: function(runner){
|
||||||
|
// GET VARIABLE //
|
||||||
|
// variable object
|
||||||
|
let variable = runner.argument_variable(1);
|
||||||
|
|
||||||
|
// get its value
|
||||||
|
let value = runner.variable_get(variable);
|
||||||
|
|
||||||
|
|
||||||
|
// DEVIDE BY OTHER VALUES //
|
||||||
|
for(var q = 2; q <= runner.command.argument.length; q++){
|
||||||
|
// get value to devide by
|
||||||
|
let devide = runner.argument_value(q);
|
||||||
|
|
||||||
|
// validate data type
|
||||||
|
let data_type = runner.data_type(devide);
|
||||||
|
if(data_type !== Juicescript.data_type.NUM){
|
||||||
|
// ignore with warning
|
||||||
|
runner.warning_argument(q, "invalid data type " + Juicescript.data_type.name(data_type));
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// do calculation
|
||||||
|
value /= devide;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// STORE BACK TO VARIABLE //
|
||||||
|
runner.variable_set(variable, value);
|
||||||
|
}
|
||||||
|
});
|
Reference in New Issue
Block a user