Есть ли какие-либо преимущества использования Call при вызове функции в VBscript? - PullRequest
2 голосов
/ 20 февраля 2009

Простите, если ответ очевиден, поскольку я давно программировал vbscript.

Есть ли какие-либо преимущества использования Call при вызове функции в vbscript?

Например:

SomeFunction param1, param2

против

Call SomeFunction (param1, param2)

Ответы [ 4 ]

8 голосов
/ 20 февраля 2009

Разница по MSDN -

Чтобы вызвать процедуру Sub из другой процедуры, введите имя процедуры вместе со значениями для всех необходимых аргументов, каждый из которых отделяется запятой. Оператор Call не требуется, но если вы его используете, вы должны заключить любые аргументы в скобки .

В следующем примере показаны два вызова процедуры MyProc. Один использует оператор Call в коде; другой нет. Оба делают одно и то же .

Call MyProc(firstarg, secondarg)
MyProc firstarg, secondarg

Обратите внимание, что скобки опущены в вызове, когда оператор Call не используется.

7 голосов
/ 20 февраля 2009

Нет, нет.

0 голосов
/ 25 февраля 2009

Это действительно зависит от того, насколько вам нравится скобка. Исходя из истории c-family, мне кажется невероятно странным, что их нет.

0 голосов
/ 25 февраля 2009

Вызов обычно используется для подпрограмм, а не для функций, но в любом случае нет различий. Однако, когда дело доходит до функций, вы можете получить значение, возвращаемое из функции, а подпрограмма - нет. Пример

result = SomeFunction("param1")

Function SomeFunction(someArg)
SomeFunction = someArg & "Hey There"
End Function

это вернет "param1 Hey There" к значению "result"

result = SomeSub("param1")

Sub SomeSub(someArg)
SomeSub = someArg & "Hey There"
End Sub

но в этом случае «результат» не будет иметь никакого значения, потому что подпрограммы не могут этого сделать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...