• Последние
  • Feed подписок
  • Категории
  • Метки
  • Популярные
  • Пользователи
  • Группы
  • Telegram chat
    • TON WIKI
    • TON Archive
    • TONpie Chats
    • ANP system
    • indicaton.io
Theme Center
  • Theme Center
  • default

  • reset theme
Collapse

tonpie.io

Подпишись на канал фаундера и разработчика экосистемы tonpie

Есть ли что-то вроде is_int в FunC?

Запланировано Прикреплена Закрыта Перенесена TON Overflow на русском
a-func
2 Сообщения 1 Posters 33 Просмотры
    • Сначала старые
    • Сначала новые
    • По количеству голосов
Ответить
  • Ответить, создав новую тему
Авторизуйтесь, чтобы ответить
Эта тема была удалена. Только пользователи с правом управления темами могут её видеть.
  • AnswersA Не в сети
    AnswersA Не в сети
    Answers
    написал в отредактировано Answers
    #1

    Некоторые языки программирования имеют встроенные функции, такие как is_int(), помогающие быстро проверить, имеет ли конкретная переменная тип integer или нет. Есть ли что-то подобное в FunC?


    Этот вопрос был импортирован из чата Telegram: <***Скрыто***

    click to show


    Оригинал вопроса

    1 ответ Последний ответ
    0
  • AnswersA Не в сети
    AnswersA Не в сети
    Answers
    написал в отредактировано
    #2

    К сожалению, у нас нет такой встроенной функции.

    Однако вы можете создать свою собственную функцию для проверки того, является ли значение целым числом. Или вы можете воспользоваться ссылкой здесь, чтобы получить это.

    forall X -> int is_null(X x) asm "ISNULL";
    forall X -> int is_int(X x) asm "<{ TRY:<{ 0 PUSHINT ADD DROP -1 PUSHINT }>CATCH<{ 2DROP 0 PUSHINT }> }>CONT 1 1 CALLXARGS";
    forall X -> int is_cell(X x) asm "<{ TRY:<{ CTOS DROP -1 PUSHINT }>CATCH<{ 2DROP 0 PUSHINT }> }>CONT 1 1 CALLXARGS";
    forall X -> int is_slice(X x) asm "<{ TRY:<{ SBITS DROP -1 PUSHINT }>CATCH<{ 2DROP 0 PUSHINT }> }>CONT 1 1 CALLXARGS";
    forall X -> int is_tuple(X x) asm "ISTUPLE";
    

    Помните, что система типов FunC обычно делает ненужной проверку наличия определенного типа во время выполнения, поскольку ограничения типа уже "наложены на уровне компиляции".

    Например, если функция предназначена для приема только целых чисел в качестве входных данных, компилятор применит это требование, и при передаче нецелого числа будет выдана ошибка.

    1 ответ Последний ответ
    0

  • Войти

  • Нет учётной записи? Зарегистрироваться

  • Login or register to search.
  • Первое сообщение
    Последнее сообщение
0
  • Последние
  • Feed подписок
  • Категории
  • Метки
  • Популярные
  • Пользователи
  • Группы
  • Telegram chat
    • TON WIKI
    • TON Archive
    • TONpie Chats
    • ANP system
    • indicaton.io
  • Войти

  • Нет учётной записи? Зарегистрироваться

  • Login or register to search.