Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » Почему не работает код?

Страниц (1): [1]
 

1. rora - 16 Ноября, 2022 - 18:01:17 - перейти к сообщению
CODE:

string k="10,10,10";

messagebox(k);

hol(k); // не работает
//hol(10,10,10); // работает


function hol(int f1, int f2, int f3){
messagebox(f1+f2+f3);
}
2. Zireael - 16 Ноября, 2022 - 18:39:35 - перейти к сообщению
 Цитата:
hol(k); // не работает

Функция hol принимает 3 параметра, а передаёте 1. Также не совпадает тип данных, вместо int передаётся string.
Т. е. если функция принимает 3 числа, то и передавать нужно 3 числа или 3 переменные int.
Если нужно передать строку, то функция должна принимать string.
Можно так сделать если строка передаётся:
CODE:
string k="10,10,10";

hol(k);

function hol(string f1){
string num[999];
int summa = 0;
int count = regexsearch(sizearray(num), #num[0], f1, "\d+");
for(int i=0; i<count; i++)summa = summa + formatsn(num[i]);
messagebox(summa);
}
3. rora - 17 Ноября, 2022 - 05:43:30 - перейти к сообщению
Zireael , Спасибо, подскажите как разделить строку на 3 переменных? И возможно у вас есть шпаргалка по регулярным выражения по Кибору? Пытаюсь разобраться но очень трудно даются.
4. Zireael - 17 Ноября, 2022 - 05:57:26 - перейти к сообщению
 Цитата:
как разделить строку на 3 переменных?

Хорошо бы ещё пример строки увидеть.
CODE:
string s="10,20,30"; // строка
string result[3];

regexsearch(3, #result[0], s, "\d+"); // найти число любой длины
messagebox(result[0]);
messagebox(result[1]);
messagebox(result[2]);

 Цитата:
шпаргалка по регулярным выражения по Кибору?

Любая статья по регулярным выражениям подойдёт. В разных языках есть небольшие отличия, но в целом синтаксис одинаковый.
Также можно онлайн проверить регулярное выражение.
5. rora - 17 Ноября, 2022 - 16:24:06 - перейти к сообщению
.

Powered by ExBB FM 1.0 Final