argsДоступ к параметрам процедуры
Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразуют Notebook MuPAD в Live скрипты MATLAB.
args() args(0) args(i) args(i .. j)
args(0) возвращает количество параметров текущей процедуры.
args(i) возвращает значение iпараметр th текущей процедуры.
args получает доступ к фактическим параметрам процедуры и может только использоваться в процедурах. Это в основном предназначается для процедур с переменным количеством аргументов, поскольку в противном случае к параметрам могут просто получить доступ их имена.
args() возвращает последовательность выражения всех фактических параметров.
args(i..j) возвращает последовательность выражения, содержащую ith до jпараметр th.
В процедурах с опцией hold, args возвращает параметры без дальнейшей оценки. Используйте context или eval осуществлять последующую оценку. Смотрите Пример 2.
procname ( args()) возвращает символьный вызов функции текущей процедуры с оцененными аргументами.
Присвоение значений к формальным параметрам процедуры изменяет результат args. См. пример 4. args(0) остается неизменным.
Этот пример демонстрирует различные способы использования args:
f := proc() begin
print(Unquoted, "number of arguments" = args(0)):
print(Unquoted, "sequence of all arguments" = args()):
if args(0) > 0 then
print(Unquoted, "first argument" = args(1)):
end_if:
if args(0) >= 3 then
print(Unquoted, "second, third argument" = args(2..3)):
end_if:
end_proc:f():
number of arguments = 0
sequence of all arguments =
f(42):
number of arguments = 1
sequence of all arguments = 42
first argument = 42
f(a, b, c, d):
number of arguments = 4
sequence of all arguments = (a, b, c, d)
first argument = a
second, third argument = (b, c)
args не оценивает возвращенные параметры в процедурах с опцией hold. Используйте context достигнуть этого:
f := proc() option hold; begin args(1), context(args(1)) end_proc:
delete x, y: x := y: y := 2: f(x)
![]()
Мы используем args к параметрам доступа процедуры с произвольным числом аргументов:
f := proc() begin args(1) * _plus(args(2..args(0))) end_proc: f(2, 3), f(2, 3, 4)
![]()
Присвоение значений к формальным параметрам влияет на поведение args. В следующем примере, args возвращает значение 4, который присвоен в процедуре, а не значении 1, который является аргументом вызова процедуры:
f := proc(a) begin a := 4; args() end_proc: f(1)
![]()
|
Положительные целые числа |
args(0) возвращает неотрицательное целое число. Все другие вызовы возвращают произвольный объект MuPAD® или sequence из таких объектов.