Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.

Реклама


**Как получить V.I.P** (Перейти)
Чтобы заказать рекламу на Pro-Pawn.Ru, обращайтесь в Skype.
Баннерная реклама 200руб/мес, Текстовая 100руб/мес.
Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 19
  1. #1
    Аватар для stimorol
    Пользователь

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

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

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

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

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

    Статус
    Оффлайн
    Регистрация
    14.11.2013
    Адрес
    Свердловская обл.
    Сообщений
    694
    Репутация:
    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
    Аватар для Londlem
    Модератор

    Статус
    Оффлайн
    Регистрация
    19.10.2013
    Сообщений
    1,362
    Репутация:
    771 ±
    Цитата Сообщение от [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,661
    Репутация:
    2144 ±
    Цитата Сообщение от [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,441
    Репутация:
    261 ±
    Могу предложить такие варианты (названия):
    Из Lua:
    PHP код:
    #define function%0(%1) \ 
            
    forward %0(%1); public%0(%1
    Из Golang:
    PHP код:
    #define func%0(%1) \ 
            
    forward %0(%1); public%0(%1
    Value your freedom or you will lose it, teaches history. "Don't bother us with politics," respond those who don't want to learn. (c) Richard Stallman

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

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

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

  8. #7
    Аватар для $continue$
    Пользователь

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

    Вариант из Rust:
    PHP код:
    #define fn%0(%1) forward%0(%1);public%0(%1) 
    Теперь представим, что я до этого не кодил на Rust и C подобных. Захожу я значит в Pawn, смотрю, а там какое то ключевое слово fn?
    Мне остаеться только гуглить. Примеры из Go и Lua, более наглядней. Имхо.
    Value your freedom or you will lose it, teaches history. "Don't bother us with politics," respond those who don't want to learn. (c) Richard Stallman

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

    Статус
    Оффлайн
    Регистрация
    09.07.2015
    Сообщений
    607
    Репутация:
    289 ±
    Цитата Сообщение от $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,661
    Репутация:
    2144 ±
    Цитата Сообщение от VVWVV Посмотреть сообщение
    Fn - простое сокращение, сразу приходит мысль о функции.
    P.S.: мне кажется, но автор сам должен придумать идеальный вариант для себя, ведь все мы разные.
    Гораздо эффективнее принять один одобренный большинством стандарт, иначе закончится тем, что каждый будет кодить на своём диалекте.
    Правда пугает то, что сейчас многие авторы выкладываемых работ на Pawn из-за принципов (или религии?) в упор не способны принять чей-то совет и переоформить свою работу в соответствии с рекомендуемыми стандартами.
    Индивидуально в PM и Skype по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).
    SA-MP 0.4 is a lie

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

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

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

 

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

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

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

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

Ваши права

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