Русское сообщество по скриптингу

Что значит _:  [Решено]

Все вопросы по скриптингу для AMXX, помощь в редактировании плагинов.

Модераторы: Subb98, liFe iS GoOD

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающие только скриптинга для AMX Mod X.

Правила при создании новой темы:
1. При вставке кода плагина необходимо использовать тег [code=php].
2. Любые изображения должны быть загружены, как вложения к вашему сообщению.
3. При описании проблемы или запросе на помощь в редактировании плагина обязательно выкладывайте исходник sma плагина.

Что значит _:

Сообщение fixteam » 12 янв 2023, 15:38

Недавно листал скрипты, заинтересовали странные символы "_:"
Знаю что
Код: Выделить всё
enum _:NAME {  } 
можно вот так создавать, но не знаю что вообще значит комбинация из подчеркивания и двоеточия. Недавно листал, еще и в самом коде увидел такое:
Код: Выделить всё
set_msg_arg_int(arg_slotARG_BYTE_:GRENADE_SLOT 1); 

Что это обозначает, загуглить не смог, визуально кажется будто какой-то аналог "this", но не уверен.
Аватара пользователя
fixteam
 
Сообщения: 168
Зарегистрирован: 19 фев 2018, 20:08
Откуда: Москва
Благодарил (а): 28 раз.
Поблагодарили: 1 раз.
Опыт программирования: Больше трех лет
Языки программирования: Pawn, C++, Python, Js, Php

Re: Что значит _:  [Решено]

Сообщение БиЗоН » 12 янв 2023, 21:08

Чтобы опустить проверку тегирования для компилятора. Так как если будет сравнение переменных с разным тегированием, получишь предупреждение от компилятора. Это некритично.
Рекомендую использовать префикс "any:" вместо "_:". Хоть у него и более обширная работа, он более эффективен в некоторых моментах по сравнению с "_:". Например, для простых переменных, где префикс "_:" не поможет избежать предупреждения.
Вечно занятой. Вечно в павне.
Аватара пользователя
БиЗоН
 
Сообщения: 165
Зарегистрирован: 24 мар 2014, 21:05
Благодарил (а): 10 раз.
Поблагодарили: 49 раз.
Опыт программирования: Больше трех лет

Re: Что значит _:

Сообщение fixteam » 13 янв 2023, 10:26

То есть просто ворнинги чтобы не высвечивались?
Аватара пользователя
fixteam
 
Сообщения: 168
Зарегистрирован: 19 фев 2018, 20:08
Откуда: Москва
Благодарил (а): 28 раз.
Поблагодарили: 1 раз.
Опыт программирования: Больше трех лет
Языки программирования: Pawn, C++, Python, Js, Php

Re: Что значит _:

Сообщение БиЗоН » 13 янв 2023, 16:00

fixteam, ну предупреждение явно говорит о том, что ты что-то делаешь не очень верно. Заранее же неизвестно для кастомных тегов что и как определено.
Если ты будешь сравнивать стандартные типы Float и bool:
Код: Выделить всё
new Float: fTest = 153.0;
new bool: bTest = true;

if(
fTest == any: bTest)
    return;

И опустишь один из тегов через "any:", то предупреждения не будет. Но это не значит, что сравнивать эти два типа корректно.
Вечно занятой. Вечно в павне.
Аватара пользователя
БиЗоН
 
Сообщения: 165
Зарегистрирован: 24 мар 2014, 21:05
Благодарил (а): 10 раз.
Поблагодарили: 49 раз.
Опыт программирования: Больше трех лет


Вернуться в Скриптинг

Кто сейчас на конференции

Сейчас этот форум просматривают: Bing [Bot] и гости: 13