Re: Вперед у світле майбутнє
Як краще передавати масиви в функцію: по посиланню або за значенням?
Ви не увійшли. Будь ласка, увійдіть або зареєструйтесь.
Ласкаво просимо вас на україномовний форум з програмування, веб-дизайну, SEO та всього пов'язаного з інтернетом та комп'ютерами.
Будемо вдячні, якщо ви поділитись посиланням на Replace.org.ua на інших ресурсах.
Для того щоб створювати теми та надсилати повідомлення вам потрібно Зареєструватись.
Український форум програмістів → Ваші проєкти → Вперед у світле майбутнє
Сторінки Попередня 1 2 3 4 5 Наступна
Для відправлення відповіді ви повинні увійти або зареєструватися
Як краще передавати масиви в функцію: по посиланню або за значенням?
Як краще передавати масиви в функцію: за посиланням чи за значенням?
З точки зору швидкодії, передавати масиви як значення (щоразу копіюючи їх вміст при виклику функції) — гірший варіант, тому більшість мов загального призначення надають перевагу передачі їх за посиланням.
З іншого боку, в такій мові, як APL, передачі за посиланням не існує взагалі (чи, точніше, воно може бути приховане від користувача: параметр-масив передається за посиланням, але при спробі запису в нього перераховується кількість посилань на масив і, якщо масив має інших власників, створюється копія, в яку (замість оригіналу) вносяться зміни).
a=1;
if(a=1) {
function func() {
print "Перша версія"; print;
}
} else {
function func() {
print "Друга версія"; print;
}
}
func();
Як вам така конструкція?
Як вам така конструкція?
таки чому ви запитуєте?
не доганяю, як вона нам повинна бути
звичайний сішно-подібний код
У пітоні, де def динамічно присвоює змінній значення-функцію, можна робити щось подібне. Або навіть зробити цикл і в ньому перевизначати функцію скільки-завгодно разів, і це теж працюватиме.
Видавати помилку при спробі опису вже визначеної функції або автоматом оновлювати опис функції?
Загалом вже все працює. Залишилося додати пару десятків системних функцій і виловити помилки. Буду потихеньку робити сайт для онлайн версії.
Самим шикарним в новій мові програмування буде її назва ...
Самим шикарним в новій мові програмування буде її назва ...
і яка друга велика фіча мови, після назви?
kostoprav666 написав:Самим шикарним в новій мові програмування буде її назва ...
і яка друга велика фіча мови, після назви?
її логотип
Чого ви смієтеся? Microsoft зловила на свій логотип величезну кількість лохів по всьому світу. Ви думаєте, що лохи закінчилися?
Чого ви смієтеся? Microsoft зловила на свій логотип величезну кількість лохів по всьому світу. Ви думаєте, що лохи закінчилися?
А ваш продукт орієнтується на лохів?
Орієнтується на людей з обмеженими розумовими здібностями.
Хто-небудь бажає підкинути якусь програму на будь-якій мові програмування для тестування?
// Вставка в двоичное дерево
function Новый элемент(Дерево, Элемент) {
Родитель = false;
while(type(Указатель) = "object") begin Указатель = Дерево.корень; {
Родитель = Указатель;
if(Элемент < Указатель.значение)
Указатель = Указатель.левый лист;
else
Указатель = Указатель.правый лист;
}
Узел = object();
Узел.родитель = Родитель;
Узел.левый лист = false;
Узел.правый лист = false;
Узел.значение = Элемент;
if(type(Родитель) = "boolean") {
Дерево.корень = Узел;
} else {
if(Элемент < Родитель.значение) {
Родитель.левый лист = Узел;
} else {
Родитель.правый лист = Узел;
}
}
}
Дерево первое = object();
Дерево первое.корень = false;
Дерево второе = object();
Дерево второе.корень = false;
Новый элемент(Дерево первое, "Первый");
Новый элемент(Дерево первое, "Второй");
print Дерево первое;
print Дерево второе;
Змусив мову зжерти такий код. Ви вже вибачайте, що програму написав російською.
змінні з пробілами - це жах
Можна навіть так.
Дерево второе . корень = false;
Це аналогічно.
Дерево второе.корень = false;
Чого б туди ще впихнути?
Друк газет = 3
set synonym "Друк" for "print"
Наклад журналів = Друк газет
Друк Наклад журналів
газет = 8
Друк газет
Що виведе?
Друк газет = 3;
synonym "Друк", "print";
Наклад журналів = Друк газет;
Друк Наклад журналів;
газет = 8;
Друк газет;
Синтаксическая ошибка в строке 3 на символе 'PRINT'
А якщо так
Друк газет = 3;
synonym "Друк", "print";
Наклад журналів = 20;
Друк Наклад журналів; Друк;
газет = 8;
Друк газет;
20
8
Це ж як можна заплутати програму