Как Сделать Функцию, Чтобы Она Принимала Неизвестное Количество Аргуме

  • Автор темы XiNoID
  • Дата начала
X

XiNoID

Собственно вот. В хелпе не нашел...
необходим чистый лотусскрипт. Без джавы...
Есть мысли сделать массивом, но пока они до конца не оформились. Может есть какое встроенное средство, которое я упустил?
 

savl

Lotus Team
28.10.2011
2 624
314
BIT
539
никак, в скрипте нет такого. Но можно обойти.
Делаешь входной параметр - Variant, а передаешь массив или список. Каждый элемент массива/списка - параметр.
типа так:
Код:
Sub MySub(paramList as variant)
if paramList(0) = "2" then ...
if len(paramlist(1)) > 32 then ...
end sub
Надеюсь идея ясна.

Добавлено: только типы в массиве должны быть одинаковые.
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 985
611
BIT
470
раз формировать массив все-равно придется заранее - то и создать класс (унутре будет механизм доступа к параметрам), кот. и будет приниматься ф-цией...
а ваще - зачем такое нужно в ЛС? :)
 

savl

Lotus Team
28.10.2011
2 624
314
BIT
539
ToxaRat
lmike
Можно сделать некий RunFunction, который запускает функцию через Execute.
Передаешь туда имя библиотеки, название функции и список-массив параметров.
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 985
611
BIT
470
ToxaRat
lmike
Можно сделать некий RunFunction, который запускает функцию через Execute.
Передаешь туда имя библиотеки, название функции и список-массив параметров.
сделать можно, только я не вижу смысла использовать устаревших ЯП, при наличии java
 

savl

Lotus Team
28.10.2011
2 624
314
BIT
539
lmike
Дело вкуса, конкретной задачи, предпочтения и "Истории продукта".
Многие решения написаны давно и на LS, переводить их на Java не выгодно, особенно для внутренних нужд.
Спорить устарел LS или нет, просто не хочу. Да, IBM не стремиться его развивать, делает упор на java.
ИМХО: Но от этого он не умер, да и не скоро я думаю умрет.
 
A

alexas

Scald , каковы условия задачи и что должно быть в итоге?
В общем случае, при однотипных "x" и разнотипных "a" F(x1,x2,...,xn,a1,...,an) всегда эквивалентно {F(x1,a1...an),F(x2,a1...an),...,F(xn,a1...an)} и реализация такой функции становится очевидной.
Так как поставлен вопрос - это похоже на попытку создания "СуперМегаФункции", которую можно применять где угодно, и для чего угодно (утрирую конечно :)).
Для подобных задач, как справидливо заметил lmike, обычно применяются "классы".
Может, в конкретном случае, подойти к решению как-то попроще?

"Сделай настолько просто, насколько это возможно, но не проще" - (Albert Einstein)
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 985
611
BIT
470
lmike
Дело вкуса, конкретной задачи, предпочтения и "Истории продукта".
Многие решения написаны давно и на LS, переводить их на Java не выгодно, особенно для внутренних нужд.
Спорить устарел LS или нет, просто не хочу. Да, IBM не стремиться его развивать, делает упор на java.
ИМХО: Но от этого он не умер, да и не скоро я думаю умрет.
переводить... - а что мешает интегрировать? :) и просто больше не писать нового кода на ЛС
поддерживать - да, но писать новое...
ведь посыл топика - а дайтека мне как в джава, но без оной, т.о. изобретается велик с квадратными колесами, при полном отсутствии необходимости
 
X

XiNoID

Спасибо! Первый ответ мне помог. А необходима эта функция для уменьшения писанины ^_^
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!