Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Передача списка в метод
|
|||
|---|---|---|---|
|
#18+
Значит торможу на следующей ситуации: есть список вида Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2011, 17:10 |
|
||
|
Передача списка в метод
|
|||
|---|---|---|---|
|
#18+
AndrewQwerЗначит торможу на следующей ситуации: есть список вида Код: plaintext 1. 2. 3. 4. 5. 6. 7. нужно передать через точку Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2011, 17:17 |
|
||
|
Передача списка в метод
|
|||
|---|---|---|---|
|
#18+
а если появиться необходимость (а она скорее всего появиться) запускать через j ^SOMEOPERATION(LIST) Через точку в таком случае вроде не прокатывает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2011, 21:55 |
|
||
|
Передача списка в метод
|
|||
|---|---|---|---|
|
#18+
AndrewQwerа если появиться необходимость (а она скорее всего появиться) запускать через j ^SOMEOPERATION(LIST) Через точку в таком случае вроде не прокатывает Более того - и не должно, так определено в job, но обычно на этот случай есть передача указанных локальных переменных для команды job, это уже не стандартизированно, надо смотреть описание job на ту М систему которой пользуетесь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2011, 22:10 |
|
||
|
Передача списка в метод
|
|||
|---|---|---|---|
|
#18+
Генерируйте временные глобал и передавайте его имя. Если вызывающи и вызываемый методы находятся в одном процессе (не job), то можно использовать process-private global. (Кстати, от того, что вы глобал назвали списком, списком он не стал. Так что правильнее назвать тему "передача глобала в метод") ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2011, 22:24 |
|
||
|
Передача списка в метод
|
|||
|---|---|---|---|
|
#18+
Блок А.Н.Кстати, от того, что вы глобал назвали списком, списком он не стал. Так что правильнее назвать тему "передача глобала в метод" Все правильно с названием темы (разве что указанную структуру лучше назвать не списком, а массивом). Глобал бессмысленно передавать в метод по определению, в крайнем случае передается имя. AndrewQwerа если появиться необходимость (а она скорее всего появиться) запускать через j ^SOMEOPERATION(LIST) Через точку в таком случае вроде не прокатывает Можно преобразовать вашу структуру в список ($listbuild) и передавать его. Но этот способ работает только для небольших структур (объем $listbuild-а ограничен 32Кб, если не включать поддержку длинных строк). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2011, 09:41 |
|
||
|
Передача списка в метод
|
|||
|---|---|---|---|
|
#18+
AndrewQwer , что вообще находится в том массиве, что его весь (!) хочется передавать парпметром? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2011, 13:08 |
|
||
|
Передача списка в метод
|
|||
|---|---|---|---|
|
#18+
TurkМожно преобразовать вашу структуру в список ($listbuild) и передавать его. Но этот способ работает только для небольших структур (объем $listbuild-а ограничен 32Кб, если не включать поддержку длинных строк). У AndrewQwer уже используется локальная переменная - т.е. ограничение на 32КБ работает. Т.о. можно смело использовать листбилд. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2011, 13:10 |
|
||
|
Передача списка в метод
|
|||
|---|---|---|---|
|
#18+
krvsa AndrewQwer , что вообще находится в том массиве, что его весь (!) хочется передавать парпметром? скажем список людей, сформированных по некому признаку. В зависимости от значения этого признака список должен передаваться в различные программы :) как-то так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2011, 09:46 |
|
||
|
Передача списка в метод
|
|||
|---|---|---|---|
|
#18+
Блок А.Н.Генерируйте временные глобал и передавайте его имя. Если вызывающи и вызываемый методы находятся в одном процессе (не job), то можно использовать process-private global. (Кстати, от того, что вы глобал назвали списком, списком он не стал. Так что правильнее назвать тему "передача глобала в метод") Насчет временного глобала подумывал, оставлю на крайний случай. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2011, 09:47 |
|
||
|
Передача списка в метод
|
|||
|---|---|---|---|
|
#18+
TurkБлок А.Н.Кстати, от того, что вы глобал назвали списком, списком он не стал. Так что правильнее назвать тему "передача глобала в метод" Все правильно с названием темы (разве что указанную структуру лучше назвать не списком, а массивом). Глобал бессмысленно передавать в метод по определению, в крайнем случае передается имя. AndrewQwerа если появиться необходимость (а она скорее всего появиться) запускать через j ^SOMEOPERATION(LIST) Через точку в таком случае вроде не прокатывает Можно преобразовать вашу структуру в список ($listbuild) и передавать его. Но этот способ работает только для небольших структур (объем $listbuild-а ограничен 32Кб, если не включать поддержку длинных строк). да, про $listbuild забыл :) нада попробывать, спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2011, 09:48 |
|
||
|
Передача списка в метод
|
|||
|---|---|---|---|
|
#18+
AndrewQwerскажем список людей, сформированных по некому признаку. Тогда его однозначно в глобал! А имя глобала передать параметром в процедурку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2011, 09:49 |
|
||
|
Передача списка в метод
|
|||
|---|---|---|---|
|
#18+
krvsaAndrewQwerскажем список людей, сформированных по некому признаку. Тогда его однозначно в глобал! А имя глобала передать параметром в процедурку. хорошо, вот подумал а если LIST(N)=<обьект класса Person>. Получиться его прчоитать потом из глобала? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2011, 09:58 |
|
||
|
Передача списка в метод
|
|||
|---|---|---|---|
|
#18+
AndrewQwerа если LIST(N)=<обьект класса Person>. Получиться его прчоитать потом из глобала? Нет. Ореф пока должен быть именно локальной переменной. Да и в джоб ореф не передать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2011, 10:00 |
|
||
|
Передача списка в метод
|
|||
|---|---|---|---|
|
#18+
krvsaAndrewQwerа если LIST(N)=<обьект класса Person>. Получиться его прчоитать потом из глобала? Нет. Ореф пока должен быть именно локальной переменной. Да и в джоб ореф не передать... яснО, это все меняеть ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2011, 10:08 |
|
||
|
Передача списка в метод
|
|||
|---|---|---|---|
|
#18+
AndrewQwer , как вариант ИДшки нужные собрать и передать... Этого добра даже в листбилд много можно напихать. Но опять вопрос - зачем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2011, 10:33 |
|
||
|
Передача списка в метод
|
|||
|---|---|---|---|
|
#18+
krvsa AndrewQwer , как вариант ИДшки нужные собрать и передать... Этого добра даже в листбилд много можно напихать. Но опять вопрос - зачем? не, не нада, в моем случае можно обойтись без передачи классов =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2011, 10:34 |
|
||
|
Передача списка в метод
|
|||
|---|---|---|---|
|
#18+
AndrewQwer , Используйте класс %ArrayOfDataTypes (или %ListOfDataTypes , если количество элементов невелико), например: new arr set arr=##class(%ArrayOfDataTypes).%New() do arr.SetAt("some val1",1) do arr.SetAt("some val10",10) do arr.SetAt("some val15000",15000) do arr.SetAt("some val500000000",500000000) d SOMEOPERATION(arr) SOMEOPERATION(l) { m LIST=l.Data zw LIST } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2011, 17:34 |
|
||
|
Передача списка в метод
|
|||
|---|---|---|---|
|
#18+
servit AndrewQwer , Используйте класс %ArrayOfDataTypes (или %ListOfDataTypes , если количество элементов невелико) AndrewQwerа если появиться необходимость (а она скорее всего появиться) запускать через j ^SOMEOPERATION(LIST) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2011, 09:23 |
|
||
|
Передача списка в метод
|
|||
|---|---|---|---|
|
#18+
Turk , Тогда необходимо сериализовывать/десериализовывать объект, например: new kill ^LIST set arr=##class(%ArrayOfDataTypes).%New() do arr.SetAt("some val1","1") do arr.SetAt("some val10",10) do arr.SetAt("some val15000",15000) do arr.SetAt("some val500000000",500000000) do arr.%SerializeObject(.serial) job SOMEOPERATION(serial) hang 0.1 zwrite ^LIST SOMEOPERATION(serial) new tmp set tmp=##class(%ArrayOfDataTypes).%Open(serial) merge ^LIST=tmp.Data quit ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2011, 19:27 |
|
||
|
Передача списка в метод
|
|||
|---|---|---|---|
|
#18+
servit Turk , Тогда необходимо сериализовывать/десериализовывать объект, например: new kill ^LIST set arr=##class(%ArrayOfDataTypes).%New() do arr.SetAt("some val1","1") do arr.SetAt("some val10",10) do arr.SetAt("some val15000",15000) do arr.SetAt("some val500000000",500000000) do arr.%SerializeObject(.serial) job SOMEOPERATION(serial) hang 0.1 zwrite ^LIST SOMEOPERATION(serial) new tmp set tmp=##class(%ArrayOfDataTypes).%Open(serial) merge ^LIST=tmp.Data quit Спасибо за еще 1 метод, но через listbuild пока проще. возможно в других ситуациях ваш способ будет удобнее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2011, 08:58 |
|
||
|
|

start [/forum/topic.php?fid=39&msg=37112796&tid=1557812]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
56ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
74ms |
get tp. blocked users: |
2ms |
| others: | 281ms |
| total: | 460ms |

| 0 / 0 |
