Когда пытаюсь вывести строку, в которой используется символ % - вместо этого символа и символов рядом стоящих - подставляются странные значения, похожие на адреса данных. Вопроса 2: что это за хрень, и как можно вместо этой хрени подставить символ процента.
Делаю на JASS версия 1.29 PTR

Принятый ответ

Sergarr, интересная догадка. Кто-нибудь кроме меня эту проблему воспроизводил?
Попробовал два символа %% - помогло, спасибо -)
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
20
6 лет назад
0
пример?
0
13
6 лет назад
Отредактирован Cancel
0
set udg_items_descr[i] = name + " |cffffcc33(L" + I2S(level) + ")|r\n"
set udg_items_descr[i] = udg_items_descr[i] + "+" + I2S(udg_itemStatHp[i]) + " HP\n"
set udg_items_descr[i] = udg_items_descr[i] + "+" + I2S(R2I(udg_itemStatASpd[i] * 100)) + "% attack speed\n"
Т е вместо "% a" подставилась какая-то херь
на всякий случай:
set udg_itemStatASpd[i] = 0.05 * (1 + 0.1 * I2R(level-1))
Загруженные файлы
6
12
6 лет назад
6
Cancel:
set udg_items_descr[i] = name + " |cffffcc33(L" + I2S(level) + ")|r\n"
set udg_items_descr[i] = udg_items_descr[i] + "+" + I2S(udg_itemStatHp[i]) + " HP\n"
set udg_items_descr[i] = udg_items_descr[i] + "+" + I2S(R2I(udg_itemStatASpd[i] * 100)) + "% attack speed\n"
Т е вместо "% a" подставилась какая-то херь
на всякий случай:
set udg_itemStatASpd[i] = 0.05 * (1 + 0.1 * I2R(level-1))
Возможно, это связано с недокументированной добавленной функцией целого деления (a % b), и интерпретатор делает черт знает что, когда он видит этот процент в строке.
Попробуй поставить два процента подряд вместо одного: %%. Обычно в языках программирования это работает с подобного рода символами.
Хотя, конечно, это очень сильная хрень. Надо в тему багов запостить.
0
13
6 лет назад
Отредактирован Cancel
0
Sergarr, интересная догадка. Кто-нибудь кроме меня эту проблему воспроизводил?
Попробовал два символа %% - помогло, спасибо -)
Принятый ответ
Чтобы оставить комментарий, пожалуйста, войдите на сайт.