Друкарня від WE.UA

Оголошення функцій

Функції в Mash Script оголошуються за допомогою типу даних, що повертається, за яким слідує ім'я функції та список параметрів у круглих дужках. Далі слідує блок коду функції у фігурних дужках.

void mul(a: int, b: int) { 
  Out.println(a * b);
}

У цьому прикладі ми оголосили функцію mul, яка приймає два числа a та b. Функція виводить добуток цих чисел на консоль за допомогою Out.println.

Опціональні параметри та функції без параметрів

Функція може не мати параметрів, або мати опціональні, “keyword“.

void mul(a: int, b: int = 2) {
  Out.println(a * b);
}

mul(6)      // 12
mul(6, 3)   // 18
mul(3, b=2) // 6
mul(b=12, a=2) // 24

void print_hello() {
  Out.println("Hello!");
}

print_hello() // "Hello!"

Ключове слово ret

Функція може повертати певне значення, тип якого відповідає визначеному під час оголошення функції.

int plus(a: int, b: int) {
  ret a + b;
}

Out.println(plus(6, 3)); // 9
Out.println(plus(plus(6, 4), 8)); // 18

Зверніть увагу: під час оголошення функції використано тип int. Об’єкт саме цього типу повинна повертати функція.

Продвинута типізація

Ви можете використовувати будь-який вираз як тип повернення під час оголошення функції.

import { * } from typing;

Union(TypedPtr, pointer) get_counter(startswith: T, T: type=null) {
  if (T == null) {
    ret TypedPtr(T, &startswith);
  }
  else {
    ret &startswith;
  }
}

import stdl;

stdl-> void main() {
  Out.println("Hello!");
}

use Random;

dyn get_sth() { // Повертає будь-яке значення
  ret Random.pick([1, "1", [1], 1.2, &null]);
}

array[string] get_names() {
  ret "Roman", "Johan", "Rob";
}

string name = "John";

name.__type__ get_name() {
  ret name;
}

Анонімні функції

Це функції, що не мають ім’я та визначеного типу повернення (dyn)

(/* params */) {
   // body... 
}

func[int] to_integer = (f: float) {
  ret int(f);
}

( 
  (message: string) {
    Out.println(message);
  } 
)("Hello, World!");

Виклик функцій

Після оголошення функції ми можемо її викликати з будь-якого місця програми. Як ми робили це раніше. Ось приклад виклику функції mul у функції main:

void main() { 
  mul(2, 16);
}

Ми побачимо в консолі число 32.

Висновок

Функції в мові Mash Script дозволяють структурувати та повторно використовувати код, що робить розробку програм більш зручною та ефективною. Правильне використання функцій сприяє покращенню читабельності та підтримці коду.

Мова має пакет для Sublime Text (Синтаксис)
Мені лінь зберігати фото “як…“

Статті про вітчизняний бізнес та цікавих людей:

  • CRM keyCRM: зручне рішення для продажів, комунікацій і керування командою

    Успіх компанії залежить від того, наскільки швидко вона здатна опрацьовувати вхідні запити. Коли дані про клієнтів розпорошені між різними месенджерами, виникає хаос. CRM keyCRM пропонує вихід із цієї ситуації, об’єднуючи всі робочі процеси в єдиному зручному інтерфейсі.

    Теми цього довгочиту:

    Crm
  • Різниця між UX і UI, яку варто зрозуміти ще до першого заняття

    Більшість людей, які обирають професію UX чи UI, довго вважають це одним і тим самим. Насправді це два різних підходи до роботи над продуктом, і плутанина між ними гальмує розвиток ще на старті.

    Теми цього довгочиту:

    Ui-ux
  • Логіка змін: як SEO оптимізація прибирає бар’єри до зростання

    Багато компаній приходять у SEO з очікуванням швидкого ривка, але дійсний ефект починається там, де сайт перестають латати точково. Тому в центрі роботи стоїть не окрема дія, а послідовні зміни. Оптимізація сайту має прибирати системні перешкоди, а не маскувати їх новими текстами

    Теми цього довгочиту:

    Seo
  • Музичний футуризм: неймовірні інструменти XXI століття

    Еволюція музичних інструментів це один із найкрутіших проявів потужності людської уяви і потреби виразити себе через мистецтво. І хоча багато традиційних інструментів майже не змінилися за століття існування, інновації і пошук не зупиняються.

    Теми цього довгочиту:

    Музичні Інструменти
  • Стіл – всьому голова? Так, якщо його правильно підібрати

    Коли починаєш вивчати пропозицію меблевих фабрик щодо столів, дивуєшся кількості варіантів, адже вони пропонують різні розміри, різні матеріали, різноманітні форми та дизайни. Скористайтесь нашим каталогом MebelOK, щоб Ви могли підібрати найкращу модель для Вашого приміщення

    Теми цього довгочиту:

    Столи
Поділись своїми ідеями в новій публікації.
Ми чекаємо саме на твій довгочит!
Romashka
Romashka@Romashka

Створюю інтерпретатор Mash Src

11Довгочити
262Перегляди
1Підписники
На Друкарні з 16 березня 2024

Більше від автора

  • Mash Script: Рядки, string

    Стаття охоплює різні аспекти роботи з рядками в мові Mash Script, включаючи їхній літеральний запис, методи, рядки-шаблони та інше.

    Теми цього довгочиту:

    Mash Script
  • Mash Script: Базовий синтаксис

    Опис базової структури програми написаної мовою Mash Script

    Теми цього довгочиту:

    Programming

Це також може зацікавити:

Коментарі (0)

Підтримайте автора першим.
Напишіть коментар!

Це також може зацікавити: