|
как сравнить индекс элемента массива с переменной в цикле? | ☑ | ||
---|---|---|---|---|
0
violachiz
19.06.13
✎
17:16
|
как сравнить индекс элемента массива с переменной в цикле?
Для Каждого i Из массив Цикл Если i = переменная Тогда Объект.Строка = "тысяча2"; КонецЕсли; |
|||
1
zhig75
19.06.13
✎
17:18
|
КонецЦикла;
|
|||
2
violachiz
19.06.13
✎
17:19
|
с концомЦикла норм
|
|||
3
salvator
19.06.13
✎
17:20
|
Переменную-счетчик прикрути для получения индекса массива
|
|||
4
violachiz
19.06.13
✎
17:22
|
примерчик какой-нибудь?
|
|||
5
mikecool
19.06.13
✎
17:22
|
(0) ты определись - что и с чем ты хочешь сравнить...
|
|||
6
violachiz
19.06.13
✎
17:24
|
хочу сравнить число с индексом массива в цикле
|
|||
7
mikecool
19.06.13
✎
17:25
|
(6) точно не со значением?
|
|||
8
banco
19.06.13
✎
17:26
|
(0) так цикл делай Для Цикл, а не Для Каждого Цикл
|
|||
9
Fenrik
19.06.13
✎
17:27
|
(0) Нафига тут вообще цикл. Сравни переменную с границами массива.
|
|||
10
violachiz
19.06.13
✎
17:28
|
точно. у меня есть переменная числом нужно сравнить её с индексом массива, а значение это массива вывести
|
|||
11
salvator
19.06.13
✎
17:30
|
(10) Открой для себя метод Получить()
|
|||
12
Csar
19.06.13
✎
17:32
|
Для индекс По Массив.ВГраница Цикл
Если индекс = Переменная Тогда Значение = Массив[индекс]; КонецЕсли; КонецЦикла; |
|||
13
Csar
19.06.13
✎
17:33
|
(12) поправка
Для индекс = 0 По Массив.ВГраница-1 Цикл
|
|||
14
salvator
19.06.13
✎
17:35
|
(13) По Массив.ВГраница-1 - минус 1 не надо
|
|||
15
User_Agronom
19.06.13
✎
17:37
|
(11) И сразу же закрой))
Массивы в 1С начинаются нумероваться с 0 и до Массив.Количество() -1. Собственно, если переменная в этих границах - тогда есть |
|||
16
Csar
19.06.13
✎
17:38
|
(14) согласен
(0) Если надо через цикл Для Каждого, то вот: Индекс = 0;
|
|||
17
Csar
19.06.13
✎
17:39
|
(15) я полагаю, что речь идет о равенстве определенному индексу масссива, а не вхождение в рамки от 0-го индекса, по ВГраница().
|
|||
18
User_Agronom
19.06.13
✎
17:40
|
Если (переменная >=0) И (переменная <=Массив.Количество()-1) тогда
Сообщить("Можно обратиться к элементу Массив[переменная]") иначе Сообщить("Нет элемента с таким номером в массиве") КонецЕсли |
|||
19
salvator
19.06.13
✎
17:40
|
(15) Через попытку-исключение это легко решается безо всяких циклов
|
|||
20
User_Agronom
19.06.13
✎
17:40
|
(17) Если в границы входит = значит есть равенство некоторому индексу
|
|||
21
Ахиллес
19.06.13
✎
17:41
|
-Есть ли у вас план, мистер Фикс?
-О, да, у меня есть план, мистер Фикс. Вштыривает не по детски. |
|||
22
User_Agronom
19.06.13
✎
17:41
|
(19) Это гораздо правильнее. Потому как неизвестно какого типа переменная, и не дробная ли она
|
|||
23
Csar
19.06.13
✎
17:42
|
(20) ТС видимо говорит о равенстве не некоторому, а конкретному. Типа если индекс равен 10, то к значение приписать "оп!"
|
|||
24
User_Agronom
19.06.13
✎
17:43
|
Попытка
Массив[переменная] = Массив[переменная]+"оп"; Исключение КонецПопытки; (23) Или я что-то недопонял? |
|||
25
salvator
19.06.13
✎
17:45
|
(24) Одному ТС известно, что он хочет сделать, когда наткнется на элемент массива
|
|||
26
Csar
19.06.13
✎
17:47
|
(24) да, в идеальном случае так, но истинный план не был озвучен, и я полагаю задача стоит более интересная, чем просто присвоить элементу с определенным индексом что-либо.
(25) именно |
|||
27
salvator
19.06.13
✎
17:48
|
Но судя по (10) ему надо
Попытка А = Массив.Получить(Переменная); Сообщить("Нашли: "+А); Исключение Сообщить("Нет такого"); КонецПопытки; |
|||
28
Csar
19.06.13
✎
17:49
|
Беседа нескольких людей. А ТС куда то пропал.
|
|||
29
User_Agronom
19.06.13
✎
17:52
|
У ТС закончился рабочий день))
|
|||
30
Шапокляк
19.06.13
✎
18:10
|
ТС, видать, решил замедлить выполнение программы. Для этого он создал массив из 100500 элементов и крутит их перебор в цикле.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |