
Последние записи
- ActionScript (Flash) — современные альтернативы и конвертация
- Передача в функцию произвольного набора чисел (на разных языках программирования)
- Joomla 3.8 — Автоматическая авторизация по IP автоматически созданного временного пользователя с принадлежностью к заданной группе
- Конвертация MOV to MP4
- Автоматическое уничтожение объектов
- Найти среднее значение по данным в ячейке
- Число различных чисел (Microsoft Office Excel)
- Убить процесс
- Конвертер heic в jpg
- Проверка на шестнадцатеричный формат записи

Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке - https://slurm.club/3MeqNEk

Online-курс Java с оплатой после трудоустройства. Каждый выпускник получает предложение о работе
И зарплату на 30% выше ожидаемой, подробнее на сайте академии, ссылка - ttps://clck.ru/fCrQw
23rd
Апр
Передача в функцию произвольного набора чисел (на разных языках программирования)
Posted by obzor under c/c++, Delphi, JavaScript, php
Нужно объявить массив с заполнением моими значениями.
Var Temp: array[0..7] of Byte = (1, 4, 0, 210, 0, 56, 81, 225);
компилятор не принимает с ошибкой Canon initialize local variables
таже конструкция но как Const работает
Var Temp : Array[0..7] Of Byte;
Begin
Temp := (1, 4, 0, 210, 0, 56, 81, 225);
тоже не принимается компилятором
Так работает но мне не удобно так описывать
Temp[0]:=1;
Temp[1]:=4;
Temp[2]:=0;
…..
для старых дельфи нет ничего, кроме указанных writable consts или вручную записанных как в первом посте.
Ещё есть экзотический вариант (работает и в дельфи7): https://programmersforum.ru/showpost…39&postcount=7 — объявление массива in-place (либо через переменную строкового типа), где каждое число указывается через # (максимальное число = 1114111) и можно через индексатор (1..length) брать значения.
Если нет привязки к переменной на расчетной стороне, можно передавать (объявлять) массив на клиентской стороне (на вызове), это отчасти будет как из блога выше, но только частный вариант, работающий и в дельфи7:
procedure Calc(X: array of Integer);
...
Calc([1, 4, 0, 210, 0, 56, 81, 225]);
О! Open array! Это ещё одна фишка Паскаля/Дельфи. Может кто скажет как она или её аналоги называются в других языках?
Но есть ли в других языках возможность передать в функцию/процедуру произвольное количество параметров?
Пример на C++:
#include <iostream>
#include <vector>
void show_array(std::vector<int> arr) {
for (auto a : arr)
std::cout << a << " ";
}
int main()
{
show_array({ 1, 4, 0, 210, 0, 56, 81, 225 });
}
Пример на JS:
function show_array(arr){
for (a of arr)
console.log(a);
}
show_array([1, 4, 0, 210, 0, 56, 81, 225]);
Пример на PHP:
function show_array($arr){
foreach ($arr as $a)
echo "$a ";
}
show_array([1, 4, 0, 210, 0, 56, 81, 225]);
Но произвольное число параметров это другое. Вот пример с произвольным числом параметров на PHP:
function show_array(){
foreach (func_get_args() as $a)
echo "$a ";
}
show_array(1, 4, 0, 210, 0, 56, 81, 225);
Как видите, здесь в функцию мы передаем не массив, а именно что произвольный набор параметров.
Случайные статьи
Купить рекламу на сайте за 1000 руб
пишите сюда - alarforum@yandex.ru
Да и по любым другим вопросам пишите на почту

пеллетные котлы

Пеллетный котел Emtas

Наши форумы по программированию:
- Форум Web программирование (веб)
- Delphi форумы
- Форумы C (Си)
- Форум .NET Frameworks (точка нет фреймворки)
- Форум Java (джава)
- Форум низкоуровневое программирование
- Форум VBA (вба)
- Форум OpenGL
- Форум DirectX
- Форум CAD проектирование
- Форум по операционным системам
- Форум Software (Софт)
- Форум Hardware (Компьютерное железо)