Показано с 1 по 10 из 10

Тема: Динамические массивы ( EXPERIMENTAL )

  1. #1
    Истеричка
    Регистрация
    11.12.2011
    Возраст
    26
    Сообщений
    2,324
    Репутация: 323

    Звание: как роза среди колючек

    Динамические массивы ( EXPERIMENTAL )

    В общем, это экспериментальная разработка, которая на данный момент работает только с данными типа string.
    Да, я знаю о существовании плагина от Владокса, но его и моя разработка - разные проекты.

    Подробнее о динамических массивах:
    Динамическим называется массив, размер которого,при необходимости, может меняться во время исполнения программы.
    Вы можете по желанию добавлять или удалять из него строки, и при этом вы не ограничены размерами массива.

    И так, функционал представлен 11-ю функциями.


    Инициализирует новый динамический массив.
    Возвращает ID массива.

    Пример использования:
    PHP код:
    new stringArray = List<string>.Create(); 



    Добавляет новую строку в конец массива.

    Параметры:

    _ID - ID массива
    item[] - текстовое значение

    Пример использования:
    PHP код:
    List<string>.AddstringArray"А Серёжа молодец =)" );
    List<
    string>.AddstringArray"Сам не похвалишь - никто не похвалит" ); 



    Добавляет массив строк range в конец динамического массива.

    Параметры:

    _ID - ID массива
    range[][] - массив с набором строк

    Пример использования:
    PHP код:
    new values[][] = { "by Seregamil""2015""Experemental" } ;
    List<
    string>.AddRangestringArrayvalues ); 



    Возвращает строку, помещенную в массив, по её индексу.

    Параметры:
    _ID - ID массива
    index - номер получаемой строки

    Возвращает строку типа string

    Пример использования:
    PHP код:
    new stringArray = List<string>.Create();
    new 
    values[][] = { "by Seregamil""2015""Experemental" } ;
    List<
    string>.AddRangestringArrayvalues );

    new 
    = -;
    while( ++
    != List<string>.LengthstringArray )) print( List<string>.GetstringArray) ); 



    Возвращает индекс первого вхождения элемента в массиве.

    Параметры:
    _ID - ID массива
    item[] - Искомая часть текста

    Возвращает ID строки в массиве.

    Пример использования:
    PHP код:
    new stringArray = List<string>.Create();
    new 
    values[][] = { "by Seregamil""2015""Experemental" } ;
    List<
    string>.AddRangestringArrayvalues );

    printf"%i", List<string>.IndexOfstringArray"Seregamil" ) ); // output: 0 



    Возвращает длину массива.

    Параметры:
    _ID - ID массива

    Пример использования:
    PHP код:
        new stringArray = List<string>.Create();

        new 
    values[][] = { "by Seregamil""2015""Experemental" } ;
        List<
    string>.AddRangestringArrayvalues );

        new 
    = -;
        while( ++
    != List<string>.LengthstringArray )) {
            print( List<
    string>.GetstringArray) );
        } 



    Ставит строку с индексом oldIndex на новое место, тобишь, newIndex.

    Параметры:
    _ID - ID массива
    oldIndex - ID строки
    newIndex - новый ID строки

    Пример использования:
    PHP код:
    List<string>.SetIDstringArray2); 



    Меняет местами строки X и Y.

    Параметры:
    _ID - ID массива
    X - ID первой строки
    Y - ID второй строки

    Пример использования:

    PHP код:
    List<string>.SwapstringArray2); 



    Вставляет строку item на позицию index

    Параметры:
    _ID - ID массива
    index - позиция, в которое встанет строка
    item[] - строка

    Пример использования:
    PHP код:
    List<string>.InsertstringArray0"Какой-нибудь текст, у меня фантазия как у хламидомонады." ); 



    Удаляет строку по её индексу.

    Параметры:
    _ID - ID массива
    index - индекс удаляемой строки

    Пример использования:

    PHP код:
    List<string>.RemoveAtstringArray) ; 



    Удаляет строку по её содержимому. Содержимое сверяется.

    Параметры:
    _ID - ID массива
    item[] - строка

    Пример использования:

    PHP код:
    List<string>.RemovestringArray"А Серёжа молодец =)" ); 


    Пример простого скрипта:
    PHP код:
        new stringArray = List<string>.Create();

        new 
    values[][] = { "by Seregamil""2015""Experemental""------------" } ;
        List<
    string>.AddRangestringArrayvalues );

        List<
    string>.AddstringArray"В общем это тестовое сообщение" );
        List<
    string>.AddstringArray"Разработка весьма и весьма эксперементальная" );
        List<
    string>.AddstringArray"Использовать на свой страх и риск" );

        List<
    string>.SwapstringArray5);

        new 
    = -;
        while( ++
    != List<string>.LengthstringArray )) {
            print( List<
    string>.GetstringArray) );
        } 
    Результат:



    Ссылка на инклуд: https://gist.github.com/Seregamil/6b439d7cd27a878a4dc9
    Автор: Seregamil
    Последний раз редактировалось Seregamil; 08.11.2015 в 20:42.

  2. 6 пользователей сказали cпасибо Seregamil за это полезное сообщение:

    Fallen A. (08.11.2015), Mexanizm (07.01.2016), SDraw (09.11.2015), Terner (06.01.2016), Быдлокодер (06.01.2016), Джонни Ди (06.01.2016)

  3. #2

  4. #3
    Почетный пользователь LC Аватар для ziggi
    Регистрация
    15.07.2010
    Адрес
    St. Petersburg
    Возраст
    30
    Сообщений
    370
    Репутация: 151

    Звание: - весьма и весьма положительная личность
    Лучше переделай с property на SVar, будет быстрее.

  5. #4
    Активный пользователь
    Регистрация
    06.10.2015
    Адрес
    Slobodskoy
    Возраст
    26
    Сообщений
    103
    Репутация: 93

    Звание: скоро придёт к известности
    У меня нескромный вопрос, то есть, если юзать твои массивы стек не будет забивать?

    PHP код:
    stock StringArrayGet_IDindex ) {
        new 
    _RESULT128 ] ;
        
    getproperty_ID""index_RESULT);
        
    strunpack_RESULT_RESULTsizeof_RESULT ) );
        return 
    _RESULT // вот это напрягает

    Дудеть в трубу!
    ору

  6. #5
    Истеричка
    Регистрация
    11.12.2011
    Возраст
    26
    Сообщений
    2,324
    Репутация: 323

    Звание: как роза среди колючек
    Цитата Сообщение от Untonyst Посмотреть сообщение
    У меня нескромный вопрос, то есть, если юзать твои массивы стек не будет забивать?

    PHP код:
    stock StringArrayGet_IDindex ) {
        new 
    _RESULT128 ] ;
        
    getproperty_ID""index_RESULT);
        
    strunpack_RESULT_RESULTsizeof_RESULT ) );
        return 
    _RESULT // вот это напрягает

    Не юзайте эту работу, а лучше, снести её к чертям собачьм. Юзайте плагин vertoral, там всё есть.

  7. #6
    Активный пользователь
    Регистрация
    06.10.2015
    Адрес
    Slobodskoy
    Возраст
    26
    Сообщений
    103
    Репутация: 93

    Звание: скоро придёт к известности
    Цитата Сообщение от Seregamil Посмотреть сообщение
    Не юзайте эту работу, а лучше, снести её к чертям собачьм. Юзайте плагин vertoral, там всё есть.
    Я и не собирался юзать 0)))
    Дудеть в трубу!
    ору

  8. #7
    Почетный пользователь Аватар для EvgeN 1137
    Регистрация
    10.01.2011
    Адрес
    не скажу
    Сообщений
    3,005
    Репутация: 580

    Звание: - это имя известно всем
    Цитата Сообщение от Seregamil Посмотреть сообщение
    Не юзайте эту работу, а лучше, снести её к чертям собачьм. Юзайте плагин vertoral, там всё есть.
    зачем выкладывать работу на форум и говорить, чтобы её никто не юзал?
    :)

  9. #8
    Джентльмен лжец Аватар для Fallen A.
    Регистрация
    03.09.2011
    Адрес
    Минск, БССР
    Возраст
    29
    Сообщений
    2,409
    Репутация: 337

    Звание: как роза среди колючек
    Цитата Сообщение от EvgeN 1137 Посмотреть сообщение
    зачем выкладывать работу на форум и говорить, чтобы её никто не юзал?
    Возможно, автор изначально сделал эту работу, а много позже обнаружилась критическая уязвимость. С кем не бывает.

  10. #9
    Почетный пользователь Аватар для EvgeN 1137
    Регистрация
    10.01.2011
    Адрес
    не скажу
    Сообщений
    3,005
    Репутация: 580

    Звание: - это имя известно всем
    Цитата Сообщение от Fallen A. Посмотреть сообщение
    Возможно, автор изначально сделал эту работу, а много позже обнаружилась критическая уязвимость. С кем не бывает.
    упс, не заметил, что тема была создана 2 месяца назад, но тем не менее, в первом посте написано только о том, что версия экспериментальная, ни о каких конкретных уязвимостях речь не идёт
    :)

  11. #10
    Активный пользователь
    Регистрация
    06.10.2015
    Адрес
    Slobodskoy
    Возраст
    26
    Сообщений
    103
    Репутация: 93

    Звание: скоро придёт к известности
    Цитата Сообщение от Fallen A. Посмотреть сообщение
    Возможно, автор изначально сделал эту работу, а много позже обнаружилась критическая уязвимость. С кем не бывает.
    А может делал, нашел минусы, впадлу исправлять т.к. есть улучшенные аналоги, забил
    Дудеть в трубу!
    ору

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •