Почему встроенная функция VBScript имеет необязательные параметры или метод oveloads, а я не могу? - PullRequest
2 голосов
/ 18 января 2012

Я знаю, что VBScript не имеет перегрузок методов или необязательных параметров, но некоторые встроенные методы, такие как InStr (и, возможно, другие), могут вызываться по-разному (например, InStr([start,] string1, string2 [, compare])).

Это необязательные параметры или перегрузки метода?

Как они возможны?

В чем причина того, что язык может это делать, а разработчик - нет?

1 Ответ

2 голосов
/ 20 января 2012

Функция InStr была частью практически каждого воплощения BASIC, включая VBScript.Я полагаю, что это вызвало бы больше проблем, чтобы удалить его, чем оставить его там.Помимо этого наследия, VBScript предназначен для сценаристов, то есть для людей, которым необходимо быстро / просто выполнить задачу.VBScript представляет собой просто средство для этого.Я не верю, что многие заметят отсутствие необязательных параметров / параметров по умолчанию.

Одна интересная вещь в VBScript - это его интеграция в COM через CreateObject ().Это означает, что любой недостаток VBScript можно преодолеть с помощью создания кода на другом языке.

Я считаю, что это превращает VBScript в мощный инструмент как для сценариев VBScript, так и для разработчиков.Сценарии теперь имеют неограниченный запас объектов, которые они могут использовать в своих сценариях, а разработчики теперь имеют отличную платформу для модульного тестирования своих COM-объектов.

...