Не могу разобраться в увеличении Discord

Я удивлен, что все это время никто не цитировал Аннотированное справочное руководство C ++ ( ARM ), он говорит следующее о [dcl.init] с акцентом my:

Очевидно, слишком много обозначений для инициализаций, но каждый, кажется, хорошо подходит к определенному стилю использования. Обозначение = {initializer_list, opt} было унаследовано от C и хорошо служит для инициализации структур данных и массивов. [...]

blockquote>

, хотя грамматика развилась с тех пор, как было написано ARM , происхождение остается.

, и мы можем перейти к Обоснование C99 , чтобы понять, почему это было разрешено в C, и он говорит:

K & amp; R допускает конечную запятую в инициализаторе в конце списка инициализаторов. Стандарт сохранил этот синтаксис, поскольку он обеспечивает гибкость при добавлении или удалении членов из списка инициализаторов и упрощает создание таких списков.

blockquote>

0
задан double-beep 20 March 2019 в 16:27
поделиться

2 ответа

Вы сбрасываете значение i обратно на ноль каждый раз, когда срабатывает обратный вызов вашего сообщения. Вместо этого вы можете объявить i как глобальную переменную, а затем увеличить ее в своем операторе if следующим образом:

var i = 0; // declare outside (to avoid resetting it)
client.on('message', msg => {
  if (msg.content === 'ping') {
      msg.reply('Pong!')
  }

  if (msg.content === '+1') {
      msg.reply("Counter: " +i)
      i++; // increment the value of i (same as i = i + 1)
  }
})
0
ответ дан Nick Parsons 20 March 2019 в 16:27
поделиться

Есть много способов сделать это. Вот несколько примеров.

1.
if (msg.content === '+1') {
    i = i + 1
    msg.reply("Counter: " +i)
}

2.
if (msg.content === '+1') {
    i++
    msg.reply("Counter: " +i)
}

3.
if (msg.content === '+1') {
    ++i
    msg.reply("Counter: " +i)
}
0
ответ дан holydragon 20 March 2019 в 16:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: