Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 19
  1. #1
    Аватар для stimorol
    Пользователь

    Статус
    Оффлайн
    Регистрация
    04.08.2015
    Сообщений
    55
    Репутация:
    1 ±

    Прекращение использования forward

    Здравствуйте.

    Каким макросом можно прекратить использование форвардов для неродных пабликов?

  2. #2
    Аватар для [ForD]
    Пользователь

    Статус
    Оффлайн
    Регистрация
    14.11.2013
    Адрес
    Свердловская обл.
    Сообщений
    690
    Репутация:
    104 ±
    Скорее всего вы имели ввиду это:
    PHP код:
    #define publics%0(%1) forward %0(%1); publi c%0(%1) 
    Ну или еще распространенный вариант:
    PHP код:
    #define void%0(%1) forward %0(%1); public %0(%1) 
    Последний раз редактировалось [ForD]; 04.02.2016 в 14:14.
    PAWN Compiler делает то, что вы приказали ему сделать, а не то, что вы хотели, чтобы он сделал..

    25% времени в программировании уходит на размышления о том, что пользователь может сделать не так.[HR]/Брайан Хьюмс/





    #FIXSAMP

  3. Пользователь сказал cпасибо:
    stimorol (04.02.2016)
  4. #3
    Аватар для L0ndl3m
    Пользователь

    Статус
    Оффлайн
    Регистрация
    19.10.2013
    Сообщений
    1,360
    Репутация:
    768 ±
    Цитата Сообщение от [ForD] Посмотреть сообщение
    Скорее всего вы имели ввиду это:
    PHP код:
    #define void%0(%1) forward %0(%1); public %0(%1) 
    Крайне не рекомендую использовать такое название макроса. Так как при переходе на другой ЯП вы можете столкнуться с некоторыми проблемами.

    Ключевое слово void предназначено явно не для объявления функций, которые возвращают какое-либо значение.

  5. #4
    Аватар для Daniel_Cortez
    new fuck_logic[0] = EOS;

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    1,767
    Репутация:
    2256 ±
    Цитата Сообщение от [ForD] Посмотреть сообщение
    Скорее всего вы имели ввиду это:
    PHP код:
    #define publics%0(%1) forward %0(%1); publi c%0(%1) 
    Ну или еще распространенный вариант:
    PHP код:
    #define void%0(%1) forward %0(%1); public %0(%1) 
    Цитата Сообщение от Londlem Посмотреть сообщение
    Крайне не рекомендую использовать такое название макроса. Так как при переходе на другой ЯП вы можете столкнуться с некоторыми проблемами.

    Ключевое слово void предназначено явно не для объявления функций, которые возвращают какое-либо значение.
    В "publics" тоже мало здравого смысла - вернее, его там совсем нет: макрос для объявления _одного_ паблика называется "паблики" - wtf?
    Для сравнения, на sa-mp.com и других зарубежных форумах аналогичный макрос называют "fpub" или "fpublic" - вполне самодостаточные названия, из которых сразу ясна суть макроса. А govno-info и им подобные сайты с их быдлокодерскими практиками следует считать ни чем иным, как деструктивной сектой, и уж точно не следовать их примерам.
    Индивидуально в PM и Skype по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).
    SA-MP 0.4 is a lie

  6. #5
    Аватар для $continue$
    Заблокирован

    Статус
    Оффлайн
    Регистрация
    02.08.2014
    Адрес
    г. Киров (aka Вятка)
    Сообщений
    1,467
    Репутация:
    265 ±
    Могу предложить такие варианты (названия):
    Из Lua:
    PHP код:
    #define function%0(%1) \ 
            
    forward %0(%1); public%0(%1
    Из Golang:
    PHP код:
    #define func%0(%1) \ 
            
    forward %0(%1); public%0(%1

  7. #6
    Аватар для VVWVV
    Проверенный

    Статус
    Оффлайн
    Регистрация
    09.07.2015
    Сообщений
    660
    Репутация:
    314 ±
    Есть много махинаций с макросами. Вы можете сделать один макрос, который будет отсортировывать static, stock, public функции, либо же создать подобие ООП (как делают многие).

    Вариант из Rust:
    PHP код:
    #define fn%0(%1) forward%0(%1);public%0(%1) 

  8. #7
    Аватар для $continue$
    Заблокирован

    Статус
    Оффлайн
    Регистрация
    02.08.2014
    Адрес
    г. Киров (aka Вятка)
    Сообщений
    1,467
    Репутация:
    265 ±
    Цитата Сообщение от VVWVV Посмотреть сообщение
    Есть много махинаций с макросами. Вы можете сделать один макрос, который будет отсортировывать static, stock, public функции, либо же создать подобие ООП (как делают многие).

    Вариант из Rust:
    PHP код:
    #define fn%0(%1) forward%0(%1);public%0(%1) 
    Теперь представим, что я до этого не кодил на Rust и C подобных. Захожу я значит в Pawn, смотрю, а там какое то ключевое слово fn?
    Мне остаеться только гуглить. Примеры из Go и Lua, более наглядней. Имхо.

  9. #8
    Аватар для VVWVV
    Проверенный

    Статус
    Оффлайн
    Регистрация
    09.07.2015
    Сообщений
    660
    Репутация:
    314 ±
    Цитата Сообщение от $continue$ Посмотреть сообщение
    Теперь представим, что я до этого не кодил на Rust и C подобных. Захожу я значит в Pawn, смотрю, а там какое то ключевое слово fn?
    Мне остаеться только гуглить. Примеры из Go и Lua, более наглядней. Имхо.
    Fn - простое сокращение, сразу приходит мысль о функции.
    P.S.: мне кажется, но автор сам должен придумать идеальный вариант для себя, ведь все мы разные.

  10. #9
    Аватар для Daniel_Cortez
    new fuck_logic[0] = EOS;

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    1,767
    Репутация:
    2256 ±
    Цитата Сообщение от VVWVV Посмотреть сообщение
    Fn - простое сокращение, сразу приходит мысль о функции.
    P.S.: мне кажется, но автор сам должен придумать идеальный вариант для себя, ведь все мы разные.
    Гораздо эффективнее принять один одобренный большинством стандарт, иначе закончится тем, что каждый будет кодить на своём диалекте.
    Правда пугает то, что сейчас многие авторы выкладываемых работ на Pawn из-за принципов (или религии?) в упор не способны принять чей-то совет и переоформить свою работу в соответствии с рекомендуемыми стандартами.
    Индивидуально в PM и Skype по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).
    SA-MP 0.4 is a lie

  11. #10
    Аватар для VVWVV
    Проверенный

    Статус
    Оффлайн
    Регистрация
    09.07.2015
    Сообщений
    660
    Репутация:
    314 ±
    Цитата Сообщение от Daniel_Cortez Посмотреть сообщение
    Гораздо эффективнее принять один одобренный большинством стандарт, иначе закончится тем, что каждый будет кодить на своём диалекте.
    Правда пугает то, что сейчас многие авторы выкладываемых работ на Pawn из-за принципов (или религии?) в упор не способны принять чей-то совет и переоформить свою работу в соответствии с рекомендуемыми стандартами.
    Да, я также думал о стандарте, и вы совершенно правы.

    Вот ещё один способ:
    Во многих IDE (например, Sublime Text) есть функции создания макросов, которые помогают писать код без создания какого-либо стороннего макроса в программе (исходниках программы), соответственно, не уходя от стандарта.

 

 
Страница 1 из 2 12 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •