我有一条switch
处理命令的语句,它按预期工作。但是,我也有很多命令/案例。错误检查是为了确保如果键入的不是数字,则程序不会崩溃。有没有办法将它们浓缩if statements
成function
某种形式?
case "test":
if (typeof args[1] === 'string')
{
args[1] = parseInt(args[1])
Functions.packs = args[1];
}
else if(Number.isNaN(+args[1]))
{
message.reply("The command was invalid.");
break;
}
else
{
message.reply("The command was invalid.");
break;
}
当前,这是每个命令开头的样子,并且检查命令变得繁琐。我曾尝试为其创建函数,但是没有尝试过,因此我怀疑自己是否走上了正确的轨道。
我会尝试使用.toString()强制将所有内容都设为字符串,然后解析结果()。允许您仅测试NaN ...
var numberTest = function(testArg){
var testString = testArg.toString();
var testNumber = parseInt(testString);
var returnObj = {
number: testNumber,
valid: Number.isNaN(testNumber)
};
return returnObj;
}
case "test":
var argTest = numberTest(args[1]);
if(argTest.valid){
Functions.packs = argTest.number;
}
else{
message.reply("The command was invalid.");
}
break;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句