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

  • reset theme
Collapse

tonpie.io

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

Что определяет чистоту в FunC? Функции чтения/записи

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

    Что определяет чистоту функции?

    А) Он должен считывать только параметры функции. Б) Он может считывать значения вне параметров функции и возвращать значение, зависящее от параметров. C) Он может считывать значения вне параметров функции, но возвращаемое значение должно быть независимым от глобальных данных.

    Во всех трех случаях функция не изменяет данные за пределами своей области действия.

    <***Скрыто***

    click to show


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

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

    В контексте языка FunC эти три варианта определяют концепцию чистой функции.

    Чистая функция - это функция, которая:

    A) ** Считывает только значения, переданные** ему в качестве параметров, и не обращается ни к какому внешнему состоянию. Это означает, что его выходные данные определяются исключительно входными параметрами.

    B) ** Может считывать значения вне параметров функции, но его вывод по-прежнему зависит только от значений, переданных ему в качестве параметров. ** Он не полагается ни на какое внешнее состояние или глобальные данные.

    C) Может ** считывать значения вне параметров функции ** , но его выходные данные должны быть независимыми от каких-либо глобальных данных. Это означает, что он не должен использовать какие-либо глобальные переменные или данные или зависеть от них.

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


    Практически: а) присутствует модификатор "нечистый" - гарантирует правильное поведение б) отсутствует модификатор "нечистый" - компилятор функции будет делать странные вещи, например, удалять некоторый код без вашего разрешения.

    Это автоматически удалит вызов функции в двух случаях: a) функция ничего не возвращает: () fun() { }

    б) функция возвращает что-то, но это что-то ничему не присваивается:

    (int) fun() { return 5; }
    ...
    int a = fun(); ;; fun is called
    fun(); ;; fun call is removed"
    
    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.