Возвращение текста -
Romz - 06.01.2014
Почему не рекомендуемо возвращать текст в return'е? Почему нельзя возвращать текст в public, сразу летят ошибки?
Re: Возвращение текста -
hub4 - 06.01.2014
почему нельзя? можно
Re: Возвращение текста -
Romz - 06.01.2014
Quote:
Originally Posted by hub4
почему нельзя? можно
|
Ну сам попробуй
PHP Code:
forward Test(id);
public Test(id) {
new text[32];
switch(id) {
case 0: text = "Привет";
case 1: text = "Сервер";
case 2: text = "SA-MP";
}
return text;
}
Будет
error 090: public functions may not return arrays (symbol "Test")
Все таки если юзать в stock то все работает но мне нужно в public'e делать так.
Re: Возвращение текста -
iRusel - 06.01.2014
А что если использовать так:
PHP Code:
new vehname[8];
GetNameCar(411, vehname);
printf("%s",vehname);
PHP Code:
forward GetNameCar(id, vehname[]);
public GetNameCar(id, vehname[])
{
new name[8];
switch(id)
{
case 411: name = "Infernus";
case 562: name = "XZ";
case 482: name = "Burrito";
}
strmid(vehname, name, 0, strlen(name), 255);
}
Re: Возвращение текста -
KriD - 06.01.2014
Quote:
Originally Posted by iRusel
А что если использовать так:
|
Тогда уж сразу в vehname, без всяких извращений co strmid
Re: Возвращение текста -
Jon_De - 06.01.2014
Quote:
Originally Posted by Kolstin
Почему не рекомендуемо возвращать текст в return'е? Почему нельзя возвращать текст в public, сразу летят ошибки?
|
у меня так тексты из других массивов попадали туда, где их быть не должно
Re: Возвращение текста -
Romz - 06.01.2014
Quote:
Originally Posted by iRusel
А что если использовать так:
PHP Code:
new vehname[8];
GetNameCar(411, vehname);
printf("%s",vehname);
PHP Code:
forward GetNameCar(id, vehname[]);
public GetNameCar(id, vehname[])
{
new name[8];
switch(id)
{
case 411: name = "Infernus";
case 562: name = "XZ";
case 482: name = "Burrito";
}
strmid(vehname, name, 0, strlen(name), 255);
}
|
Не подходит вообще не как этот вариант...
Re: Возвращение текста -
Mexanizm93 - 06.01.2014
Вроде переполнение стека может быть от возврата строки.
Re: Возвращение текста -
Jekazzz - 07.01.2014
1. В паблике никак не получится такое.
2. Зачем тебе в пабилке?
Re: Возвращение текста -
kaZax - 11.01.2014
PHP Code:
new str[24];
WriteText(1,str);
PHP Code:
WriteText(id,str){
switch(id){
case 0:str = "Hello";
case 1:str = "Hello!!";
case 2:str = "Hello!!!";
}
}
Для чего тебе паблик?
Re: Возвращение текста -
OKStyle - 11.01.2014
Никогда не понимал, как можно без stock или public делать функцию... Это ж извращение. А можно просто создать массив с названием транспорта и оттуда брать по индексу модели. Это ж стопицот лет назад придумали.
Re: Возвращение текста -
Romz - 11.01.2014
Quote:
Originally Posted by kaZax
PHP код:
new str[24];
WriteText(1,str);
PHP код:
WriteText(id,str){
switch(id){
case 0:str = "Hello";
case 1:str = "Hello!!";
case 2:str = "Hello!!!";
}
}
Для чего тебе паблик?
|
Для CallRemoteFunction, stock не вызываеться в данной функции необходимо только public.
Re: Возвращение текста -
Stepashka - 12.01.2014
Quote:
Originally Posted by OKStyle
Никогда не понимал, как можно без stock или public делать функцию... Это ж извращение.
|
В С++ функции вообще объявляются без префиксов, а
public используется только в ООП для указания типа функции. Так что извращение это как раз таки использовать префиксы не по назначению.
Re: Возвращение текста -
hub4 - 12.01.2014
среди нубов русскоязычного самп сообщества водится дурная привычка называть пабликом вообще любую функцию. а вместе с этим обьявлять их в скрипте таким образом, везде где это даже не нужно. со всеми вытекающими.