|
Параметры функций передаются по ссылке? | ☑ | ||
---|---|---|---|---|
0
CMblCL
09.02.16
✎
07:47
|
Всегда ли и все ли параметры передаются в процедуры/функции по ссылке?
|
|||
1
George Wheels
09.02.16
✎
07:50
|
Знач
|
|||
2
фобка
09.02.16
✎
08:46
|
Зависит от типа, поэтому не всегда
|
|||
3
Ma3eIIa
09.02.16
✎
08:55
|
(0) молодой человек. а вы ООП знаете ?
|
|||
4
ДенисЧ
09.02.16
✎
09:00
|
нет. Не всегда и не все.
|
|||
5
ObjectRelation Model
09.02.16
✎
09:01
|
(3) а причем тут ООП?
|
|||
6
rozer76
09.02.16
✎
09:23
|
||||
7
rozer76
09.02.16
✎
09:25
|
+(6) последний случай при возврате с сервера на клиент блокирует контекст - т.е. ТЗ не измениться
|
|||
8
Ma3eIIa
09.02.16
✎
09:30
|
(5) оттуда ноги растут. это же функции и процедуры. и в них можно передать любой тип. даже НЕопределено или Null
|
|||
9
rs_trade
09.02.16
✎
09:31
|
(6) видел прогов со стажем в 10 лет которые про это не знали.
|
|||
10
Остап Сулейманович
09.02.16
✎
09:36
|
(8) Обалдеть... А без ООП процедуры и функции использовать нельзя? Или нельзя в них передавать параметры? Или без ООП нельзя передавать Null?
Как жеШ я без ООП работал со скульными запросами? |
|||
11
ObjectRelation Model
09.02.16
✎
09:39
|
(8) такого бреда давно не слышал
|
|||
12
ObjectRelation Model
09.02.16
✎
09:39
|
(2) не зависит от типа, зависит от директивы Знач
|
|||
13
Ma3eIIa
09.02.16
✎
09:41
|
(10) я тебе о знаниях в программирование вообще в ООП, это описано нормально в теории.
бред ? обоснуй ? http://www.lessons1c.ru/articles/61-peredachaparametrov.html http://xn----1-bedvffifm4g.xn--p1ai/articles/процедуры-и-функции/ |
|||
14
Остап Сулейманович
09.02.16
✎
09:47
|
(13) Извиняюсь за некрофилию. Но вот : http://turbo-basic.narod.ru/22-23.jpg
Лист 1. Колонка 2. Последние два абзаца. Скажешь когда в Turbo Basic стал объектным - с меня пиво. |
|||
15
mikecool
09.02.16
✎
09:48
|
(12) зависит ,еще как, смотри (6) в конце
это еще с 77 |
|||
16
Яплакал
09.02.16
✎
09:56
|
(13) (14)
http://lh6.googleusercontent.com/-MYdPTkRjiEk/AAAAAAAAAAI/AAAAAAAAAi0/E7NIlV4KxNY/photo.jpg Есть основные признаки которые отличают объектно ориентированный язык от процедурного, и это не наличия процедур и функций )). Если вообще быть дотошным то в объектно ориентированном языке есть методы, а процедуры и функции эт пережитки прошлого |
|||
17
George Wheels
09.02.16
✎
09:59
|
До функционального программирования доберёмся?
|
|||
18
фобка
09.02.16
✎
10:02
|
(15) запутался человек, потерялся... Простим его
|
|||
19
ObjectRelation Model
09.02.16
✎
10:17
|
(15)(18) все там нормально, ссылка на объект либо остается неизменной, либо нет
|
|||
20
фобка
09.02.16
✎
10:39
|
(19) зависит ли от ключевого слова Знач поведение таблицы значений при передаче ее в процедуру?
|
|||
21
ObjectRelation Model
09.02.16
✎
10:49
|
(20) зависит, сравни:
Процедура Тест1(ТЗ) ТЗ.Очистить(); ТЗ = Неопределено; КонецПроцедуры Процедура Тест2(Знач ТЗ) ТЗ.Очистить(); ТЗ = Неопределено; КонецПроцедуры Тест1(ТЗ); //ТЗ - Неопределено Тест2(ТЗ); //ТЗ - очищенная таблица значений |
|||
22
фобка
09.02.16
✎
11:07
|
(21) ок, разница только в том, что тест2 не прибил ссылку, хотя и работал с ней. Т.е. передавалась все же ссылка в обоих случаях?
|
|||
23
ObjectRelation Model
09.02.16
✎
11:08
|
(22) да, ибо ссылочный тип, но вот только в одном случае ссылка вернется назад, а в другом нет
|
|||
24
ObjectRelation Model
09.02.16
✎
11:13
|
+(21) по интересней пример:
Процедура Тест1(ТЗ) ТЗ = ТЗ.Скопировать(); ТЗ.Добавить(); КонецПроцедуры Процедура Тест2(Знач ТЗ) ТЗ = ТЗ.Скопировать(); ТЗ.Добавить(); КонецПроцедуры |
|||
25
фобка
09.02.16
✎
11:15
|
(24) ну, это тоже самое
"Разница для всех типов при передаче параметра процедуры или функции по ссылке или по значению проявляется в присвоении фактическому параметру процедуры или функции нового значения. Вызов свойств и методов контекста фактического параметра, если таковые имеются, влияет на формальный параметр независимо от того, передается ли он по ссылке или по значению." Всем спасибо, расходимся |
|||
26
ObjectRelation Model
09.02.16
✎
11:17
|
(25) да ежу понятно, что это аналогично языкам Delphi/C#/Java
|
|||
27
hhhh
09.02.16
✎
11:21
|
(25) там не всё так однозначно. Если например передача параметра идет с клиента на сервер, он передается через сериализовать-десериализрвать. Фактически на сервере создается совершенно новый параметр из xml-строки.
|
|||
28
rozer76
09.02.16
✎
11:29
|
+ (27) http://its.1c.ru/db/v836doc#bookmark:dev:TI000000151
4.7.3. Передача параметров процедур и функций вот сюрприз тем кто с УФ не сталкивался ) |
|||
29
rozer76
09.02.16
✎
11:47
|
+ (28) такой он клиент-сервер суровый и беспощадный )
? При передаче управления с клиента на сервер (и обратно) всегда передаются копии параметров. При вызове серверной процедуры или функции с клиента происходит создание копии фактического параметра и передача этой копии на сторону сервера. При возврате управления с сервера на клиента также происходит создание копии формального параметра (с которым происходила работы в вызванной процедуре или функции) для передачи обратно на клиента. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |