|
Как присвоить массив по занчению? | ☑ | ||
---|---|---|---|---|
0
Deni7
12.04.10
✎
22:27
|
Задумался над простейшим вопросом. Подскажите, как присвоить массив по значению?
Есть код: А = Новый Массив(3,3); В = А; Сообщить("А[1][1] "+А[1][1]); //0 Сообщить("В[1][1] "+В[1][1]); //0 А[1][1] = 6; Сообщить("А[1][1] "+А[1][1]); //6 Сообщить("В[1][1] "+В[1][1]); //6 - ??? Как скопировать значения массива А в массив В, по значению? |
|||
1
Волшебник
12.04.10
✎
22:29
|
Массив.Скопировать()
|
|||
2
Deni7
12.04.10
✎
22:33
|
(1) {Форма.Форма(4)}: Метод объекта не обнаружен (Скопировать)
В = А.Скопировать(); |
|||
3
Лефмихалыч
12.04.10
✎
22:46
|
(2) потому, что Волшебник тебя технично наиграл
Для И=0 по А.Количество Цикл Для Ж=0 по А[И].Количество() Цикл В[И][Ж]=А[И][Ж] |
|||
4
Deni7
12.04.10
✎
22:55
|
(3) Это конечно понятно. А попроще нельзя? Одним каким нибудь действием? Вообще в чем логика разработчика в присваивании массива именно по ссылке?
Почему с переменными: С = 8; Д = С; С = 5; Сообщить("Д "+Д); //Д=8 А с массивами не так? |
|||
5
nop
12.04.10
✎
22:58
|
(4) в экономии памяти. Во всех нормальных языках передача всего больше чем примитивный тип делаеться по ссылке.
Напиши функцию копирования и вызывай |
|||
6
Варвар
12.04.10
✎
22:58
|
^B=^A
както так. |
|||
7
Лефмихалыч
12.04.10
✎
23:00
|
Можно еще так попробовать:
ЗЫ сам не пробовал |
|||
8
Deni7
12.04.10
✎
23:01
|
(5) И никакого способа передать по значению, типа (1)??? Я в шоке.
(6) ? среда разработки 1С 8.1. |
|||
9
Лефмихалыч
12.04.10
✎
23:03
|
(8) попробуй (7), мне аж интересно самому стало. В 7.7 точно был как миниму один объект, с которым такой фокус не прокатывал - Таблица. В 8 еще не встречал таких, а самому экспериментировать ленно как-то...
|
|||
10
Deni7
12.04.10
✎
23:07
|
(9) Не работает! #:-0
|
|||
11
Лефмихалыч
12.04.10
✎
23:37
|
(10) этофсмыслекаг!?!?!! параметр передается таки по ссылке, а не по значению?
|
|||
12
acsent
12.04.10
✎
23:42
|
(11) Такая конструкция работает только для примитивных типов
|
|||
13
Лефмихалыч
12.04.10
✎
23:59
|
И правда... это омерзительно...
|
|||
14
Deni7
13.04.10
✎
09:46
|
(0) И фсе таки? Еще раз спрошу умудренных опытом старших товарищей. Может кто ссылку кинет на документацию по этому поводу?
А то в 30 с лишним лет понять что жизнь прожита зря... |
|||
15
Deni7
13.04.10
✎
10:40
|
(0) Решилась проблема такъ
В = ЗначениеИзСтрокиВнутр(ЗначениеВСтрокуВнутр(А)); либо такъ СохранитьЗначение("Масс", А); В = ВосстановитьЗначение("Масс"); Всем спасибо. Но осадочек остался...(с) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |