Решил сделать задание друга, на удобном для себя языке и чтоб лишний раз не вызывать опрос с консоли решился делать это через дискорд.
Задание было таким:
Ввести n целых чисел(>0 или <0). Найти разницу чисел. Результат вывести на экран.
Я написал код для этого:
const Discord = require('discord.js');
const bot = new Discord.Client();
const {token1} = require('./conf.json');
var mas =[]
var prom =[]
let a
let i=1
bot.on("message", msg => {
msg.content = msg.content.toLowerCase().split(" ")
switch (msg.content[0]) {
case"!add":
if (!msg.author.bot){
if (!msg.content[2]) {
msg.reply("Введите, хотя бы 2 значения!")
} else {
mas=[]
for (let i = 1; msg.content[i]; i++) {
mas.push(Number(msg.content[i]))
}
msg.reply("Готово. Можете вводить !math")
a = mas.length + 1
}
}
break;
case"!math":
try{
prom = []
mas.push(0)
while(i<mas.length){
mas[a] = mas[i-1] - mas[i];
prom.push(mas[a])
i++
}
console.log(mas)
console.log(prom)
msg.reply("Результат: " + mas[a-1] + "\nПромежуточные результаты: " + prom)
mas = []
}catch (e) {
msg.reply("Сначала введите значения!!!")
}
break;
}
})
bot.login(token1);
Но вместо нормальной работы оно решает проявить себя:
1)Оно не записало промежуточный результат в prom
2)Оно откуда-то взяло ещё один элемент массива и отказалось считать
3)Оно просто отказалось считать
Я хочу понять по какому принципу возникает этот дополнительный элемент и вообще насколько чисто выполнена эта задача.
Заранее благодарен!