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

    Статус
    Оффлайн
    Регистрация
    16.03.2018
    Адрес
    Москва
    Сообщений
    129
    Репутация:
    6 ±
    т.е., чтобы проверить, что переменная вещественного типа мне нужно делать вот так?:

    Код HTML:
    _ISFLOAT ({_, Float}:__TO, __TYPE = tagof(__TO)) {
            
        if (__TYPE == tagof(Float:)) return 666;
    
    }

  2. #22
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от MassonNN Посмотреть сообщение
    т.е., чтобы проверить, что переменная вещественного типа мне нужно делать вот так?:

    Код HTML:
    _ISFLOAT ({_, Float}:__TO, __TYPE = tagof(__TO)) {
            
        if (__TYPE == tagof(Float:)) return 666;
    
    }
    Эмм, а почему напрямую tagof не вызвать?
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  3. #23
    Аватар для MassonNN
    Пользователь

    Статус
    Оффлайн
    Регистрация
    16.03.2018
    Адрес
    Москва
    Сообщений
    129
    Репутация:
    6 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Эмм, а почему напрямую tagof не вызвать?
    ?
    Код HTML:
    _ISFLOAT ({_, Float}:__TO) {
            
        if (tagof(__TO) == tagof(Float:)) return 666;
    
    }

  4. #24
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от MassonNN Посмотреть сообщение
    ?
    Код HTML:
    _ISFLOAT ({_, Float}:__TO) {
            
        if (tagof(__TO) == tagof(Float:)) return 666;
    
    }
    Нет. Избавится от функции _ISFLOAT (странное название, да ещё и капсом) вообще и работать напрямую с tagof в коде. Какой смысл создавать функцию ради одной строки?
    Да и где вообще такая функция пригодиться может?
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  5. #25
    Аватар для MassonNN
    Пользователь

    Статус
    Оффлайн
    Регистрация
    16.03.2018
    Адрес
    Москва
    Сообщений
    129
    Репутация:
    6 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Нет. Избавится от функции _ISFLOAT (странное название, да ещё и капсом) вообще и работать напрямую с tagof в коде. Какой смысл создавать функцию ради одной строки?
    Да и где вообще такая функция пригодиться может?
    у меня просто код большой и я пытаюсь переводить все что можно на простые функции (привычка уже такая, меня вообще вымораживают си-подобные языки своей структурой, java в этом плане впереди на шагов так сто в сотой степени)


    upd: а сама реализация то нормальная или нет?

  6. #26
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    1. stock IsVarTypeFloat({_, Float}:var, vartype = tagof(var))
    2. {
    3. #pragma unused var
    4. return (vartype == tagof(Float:));
    5. }


    А лучше так
    1. #define IsVarTypeFloat(%0) (tagof(%0) == tagof(Float:))
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  7. Пользователь сказал cпасибо:
    MassonNN (20.12.2019)
  8. #27
    Аватар для MassonNN
    Пользователь

    Статус
    Оффлайн
    Регистрация
    16.03.2018
    Адрес
    Москва
    Сообщений
    129
    Репутация:
    6 ±
    del
    Последний раз редактировалось MassonNN; 20.12.2019 в 14:43.

  9. #28
    Аватар для Seviel
    Пользователь

    Статус
    Оффлайн
    Регистрация
    23.12.2016
    Адрес
    Казахстан
    Сообщений
    148
    Репутация:
    26 ±
    Дико извиняюсь что поднимаю эту тему, на счёт целочисленного мне в голову пришел костыль:
    1. stock Print({_, Float}:arg, arg_type=tagof(arg))
    2. {
    3. static const TAG_INTEGER;
    4.  
    5. switch(arg_type)
    6. {
    7. case (tagof(Float:)):
    8. PrintFloat(Float:arg);
    9. case (tagof(bool:)):
    10. PrintBool(bool:arg);
    11. case (tagof(TAG_INTEGER)):
    12. PrintInt(_:arg);
    13. }
    14. #pragma unused TAG_INTEGER
    15. }

  10. #29
    Аватар для execution
    Пользователь

    Статус
    Оффлайн
    Регистрация
    09.03.2018
    Сообщений
    255
    Репутация:
    24 ±
    Цитата Сообщение от Seviel Посмотреть сообщение
    Дико извиняюсь что поднимаю эту тему, на счёт целочисленного мне в голову пришел костыль:
    1. stock Print({_, Float}:arg, arg_type=tagof(arg))
    2. {
    3. static const TAG_INTEGER;
    4.  
    5. switch(arg_type)
    6. {
    7. case (tagof(Float:)):
    8. PrintFloat(Float:arg);
    9. case (tagof(bool:)):
    10. PrintBool(bool:arg);
    11. case (tagof(TAG_INTEGER)):
    12. PrintInt(_:arg);
    13. }
    14. #pragma unused TAG_INTEGER
    15. }
    Дак достаточно использовать default если не нашли никакой тэг

 

 
Страница 3 из 3 ПерваяПервая 1 2 3

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

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

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

Ваши права

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