Кому Юлие Владимировне?

Кому Юлие Владимировне?

Просклонять словосочетание юлия владимировна по падежам

ПадежЕдинственное число
Именительныйюлия владимировна
Родительныйюлии владимировны
Дательныйюлии владимировне
Винительныйюлию владимировну

Как правильно писать Виктории или викторие?

Виктории или Викторие, как правильно писать? Слово «Виктории» пишется с буквой «и» в безударном окончании дательного падежа. Обратимся с поздравлением, пожеланием к девушке или женщине по имени Виктория: Я хочу отправить поздравление Викто́рии.

Как склоняется имя София?

Склонение имени «Софья»

ПадежВопросСлово
именительныйКто, что?Софья
родительныйКого, чего?Софьи
дательныйКому, чему?Софье
винительныйКого, что?Софью

Как по другому можно назвать Софью?

Софийка, Софиечка, Софиюшка, Софочка, Софушка, Софонька, Софик, Софьюшка, Сонюша, Сонюшка.

Кому чему анастасие?

Единственное число

Мужской родЖенский род
Именительный падеж Кто, что?Анастасия
Родительный падеж Кого, чего?Анастасии
Дательный падеж Кому, чему?Анастасии
Винительный падеж Кого, что?Анастасию

Кому Ивановой?

Склонение фамилии Иванова по родам, лицам и падежам

мужской род
именительный (Кто?)Иванов
родительный (Кого?)Иванову
дательный (Кому?)Ивановой
винительный (Кого?)Иванову

Кому Марье?

Единственное число

Мужской родЖенский род
Именительный падеж Кто, что?Марья
Родительный падеж Кого, чего?Марьи
Дательный падеж Кому, чему?Марье
Винительный падеж Кого, что?Марью

Как правильно написать Любовь Ивановне?

Просклонять словосочетание любовь ивановна по падежам

ПадежЕдинственное число
Дательныйлюбови ивановне
Винительныйлюбовь ивановну
Творительныйлюбовью ивановной
Предложныйлюбови ивановне

Как правильно писать имя Любови или любви?

Как правильно склонять по падежам имя Любовь?

Именительный падежКто?Любовь
Родительный падежКого?Любови
Дательный падежКому?Любови
Винительный падежКого?Любовь
Творительный падежКем?Любовью

Как склоняется имя Любовь Михайловна?

Просклонять словосочетание любовь михайловна по падежам

ПадежЕдинственное число
Именительныйлюбовь михайловна
Родительныйлюбови михайловны
Дательныйлюбови михайловне
Винительныйлюбовь михайловну

Как склоняется Любовь Николаевна?

Просклонять словосочетание любовь николаевна по падежам

ПадежЕдинственное число
Родительныйлюбови николаевны
Дательныйлюбови николаевне
Винительныйлюбовь николаевну
Творительныйлюбовью николаевной

Как склонять Любовь Ивановна?

Правильно: _Любови Ивановне_. Пожалуйста, просклоняйте по падежам слово «любовь«, как в единственном, так и во множественном числе. Огромное спасибо! _Любовь_ — любви, любви, любовь, любовью, о любви.

Кому Петровой?

Склонение фамилии Петров по родам, лицам и падежам

мужской род
именительный (Кто?)Петров
дательный (Кому?)Петровой
винительный (Кого?)Петрову
творительный (Кем?)Петровой

Кому Любовь Александровне?

Просклонять словосочетание любовь александровна по падежам

ПадежЕдинственное число
Именительныйлюбовь александровна
Родительныйлюбови александровны
Дательныйлюбови александровне
Винительныйлюбовь александровну

Сорокина Юлия Алексеевна — 53 отзыва | Ростов-на-Дону

Пациент
+7-918-89XXXXX

5 мая в 19:10

+2. 0

отлично

Тщательность обследования

Эффективность лечения

Отношение к пациенту

Информирование пациента

Посоветуете ли Вы врача?

Отлично

Отлично

Отлично

Отлично

Однозначно

Проверено (2)

Посетили в апреле 2023

«Юнона» на Советской-ул. Советская, д. 51/2

Пациент
+7-951-51XXXXX

16 марта в 11:27

+2.0

отлично

Тщательность обследования

Эффективность лечения

Отношение к пациенту

Информирование пациента

Посоветуете ли Вы врача?

Отлично

Отлично

Отлично

Отлично

Однозначно

Проверено (3)

Посетили в марте 2023

«Юнона» на Советской-ул. Советская, д. 51/2

Пациент
+7-905-47XXXXX

1 марта в 14:37

+2.0

отлично

Тщательность обследования

Эффективность лечения

Отношение к пациенту

Информирование пациента

Посоветуете ли Вы врача?

Отлично

Отлично

Отлично

Отлично

Однозначно

Проверено (3)

Посетили в марте 2023

«Юнона» на Советской-ул. Советская, д. 51/2

Пациент
+7-918-55XXXXX

25 января в 15:36

+2.0

отлично

Тщательность обследования

Эффективность лечения

Отношение к пациенту

Информирование пациента

Посоветуете ли Вы врача?

Отлично

Отлично

Отлично

Отлично

Однозначно

Проверено (3)

Посетили в январе 2023

«Юнона» на Советской-ул. Советская, д. 51/2

Пациент
+7-928-16XXXXX

25 ноября 2022
в 13:23

+2.0

отлично

Тщательность обследования

Отношение к пациенту

Информирование пациента

Посоветуете ли Вы врача?

Отлично

Отлично

Отлично

Однозначно

Проверено (2)

Посетили в ноябре 2022

«Юнона» на Советской-ул. Советская, д. 51/2

Пациент
+7-928-77XXXXX

26 октября 2022
в 19:31

+2.0

отлично

Тщательность обследования

Эффективность лечения

Отношение к пациенту

Информирование пациента

Посоветуете ли Вы врача?

Отлично

Отлично

Отлично

Отлично

Однозначно

Проверено (2)

Посетили в октябре 2022

«Юнона» на Советской-ул. Советская, д. 51/2

Пациент
+7-908-50XXXXX

19 июля 2022
в 15:05

+2.0

отлично

Тщательность обследования

Эффективность лечения

Отношение к пациенту

Информирование пациента

Посоветуете ли Вы врача?

Отлично

Отлично

Отлично

Отлично

Однозначно

Проверено (3)

Посетили в июле 2022

«Юнона» на Северном-Проспект Космонавтов, д. 37

Пациент
+7-988-95XXXXX

14 июня 2022
в 11:16

+2.0

отлично

Тщательность обследования

Эффективность лечения

Отношение к пациенту

Информирование пациента

Посоветуете ли Вы врача?

Отлично

Отлично

Отлично

Отлично

Однозначно

Проверено (3)

Посетили в июне 2022

«Юнона» на Северном-Проспект Космонавтов, д. 37

Пациент
+7-918-57XXXXX

11 апреля 2022
в 10:11

+2.0

отлично

Тщательность обследования

Эффективность лечения

Отношение к пациенту

Информирование пациента

Посоветуете ли Вы врача?

Отлично

Отлично

Отлично

Отлично

Однозначно

Проверено (2)

Посетили в ноябре 2021

«Юнона» на Советской-ул. Советская, д. 51/2

Пациент
+7-961-41XXXXX

15 февраля 2022
в 13:44

+2.0

отлично

Тщательность обследования

Эффективность лечения

Отношение к пациенту

Информирование пациента

Посоветуете ли Вы врача?

Отлично

Отлично

Отлично

Отлично

Однозначно

Проверено (2)

Посетили в феврале 2022

«Юнона» на Советской-ул. Советская, д. 51/2

Пациент
+7-988-51XXXXX

30 декабря 2021
в 13:19

+2.0

отлично

Тщательность обследования

Эффективность лечения

Отношение к пациенту

Информирование пациента

Посоветуете ли Вы врача?

Отлично

Отлично

Отлично

Отлично

Однозначно

Проверено (2)

Посетили в декабре 2021

«Юнона» на Советской-ул. Советская, д. 51/2

Пациент
+7-960-44XXXXX

16 августа 2021
в 19:19

+2.0

отлично

Тщательность обследования

Эффективность лечения

Отношение к пациенту

Информирование пациента

Посоветуете ли Вы врача?

Отлично

Отлично

Отлично

Отлично

Однозначно

Проверено (2)

Посетили в августе 2021

«Юнона» на Советской-ул. Советская, д. 51/2

Пациент
+7-904-34XXXXX

23 июля 2021
в 10:40

+2.0

отлично

Тщательность обследования

Эффективность лечения

Отношение к пациенту

Информирование пациента

Посоветуете ли Вы врача?

Отлично

Отлично

Отлично

Отлично

Однозначно

Проверено (2)

Посетили в июле 2021

«Юнона» на Советской-ул. Советская, д. 51/2

Пациент
+7-928-18XXXXX

28 июня 2021
в 16:00

+2.0

отлично

Тщательность обследования

Эффективность лечения

Отношение к пациенту

Информирование пациента

Посоветуете ли Вы врача?

Отлично

Отлично

Отлично

Отлично

Однозначно

Проверено (1)

Посетили в июне 2021

«Юнона» на Советской-ул. Советская, д. 51/2

Пациент
+7-989-51XXXXX

24 марта 2021
в 12:04

+2.0

отлично

Тщательность обследования

Эффективность лечения

Отношение к пациенту

Информирование пациента

Посоветуете ли Вы врача?

Отлично

Отлично

Отлично

Отлично

Однозначно

Проверено (1)

Посетили в марте 2021

«Юнона» на Советской-ул. Советская, д. 51/2

Пациент
+7-985-19XXXXX

26 января 2021
в 11:15

+2.0

отлично

Тщательность обследования

Эффективность лечения

Отношение к пациенту

Информирование пациента

Посоветуете ли Вы врача?

Отлично

Отлично

Отлично

Отлично

Однозначно

Проверено (1)

Посетили в декабре 2020

«Юнона» на Советской-ул. Советская, д. 51/2

Пациент
+7-928-13XXXXX

16 декабря 2020
в 15:24

+2.0

отлично

Тщательность обследования

Эффективность лечения

Отношение к пациенту

Информирование пациента

Посоветуете ли Вы врача?

Отлично

Отлично

Отлично

Отлично

Однозначно

Проверено (1)

Посетили в ноябре 2020

«Юнона» на Советской-ул. Советская, д. 51/2

Пациент
+7-921-66XXXXX

10 декабря 2020
в 21:49

+2.0

отлично

Тщательность обследования

Эффективность лечения

Отношение к пациенту

Информирование пациента

Посоветуете ли Вы врача?

Отлично

Отлично

Отлично

Отлично

Однозначно

Проверено (1)

Посетили в октябре 2018

«Юнона» на Советской-ул. Советская, д. 51/2

Пациент
+7-961-30XXXXX

7 декабря 2020
в 11:14

+2.0

отлично

Тщательность обследования

Эффективность лечения

Отношение к пациенту

Информирование пациента

Посоветуете ли Вы врача?

Отлично

Отлично

Отлично

Отлично

Однозначно

Проверено (1)

Посетили в декабре 2020

«Юнона» на Советской-ул. Советская, д. 51/2

Пациент
+7-960-45XXXXX

14 сентября 2020
в 17:05

+2.0

отлично

Тщательность обследования

Эффективность лечения

Отношение к пациенту

Информирование пациента

Посоветуете ли Вы врача?

Отлично

Отлично

Отлично

Отлично

Однозначно

Проверено (1)

Посетили в августе 2020

«Юнона» на Советской-ул. Советская, д. 51/2

Пациент
+7-951-50XXXXX

14 сентября 2020
в 15:44

+2.0

отлично

Тщательность обследования

Эффективность лечения

Отношение к пациенту

Информирование пациента

Посоветуете ли Вы врача?

Отлично

Отлично

Отлично

Отлично

Однозначно

Проверено (1)

Посетили в сентябре 2020

«Юнона» на Советской-ул. Советская, д. 51/2

Пациент
+7-916-66XXXXX

20 августа 2020
в 10:24

+2.0

отлично

Тщательность обследования

Эффективность лечения

Отношение к пациенту

Информирование пациента

Посоветуете ли Вы врача?

Отлично

Отлично

Отлично

Отлично

Однозначно

Проверено (1)

Посетили в августе 2020

«Юнона» на Советской-ул. Советская, д. 51/2

Пациент
+7-985-88XXXXX

13 августа 2020
в 15:36

+2.0

отлично

Тщательность обследования

Эффективность лечения

Отношение к пациенту

Информирование пациента

Посоветуете ли Вы врача?

Отлично

Отлично

Отлично

Отлично

Однозначно

Проверено (1)

Посетили в августе 2020

«Юнона» на Советской-ул. Советская, д. 51/2

Пациент
+7-918-54XXXXX

16 июля 2020
в 20:33

+2.0

отлично

Тщательность обследования

Эффективность лечения

Отношение к пациенту

Информирование пациента

Посоветуете ли Вы врача?

Отлично

Отлично

Отлично

Отлично

Однозначно

Проверено (1)

Посетили в июле 2020

«Юнона» на Советской-ул. Советская, д. 51/2

Пациент
+7-985-43XXXXX

30 июня 2020
в 13:39

+2.0

отлично

Тщательность обследования

Эффективность лечения

Отношение к пациенту

Информирование пациента

Посоветуете ли Вы врача?

Отлично

Отлично

Отлично

Отлично

Однозначно

Проверено (1)

Посетили в июне 2020

«Юнона» на Советской-ул. Советская, д. 51/2

Пациент
+7-961-29XXXXX

23 июня 2020
в 21:10

+2.0

отлично

Тщательность обследования

Эффективность лечения

Отношение к пациенту

Информирование пациента

Посоветуете ли Вы врача?

Отлично

Отлично

Отлично

Отлично

Однозначно

Проверено (1)

Посетили в июне 2020

«Юнона» на Советской-ул. Советская, д. 51/2

Пациент
+7-985-08XXXXX

15 июня 2020
в 17:00

+2.0

отлично

Тщательность обследования

Эффективность лечения

Отношение к пациенту

Информирование пациента

Посоветуете ли Вы врача?

Отлично

Отлично

Отлично

Отлично

Однозначно

Проверено (1)

Посетили в мае 2020

«Юнона» на Советской-ул. Советская, д. 51/2

Пациент
+7-929-78XXXXX

5 мая 2020
в 20:50

+2.0

отлично

Тщательность обследования

Эффективность лечения

Отношение к пациенту

Информирование пациента

Посоветуете ли Вы врача?

Отлично

Отлично

Отлично

Отлично

Однозначно

Проверено (1)

Посетили в апреле 2020

«Юнона» на Советской-ул. Советская, д. 51/2

Пациент
+7-952-60XXXXX

17 марта 2020
в 00:25

-0.8

плохо

Тщательность обследования

Эффективность лечения

Отношение к пациенту

Информирование пациента

Посоветуете ли Вы врача?

Плохо

Плохо

Нормально

Нормально

Никогда

Проверено (1)

Посетили в марте 2020

«Юнона» на Советской-ул. Советская, д. 51/2

Пациент
+7-960-44XXXXX

6 ноября 2019
в 14:29

+2.0

отлично

Тщательность обследования

Эффективность лечения

Отношение к пациенту

Информирование пациента

Посоветуете ли Вы врача?

Отлично

Отлично

Отлично

Отлично

Однозначно

Проверено (1)

Посетили в ноябре 2019

«Юнона» на Советской-ул. Советская, д. 51/2

Пациент
+7-952-58XXXXX

9 августа 2019
в 14:44

+2.0

отлично

Тщательность обследования

Эффективность лечения

Отношение к пациенту

Информирование пациента

Посоветуете ли Вы врача?

Отлично

Отлично

Отлично

Отлично

Однозначно

Проверено (1)

Посетили в августе 2019

Клиника «Кардиоцентр»-ул. Буйнакская, д. 2

Пациент
+7-951-51XXXXX

25 апреля 2019
в 15:36

+2.0

отлично

Проверено (2)

Посетили в апреле 2019

«Юнона» на Советской-ул. Советская, д. 51/2

Скрытый

11 апреля 2019
в 23:38

+2.0

отлично

Проверено (1)

«Юнона» на Советской-ул. Советская, д. 51/2

Пациент
+7-988-54XXXXX

31 августа 2018
в 11:44

+2.0

отлично

Проверено (2)

Посетили в августе 2018

«Юнона» на Советской-ул. Советская, д. 51/2

Пациент
+7-928-13XXXXX

23 августа 2018
в 16:16

+2.0

отлично

Проверено (2)

Посетили в августе 2018

Пациент
+7-928-17XXXXX

19 июля 2018
в 16:31

+2.0

отлично

Проверено (2)

Посетили в июле 2018

Косметология «Юнона»-ул. 3 линия, 3, офис 3

Пациент
+7-918-54XXXXX

6 июля 2018
в 12:01

+2.0

отлично

Проверено (2)

Посетили в июле 2018

КДЦ «Медицина» на 339 Стрелковой Дивизии-ул. 339-й Стрелковой Дивизии, д. 27

Пациент
+7-928-76XXXXX

26 июня 2018
в 11:06

+2.0

отлично

Проверено (2)

Посетили в июне 2018

Пациент
+7-909-40XXXXX

8 июня 2018
в 14:16

+2.0

отлично

Проверено (2)

Посетили в июне 2018

КДЦ «Медицина» на 339 Стрелковой Дивизии-ул. 339-й Стрелковой Дивизии, д. 27

Пациент
+7-903-43XXXXX

6 июня 2018
в 13:11

+2.0

отлично

Проверено (2)

Посетили в июне 2018

Пациент
+7-904-50XXXXX

23 мая 2018
в 16:42

+2.0

отлично

Проверено (2)

Посетили в мае 2018

Пациент
+7-905-42XXXXX

19 апреля 2018
в 11:31

+2. 0

отлично

Проверено (2)

Посетили в апреле 2018

Пациент
+7-960-45XXXXX

26 февраля 2018
в 14:12

+2.0

отлично

Проверено (1)

КДЦ «Медицина» на 339 Стрелковой Дивизии-ул. 339-й Стрелковой Дивизии, д. 27

Пациент
+7-908-50XXXXX

7 февраля 2018
в 11:40

+2.0

отлично

Проверено (2)

Посетили в феврале 2018

Пациент
+7-908-18XXXXX

19 января 2018
в 11:03

+2.0

отлично

Проверено (2)

Посетили в январе 2018

Пациент
+7-906-41XXXXX

11 января 2018
в 15:48

+2.0

отлично

Проверено (2)

Посетили в январе 2018

Скрытый

13 декабря 2017
в 09:35

+2. 0

отлично

Тщательность обследования

Эффективность лечения

Отношение к пациенту

Информирование пациента

Посоветуете ли Вы врача?

Отлично

Отлично

Отлично

Отлично

Однозначно

Проверено (1)

КДЦ «Медицина» на 339 Стрелковой Дивизии-ул. 339-й Стрелковой Дивизии, д. 27

Пациент
+7-928-27XXXXX

12 декабря 2017
в 18:32

+2.0

отлично

Тщательность обследования

Эффективность лечения

Отношение к пациенту

Информирование пациента

Посоветуете ли Вы врача?

Отлично

Отлично

Отлично

Отлично

Однозначно

Проверено (1)

КДЦ «Медицина» на 339 Стрелковой Дивизии-ул. 339-й Стрелковой Дивизии, д. 27

Пациент
+7-908-19XXXXX

11 декабря 2017
в 11:25

+2.0

отлично

Тщательность обследования

Эффективность лечения

Отношение к пациенту

Информирование пациента

Посоветуете ли Вы врача?

Отлично

Отлично

Отлично

Отлично

Однозначно

Проверено (1)

КДЦ «Медицина» на 339 Стрелковой Дивизии-ул. 339-й Стрелковой Дивизии, д. 27

Пациент
+7-904-44XXXXX

8 декабря 2017
в 10:02

+2.0

отлично

Проверено (1)

Скрытый

6 декабря 2017
в 19:39

+2.0

отлично

Проверено (1)

Пациент
+7-928-19XXXXX

5 декабря 2017
в 10:42

+2. 0

отлично

Проверено (1)

КДЦ «Медицина» на 339 Стрелковой Дивизии-ул. 339-й Стрелковой Дивизии, д. 27

Гость

1 июля 2016
в 12:01

+2.0

отлично

Какая ссылка здесь не определена? — Общее использование

trg818


1

Привет,

Я еще новичок в Джулии и пытаюсь сделать простой сюжет. Обратите внимание на следующее:

 zth=Vector{Vector{Float64}}(undef,length(DaT))
tth=Vector{Vector{Float64}}(undef,length(DaT))
...
zthcnvplot = участок (название = "Позиция", titlefontsize = 10,
        xlabel="t",ylabel="z",legend=:topleft,grid=false)
для (i, D) в перечислении (DaT)
    zthcnvplot=участок!(tth[i],zth[i],label="Dimp="*string(D/1000)*" км")
конец
дисплей ((zthcnvplot))
 

zth и tth являются векторами векторов, которые были правильно рассчитаны в части, обозначенной …, и длины совпадают и заданы правильно. Тем не менее, я получаю сообщение об ошибке

 UndefRefError: доступ к неопределенной ссылке
Трассировки стека:
 [1] getindex(A::Vector{Vector{Float64}}, i1::Int64)
   @ База ./array.jl:801
 [2] область верхнего уровня
   @ ./In[79]:31
 [3] оценка
   @ ./boot.jl:360 [встроенный]
 [4] include_string(mapexpr::typeof(REPL.softscope), mod::Module, code::String, filename::String)
   @ База ./loading.jl:1094
 

Строка 31 — это строка в цикле для . Что здесь не так, какой ссылки не хватает? Все переменные, которые я использую, были определены где-то раньше.

Сукера


2

Вы полностью заполнили оба массива? То есть остались ли какие-либо индексы undef после вашей инициализации?

1 Нравится

трг818


3

Хорошая мысль — оказывается: нет. Итак, спасибо за это.

Это, конечно, поднимает (снова) вопрос к разработчикам, почему сообщения об ошибках в Джулии обычно довольно бесполезны. Гораздо более полезным сообщением об ошибке было бы «Попытка отобразить неопределенные значения массива в массиве tth». «Неопределенная ссылка» действительно может быть чем угодно, и как минимум сообщение об ошибке должно указывать, какая из обычно нескольких переменных в строке вызывает проблему. Это никогда не делается в Джулии, и это нужно исправлять.

нольшг


4

Я не знаю, похоже, сообщения об ошибке было достаточно, чтобы кто-то здесь понял проблему, не видя вашего полного кода или MWE?

Также похоже, что вы работаете в блокноте Jupyter, а в трассировке стека написано

 In[79]:31
 

Ошибка не в строке 31?

2 нравится

Густаф


5

Я думаю, что это был довольно очевидный случай, он говорит вам, что неопределенное значение было в одной из операций getindex в этой строке, поэтому он сужен до двух переменных. Он не говорит, что пытается отобразить неопределенные значения , потому что ошибка возникает до стадии построения графика при разыменовании аргументов. Если вы получаете такую ​​​​ошибку, вы можете разделить ее на

 для i в индексах
    х = Х[я]
    у = у [я]
    график (х, у; ст =: разброс)
конец
 

, если вам нужна дополнительная информация. И я предполагаю, что вы получили бы больше полезных сообщений, если бы вообще избегали индексации:

 for (t, z, D) in zip(tth, zth, DData)
 

или даже лучше, просто нанесите векторы относительно друг друга.

1 Нравится

trg818


6

Возможно, Sukera понял это, потому что они допустили ту же ошибку раньше и, безусловно, имеют больше опыта, чем я.
В любом случае, да, я работаю в блокноте Jupyter, и ошибка действительно находится в строке 31. Однако есть несколько переменных в этой строке, и ошибка не говорит, какая из них вызывает проблему. Я не вижу причин, почему это не так. Например, если я компилирую код Fortran с помощью gfortran и возникает ошибка, я обычно получаю эту информацию, и это значительно ускоряет отладку.

Сукера


7

Возможно, мне стоит пояснить, как я это понял. Предоставленной вами информации (это строка с графиком ! ) вместе с трассировкой стека предостаточно.

  • Сама трассировка стека не содержит сюжет ! , так что это должно произойти до сюжета ! называется.
  • Верхний фрейм трассировки стека содержит getindex(A::Vector{Vector{Float64}}, i1::Int64) , поэтому произошла ошибка при попытке доступа к некоторому индексу массива.
  • Единственные индексирующие выражения в строке с сюжетом! — это tth и zth , оба из которых, как вы показали ранее, были инициализированы с помощью undef .

Исходя из этого, логический вывод состоит в том, что попытка доступа к любому из двух привела к ошибке (поскольку zth и tth существуют), что заставило меня спросить: «Вы уверены, что правильно их инициализировали».


Я не знаю, как Фортран сообщит вам во время выполнения, какая переменная содержит ошибку (если только это не было каким-то образом встроено в каждый вызов функции, или Фортран заранее знал, что произойдет ошибка), поэтому я немного сбит с толку, почему/ как ты ожидаешь, что Джулия волшебным образом узнает об этом. Julia отслеживает только номера строк исходного кода в скомпилированном коде, а не столбцы или отдельные выражения. У вас есть пример из Фортрана, чтобы мы могли улучшить сообщения об ошибках?

6 лайков

трг818


8

Я только что попробовал ваше последнее предложение и получил тот же «доступ к неопределенной ссылке». Более того, в этом цикле всего одна строчка, и там написано, что все нарисовано; он ничего не говорит о getindex или о чем-то еще, что происходит под капотом, и это действительно одна из проблем, с которыми я как новичок сталкиваюсь:> 90% трассировки стека сообщения об ошибке перечисляет некоторые вещи, которые происходят под капотом, часто в некоторых библиотека, о которой я никогда не слышал и никогда не буду изучать, и мне нужно выбрать маленький кусочек информации, который я действительно могу связать с чем-то, что я вижу в своем коде.

Надеюсь, мои комментарии не будут восприняты как оскорбление Джулии, потому что я не хотел этого. Наоборот, я пытаюсь привлечь внимание к проблеме, которая мучает меня уже много месяцев и которая, как мне кажется, делает знакомство с Юлией излишне трудным для новичков и людей, которые просто хотят что-то сделать.

трг818


9

Извините, что так долго не отвечал, и спасибо за объяснение.
Я предполагаю, что ваше второе последнее предложение доходит до того, что у меня разные ожидания относительно того, что компилятор/интерпретатор или работающая программа должны сообщать об ошибке.
Я попытался состряпать небольшой пример ошибки, которая «работает» как в Fortran 90, так и в Julia, и хотя это меньше, чем я надеялся (время ограничено), следующее может служить для демонстрации по крайней мере одной проблемы.
Следующая короткая программа с ошибкой довольно глупа и бесполезна, но я надеюсь, что она показывает, что я имею в виду. Если вы скомпилируете эту версию Fortran:

 программа бд
неявный
целое число, параметр :: n=20
целое :: i,j=100
действительный, размерность (n) :: x, y
реальный :: dx=0,1
я=1,n
   х (я) = я * дх
   у (j) = 3 * х (j)
конец делать
конец программы бд
 

с gfortran (v.11.0 в моем случае) используя флаг -fbounds-check , вы получите эту ошибку:

 В строке 9 файла bugdemo.f90
Ошибка времени выполнения Fortran: индекс «100» измерения 1 массива «y» выше верхней границы 20
Прекращение ошибки. Обратный след:
№ 0 0x102857577
...
 

т. е. вам сообщают, какой из двух массивов и в каком его измерении имеет проблему. Если сделать что-то (почти) похожее на Джулию:

 n=20
х = массив {Float64} (undef, n)
y=массив{Float64}(undef,5*n)
дх=0,1
j=100
для я в диапазоне (1, n, шаг = 1)
    х [я] = я * дх
    у[j]=3*x[j]
конец
 

сообщение об ошибке гораздо более подробное, но менее ясное (по крайней мере, для меня) и не говорит, какой из двух массивов в ошибочной строке является виновником:

 BoundsError: попытка доступа к 20-элементному вектору {Float64} по индексу [100]
Трассировки стека:
 [1] getindex(A::Vector{Float64}, i1::Int64)
   @ База . /array.jl:801
 [2] область верхнего уровня
   @ ./In[6]:8
 [3] оценка
   @ ./boot.jl:360 [встроенный]
 [4] include_string(mapexpr::typeof(REPL.softscope), mod::Module, code::String, filename::String)
   @ База ./loading.jl:1094
 

И это несмотря на то, что y дали длину 100 в версии Джулии, чтобы сделать источник ошибки однозначным; если бы я этого не сделал, сообщение об ошибке было бы таким же.
Конечно, здесь отладка не такая уж и сложная задача, но вы можете легко представить себе более переполненные выражения, где разобраться в этом типе проблемы становится больно.
Я не знаю, можно ли разрешить Джулии предоставлять эту дополнительную информацию без ущерба для производительности. Я должен думать, что это должно быть осуществимо, потому что в конце концов он должен знать, какой массив вышел за его границы. Или уже есть средства для этого?
Во всяком случае, я надеюсь, что это иллюстрирует мою точку зрения.

Джордано


10

Я не уверен, что есть способ дать вам «имя» массива: getindex — это обычная функция, которая видит значение своих аргументов, а не их «имена»

1 Нравится


11

Это значение, есть имя, относящееся к значению в родительском фрейме на месте вызова в соответствующей позиции аргумента, я не понимаю, почему невозможно соединить два… по крайней мере, теоретически.

Это проблема @tim.holy ? https://github.com/JuliaLang/julia/issues/31162

В общем, лучше всего иметь сообщения об ошибках, выраженные в терминах пользовательского кода.

1 Нравится

Как передать объект по ссылке и значению в Юли?

спросил

Изменено
3 года, 7 месяцев назад

Просмотрено
4к раз

Я знаю это отсюда:

Аргументы функции Julia следуют соглашению, иногда называемому «передача через совместное использование», что означает, что значения не копируются при передаче в функции. Сами аргументы функции действуют как новые привязки переменных (новые местоположения, которые могут ссылаться на значения), но значения, на которые они ссылаются, идентичны переданным значениям. Модификации изменяемых значений (таких как массивы), сделанные внутри функции, будут видны вызывающей стороне. Это то же самое поведение, что и в Scheme, большинстве Lisps, Python, Ruby и Perl, среди других динамических языков.

Учитывая это, мне ясно, что для передачи по ссылке все, что вам нужно сделать, это иметь изменяемый тип, который вы передаете в функцию и редактируете.

Тогда возникает вопрос: как четко различать передачу по значению и передачу по ссылке? У кого-нибудь есть пример, который показывает, что функция вызывается дважды; один раз с передачей по ссылке и один раз с передачей по значению?

Я видел этот пост, в котором упоминаются некоторые похожие идеи, но он не дал полного ответа на мой вопрос.

1

В Julia функции всегда имеют режим передачи аргументов путем совместного использования:

https://docs. julialang.org/en/v1/manual/functions/ языки динамического программирования общего назначения, включая различные Lisps, Python, Perl и Ruby. Хорошее и полезное описание можно найти здесь:

https://en.wikipedia.org/wiki/Evaluation_strategy#Call_by_sharing

Короче говоря, передача по совместному использованию работает так же, как передача по ссылке, но вы не можете изменить значение, на которое ссылается привязка в вызывающей области, путем переназначения аргумента в вызываемой функции — если вы переназначаете аргумент, привязка в звонилке не меняется. Это означает, что в общем случае вы не можете использовать функции для изменения привязок, например, для переключения на переменные. (Однако макросы могут изменять привязки в вызывающей программе.) В частности, если переменная в вызывающей программе ссылается на неизменяемое значение, такое как целое число или число с плавающей запятой, ее значение не может быть изменено вызовом функции, поскольку объект переменная не может быть изменена вызовом функции, и само значение не может быть изменено, поскольку оно неизменно.