Поясните, что за сокращения в коде?

Тема в разделе "Программирование / Скриптинг", создана пользователем MrBoogidy, 30 авг 2016.

  1. MrBoogidy

    MrBoogidy

    Сообщения:
    23
    Симпатии:
    2
    Всем привет. Открыл тут исходник [CSGO] AbNeR Dust2 [EN/RU]
    и увидел там такие функции как: props.Length (строка 88) props.Clear() (строки 93, 97)
    Откуда они взялись? Как их применять?

    Буду благодарен за доходчивые объяснения или линки на мануалы.
    Спасибо.
     
  2. Someone

    Someone

    Сообщения:
    136
    Симпатии:
    44
    Это массивы.

    На 9 строчке объявляется:
    ArrayList props;

    На 31 создаётся:
    props = new ArrayList();

    На 88 получает длину массива.

    На 89 получает индексы пропов.

    На 90 проверят индексы пропов.

    На 91 удаляет пропы взятые из массива.

    А на 93 уже очищает массив.

    На 127 вносит индекс пропа в массив.

    Все функции массивов можно найти в "include/adt_array.inc".
     
    Последнее редактирование: 30 авг 2016
  3. MrBoogidy

    MrBoogidy

    Сообщения:
    23
    Симпатии:
    2
    Спасибо за пояснения, @Someone.
    Правильно ли я понял, что:
    PHP:
    void DeleteAllProps(){

        for(
    int i 0;props.Length;i++){
            
    int Ent props.Get(i);
            if(
    IsValidEntity(Ent))
                
    AcceptEntityInput(props.Get(i), "kill");
        }
        
    props.Clear();
    }
    то же самое, что и:
    PHP:
    void DeleteAllProps(){

        for(
    int i 0;sizeof (props); i++){
            
    int Ent props[i];
            if(
    IsValidEntity(Ent))
                
    AcceptEntityInput(props[i], "kill");
                
    props[i] = 0;
        }
    }
    ?
     
  4. White Wolf

    White Wolf [] (int _n) -> double { return (_n % 2) == 0;}); Супер-модератор

    Сообщения:
    1.186
    Симпатии:
    411
    @MrBoogidy, второй способ обращения к элементам массива не будет работать в sourcepawn.
     
  5. R1KO

    R1KO Супер-модератор

    Сообщения:
    5.972
    Симпатии:
    2.977
    @MrBoogidy, это массив adt_array - т. е. массив абстрактного типа данных
    А
    Это методы класса ArrayList.
    Это появилось на новом синтаксисе.
     
    White Wolf нравится это.