Skip to content

Commit 5874a63

Browse files
Mr-RmEvilBeaver
authored andcommitted
описания методов объекта
(cherry picked from commit 24a9f27)
1 parent 63020bc commit 5874a63

1 file changed

Lines changed: 68 additions & 16 deletions

File tree

src/OneScript.StandardLibrary/Collections/ArrayImpl.cs

Lines changed: 68 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,11 @@ This Source Code Form is subject to the terms of the
1515

1616
namespace OneScript.StandardLibrary.Collections
1717
{
18+
/// <summary>
19+
/// Коллекция элементов произвольного типа.
20+
/// Возможно обращение к значениям элементов по числовому индексу (нумерация начинается с 0).
21+
/// Доступен обход в цикле <c>Для Каждого Из</c>.
22+
/// </summary>
1823
[ContextClass("Массив", "Array")]
1924
public class ArrayImpl : AutoCollectionContext<ArrayImpl, IValue>, IValueArray
2025
{
@@ -61,16 +66,23 @@ public override void SetIndexedValue(IValue index, IValue val)
6166
Set((int)index.AsNumber(), val);
6267
else
6368
base.SetIndexedValue(index, val);
64-
}
65-
69+
}
70+
6671
#region ICollectionContext Members
67-
72+
73+
/// <summary>
74+
/// Получает количество элементов в массиве
75+
/// </summary>
76+
/// <returns>Количество элементов массива</returns>
6877
[ContextMethod("Количество", "Count")]
6978
public override int Count()
7079
{
7180
return _values.Count;
72-
}
73-
81+
}
82+
83+
/// <summary>
84+
/// Удаляет все элементы из массива
85+
/// </summary>
7486
[ContextMethod("Очистить", "Clear")]
7587
public void Clear()
7688
{
@@ -87,16 +99,27 @@ public override IEnumerator<IValue> GetEnumerator()
8799
{
88100
yield return item;
89101
}
90-
}
91-
102+
}
103+
92104
#endregion
93-
105+
106+
/// <summary>
107+
/// Добавляет элемент в конец массива
108+
/// </summary>
109+
/// <param name="value">Произвольный: Добавляемое значение. Если не указано, то добавляется Неопределено</param>
94110
[ContextMethod("Добавить", "Add")]
95111
public void Add(IValue value = null)
96112
{
97113
_values.Add(value ?? ValueFactory.Create());
98-
}
99-
114+
}
115+
116+
/// <summary>
117+
/// Вставляет значение в массив по указанному индексу
118+
/// </summary>
119+
/// <param name="index">Число: Индекс вставляемого значения.
120+
/// Если индекс превышает размер массива, то массив дополняется элементами Неопределено до указанного индекса.
121+
/// Если индекс отрицательный, то выбрасывается исключение</param>
122+
/// <param name="value">Произвольный: Вставляемое значение. Если не указано, то вставляется Неопределено</param>
100123
[ContextMethod("Вставить", "Insert")]
101124
public void Insert(int index, IValue value = null)
102125
{
@@ -109,13 +132,24 @@ public void Insert(int index, IValue value = null)
109132
_values.Insert(index, value ?? ValueFactory.Create());
110133
}
111134

135+
/// <summary>
136+
/// Выполняет поиск элемента в массиве
137+
/// </summary>
138+
/// <param name="what">Произвольный: Искомое значение</param>
139+
/// <returns>Если элемент найден, возвращается его индекс, иначе Неопределено</returns>
112140
[ContextMethod("Найти", "Find")]
113141
public IValue Find(IValue what)
114142
{
115143
var idx = _values.FindIndex(x => x.StrictEquals(what));
116144
return idx>=0 ? ValueFactory.Create(idx) : ValueFactory.Create();
117-
}
118-
145+
}
146+
147+
/// <summary>
148+
/// Удаляет значение из массива
149+
/// </summary>
150+
/// <param name="index">Число: Индекс удаляемого элемента.
151+
/// Если индекс находится за границами массива, то выбрасывается исключение
152+
/// </param>
119153
[ContextMethod("Удалить", "Delete")]
120154
public void Remove(int index)
121155
{
@@ -125,21 +159,39 @@ public void Remove(int index)
125159
_values.RemoveAt(index);
126160
}
127161

162+
/// <summary>
163+
/// Получает наибольший индекс элемента массива
164+
/// </summary>
165+
/// <returns>Наибольший индекс в массиве. Если количество элементов массива равно 0, возвращает -1</returns>
128166
[ContextMethod("ВГраница", "UBound")]
129167
public int UpperBound()
130168
{
131169
return _values.Count - 1;
132-
}
133-
170+
}
171+
172+
/// <summary>
173+
/// Получает значение из массива по индексу
174+
/// </summary>
175+
/// <param name="index">Число: Индекс элемента.
176+
/// Если индекс находится за границами массива, то выбрасывается исключение
177+
/// </param>
178+
/// <returns>Значение элемента массива</returns>
134179
[ContextMethod("Получить", "Get")]
135180
public IValue Get(int index)
136181
{
137182
if (index < 0 || index >= _values.Count)
138183
throw RuntimeException.IndexOutOfRange();
139184

140185
return _values[index];
141-
}
142-
186+
}
187+
188+
/// <summary>
189+
/// Устанавливает значение в массиве по индексу
190+
/// </summary>
191+
/// <param name="index">Число: Индекс элемента.
192+
/// Если индекс находится за границами массива, то выбрасывается исключение
193+
/// </param>
194+
/// <param name="value">Произвольный: Устанавливаемое значение</param>
143195
[ContextMethod("Установить", "Set")]
144196
public void Set(int index, IValue value)
145197
{

0 commit comments

Comments
 (0)