21

Re: Вперед у світле майбутнє

Як краще передавати масиви в функцію: по посиланню або за значенням?

22

Re: Вперед у світле майбутнє

kostoprav666 написав:

Як краще передавати масиви в функцію: за посиланням чи за значенням?

З точки зору швидкодії, передавати масиви як значення (щоразу копіюючи їх вміст при виклику функції) — гірший варіант, тому більшість мов загального призначення надають перевагу передачі їх за посиланням.

З іншого боку, в такій мові, як APL, передачі за посиланням не існує взагалі (чи, точніше, воно може бути приховане від користувача: параметр-масив передається за посиланням, але при спробі запису в нього перераховується кількість посилань на масив і, якщо масив має інших власників, створюється копія, в яку (замість оригіналу) вносяться зміни).

23

Re: Вперед у світле майбутнє

a=1;

if(a=1) {
    function func() {
        print "Перша версія"; print;
    }
} else {
    function func() {
        print "Друга версія"; print;
    }
}

func();

Як вам така конструкція?

24 Востаннє редагувалося 221VOLT (07.08.2019 22:14:24)

Re: Вперед у світле майбутнє

kostoprav666 написав:

Як вам така конструкція?

таки чому ви запитуєте?
не доганяю, як вона нам повинна бути
звичайний сішно-подібний код

Прихований текст

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

25

Re: Вперед у світле майбутнє

У пітоні, де def динамічно присвоює змінній значення-функцію, можна робити щось подібне. Або навіть зробити цикл і в ньому перевизначати функцію скільки-завгодно разів, і це теж працюватиме.

26

Re: Вперед у світле майбутнє

Видавати помилку при спробі опису вже визначеної функції або автоматом оновлювати опис функції?

27 Востаннє редагувалося kostoprav666 (08.08.2019 19:19:55)

Re: Вперед у світле майбутнє

Загалом вже все працює. Залишилося додати пару десятків системних функцій і виловити помилки. Буду потихеньку робити сайт для онлайн версії.

Самим шикарним в новій мові програмування буде її назва ... 8)

28

Re: Вперед у світле майбутнє

kostoprav666 написав:

Самим шикарним в новій мові програмування буде її назва ... 8)

і яка друга велика фіча мови, після назви?  :o

Подякували: leofun01, LoganRoss, ostap34PHP3

29

Re: Вперед у світле майбутнє

221VOLT написав:
kostoprav666 написав:

Самим шикарним в новій мові програмування буде її назва ... 8)

і яка друга велика фіча мови, після назви?  :o

її логотип

Подякували: leofun01, LoganRoss, 221VOLT, ostap34PHP4

30

Re: Вперед у світле майбутнє

Чого ви смієтеся? Microsoft зловила на свій логотип величезну кількість лохів по всьому світу. Ви думаєте, що лохи закінчилися?  :P

31

Re: Вперед у світле майбутнє

kostoprav666 написав:

Чого ви смієтеся? Microsoft зловила на свій логотип величезну кількість лохів по всьому світу. Ви думаєте, що лохи закінчилися?  :P

А ваш продукт орієнтується на лохів?

Подякували: LoganRoss, leofun01, ostap34PHP3

32

Re: Вперед у світле майбутнє

Орієнтується на людей з обмеженими розумовими здібностями.

33

Re: Вперед у світле майбутнє

kostoprav666 написав:

Орієнтується на людей з обмеженими розумовими здібностями.

і ви вважаєте такими нас?

Подякували: leofun01, /KIT\, LoganRoss3

34

Re: Вперед у світле майбутнє

Навіщо питати очевидне? :|

35

Re: Вперед у світле майбутнє

Хто-небудь бажає підкинути якусь програму на будь-якій мові програмування для тестування?

36

Re: Вперед у світле майбутнє

// Вставка в двоичное дерево

function Новый элемент(Дерево, Элемент) {
  Родитель = false;
  while(type(Указатель) = "object") begin Указатель = Дерево.корень; {
    Родитель = Указатель;
    if(Элемент < Указатель.значение)
      Указатель = Указатель.левый лист;
    else
      Указатель = Указатель.правый лист;
  }
  Узел = object();
  Узел.родитель = Родитель;
  Узел.левый лист = false;
  Узел.правый лист = false;
  Узел.значение = Элемент;
  if(type(Родитель) = "boolean") {
    Дерево.корень = Узел;
  } else {
    if(Элемент < Родитель.значение) {
      Родитель.левый лист = Узел;
    } else {
      Родитель.правый лист = Узел;
    }
  }
}
Дерево первое = object();
Дерево первое.корень = false;
Дерево второе = object();
Дерево второе.корень = false;

Новый элемент(Дерево первое, "Первый");
Новый элемент(Дерево первое, "Второй");
print Дерево первое;
print Дерево второе;

Змусив мову зжерти такий код. Ви вже вибачайте, що програму написав російською.  :)

37 Востаннє редагувалося /KIT\ (01.01.2022 14:43:39)

Re: Вперед у світле майбутнє

змінні з пробілами - це жах

38 Востаннє редагувалося kostoprav666 (28.08.2019 14:25:08)

Re: Вперед у світле майбутнє

Можна навіть так.

Дерево    второе .  корень = false;

Це аналогічно.

Дерево второе.корень = false;

Чого б туди ще впихнути?

39 Востаннє редагувалося koala (28.08.2019 14:38:00)

Re: Вперед у світле майбутнє

Друк газет = 3
set synonym "Друк" for "print"
Наклад журналів = Друк газет
Друк Наклад журналів
газет = 8
Друк газет

Що виведе?

Подякували: 221VOLT1

40 Востаннє редагувалося kostoprav666 (28.08.2019 16:22:00)

Re: Вперед у світле майбутнє

Друк газет = 3;
synonym "Друк", "print";
Наклад журналів = Друк газет;
Друк Наклад журналів;
газет = 8;
Друк газет;
Синтаксическая ошибка в строке 3 на символе 'PRINT'

А якщо так

Друк газет = 3;
synonym "Друк", "print";
Наклад журналів = 20;
Друк Наклад журналів; Друк;
газет = 8;
Друк газет;
20
8

Це ж як можна заплутати програму  *JOKINGLY*