slice ()
метод
Функция AS3 slice (startIndex: Number = 0, endIndex: Number = 0x7fffffff): String
В документации указано, что значение startIndex по умолчанию равно 0. Как мне вызвать эту функцию так что он использует значение по умолчанию startIndex?
В AS3, если функции требуются параметры и некоторые из параметров имеют значения по умолчанию, отсутствие передачи каких-либо параметров логически приведет к значениям параметров по умолчанию по умолчанию, как в примере Хуана Пабло Калифано.
Если требуется более одного параметра, и вы хотите сохранить значение по умолчанию для первого параметра, вам придется фактически указать его, чтобы установить другие параметры.
var str:String; str.slice( 0 , 5 ); str.slice( 0 , 2 );
Возьмем, к примеру, класс Matrix:
Matrix(a:Number = 1, b:Number = 0, c:Number = 0, d:Number = 1, tx:Number = 0, ty:Number = 0)
Если вам нужно установить параметр ty, передав его в качестве аргумента, вам нужно будет установить каждый параметр перед ним,
var matrix:Matrix = new Matrix(a:Number = 1, b:Number = 0, c:Number = 0, d:Number = 1, tx:Number = 0, ty:Number = 50)
с другой стороны, вы можете установите a и b и оставьте значения по умолчанию для остальных параметров.
var matrix:Matrix = new Matrix(a:Number = 100, b:Number = 20)
Просто не передавайте аргумент, и он будет использовать аргумент по умолчанию:
startIndex();
После того как вы укажете значения параметра, вам нужно будет указать каждый параметр слева от него. Поэтому, если вы хотите пропустить startIndex
, вам придется пропустить endIndex
.
В некоторых языках вы могли сказать str.slice(, 5)
, но не в AS3. Чтобы использовать значение по умолчанию для startIndex
, вам нужно сказать str.slice()
, что создает полную копию строки.
Кажется, нет особого смысла делать это для String
, поскольку она неизменяема. Вы чаще видите slice()
в Array
, где это простой способ получить копию.