home.social

#чсткове — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #чсткове, aggregated by home.social.

  1. CW: Функції та оператори в Haskell. Продовження.

    Тепер перейдемо до створення власних функцій. Ми це вже робили у двох попередніх програмах. Там ми створювали функцію main яка не приймала жодних аргументів, але вони можуть приймати вхідні аргументи. Щоб створити функцію з аргументами потрібно перелічити їх до знаку =, таким чином розділяється оголошення віт тіла функції. Виглядає це так

    sumSquares x y = x ^ 2 + y ^ 2
    

    Викликати її потрібно так

    sumSquares 5 3
    

    Назви функцій та її аргументів повинні починатись з літери у нижньому регістрі, або символ підкреслення. Після неї можна ставити літери у різних регістрах, символ підкреслення та одинарну лапку('). Лапку не можна ставити у назви ідентифікаторів в інших мовах.

    У Haskell можна створювати функції які спеціалізують інші функції. Для цього потрібно використати часткове застосування. Для прикладу візьмемо функцію max зі стандартної бібліотеки. Вона приймає два аргументи та повертає більший з них. Але іноді нам може знадобитись порівнювати різні числа з константою, наприклад нулем. У такому разі ми можемо створити функцію яка буде повертати нуль якщо передане її число більше нуля, і нуль якщо менше чи рівне.

    lowerLimit x = max 0 x
    

    Або використати часткове застосування.

    lowerLimit = max 0
    

    Виклик обидвох цих функцій не відрізняється.

    lowerLimit 5
    

    #програмування #haskell #функції #оператори #чсткове #застосування #створення #оголошення

    Я спочатку думав що буде невеликий допис, але довелось ділити на два коли дописав.

  2. CW: Функції та оператори в Haskell. Продовження.

    Тепер перейдемо до створення власних функцій. Ми це вже робили у двох попередніх програмах. Там ми створювали функцію main яка не приймала жодних аргументів, але вони можуть приймати вхідні аргументи. Щоб створити функцію з аргументами потрібно перелічити їх до знаку =, таким чином розділяється оголошення віт тіла функції. Виглядає це так

    sumSquares x y = x ^ 2 + y ^ 2
    

    Викликати її потрібно так

    sumSquares 5 3
    

    Назви функцій та її аргументів повинні починатись з літери у нижньому регістрі, або символ підкреслення. Після неї можна ставити літери у різних регістрах, символ підкреслення та одинарну лапку('). Лапку не можна ставити у назви ідентифікаторів в інших мовах.

    У Haskell можна створювати функції які спеціалізують інші функції. Для цього потрібно використати часткове застосування. Для прикладу візьмемо функцію max зі стандартної бібліотеки. Вона приймає два аргументи та повертає більший з них. Але іноді нам може знадобитись порівнювати різні числа з константою, наприклад нулем. У такому разі ми можемо створити функцію яка буде повертати нуль якщо передане її число більше нуля, і нуль якщо менше чи рівне.

    lowerLimit x = max 0 x
    

    Або використати часткове застосування.

    lowerLimit = max 0
    

    Виклик обидвох цих функцій не відрізняється.

    lowerLimit 5
    

    #програмування #haskell #функції #оператори #чсткове #застосування #створення #оголошення

    Я спочатку думав що буде невеликий допис, але довелось ділити на два коли дописав.