|
Заблокирован
|
||||||
Как добавить в метод так называемой 'чистоты'?02.05.2024, 11:16. Показов 805. Ответов 16
Метки нет (Все метки)
Имеем некий метод:
Если в массиве есть ключ со значением false, то метод вернёт false. Как понять: в массиве нет ключа или в массиве есть ключ со значением, возвращаемым методом, если бы не было такого ключа?
0
|
||||||
| 02.05.2024, 11:16 | |
|
Ответы с готовыми решениями:
16
[Unity3D] Управление персонажем на телефоне так называемой каплей(джойстиком) Материнская плата Z77 MPOWER и память Kingston HyperX KHX2400C11D3/8GX. Как добиться чистоты в 2400? |
|
2450 / 2301 / 597
Регистрация: 27.05.2011
Сообщений: 7,845
|
|
| 02.05.2024, 11:38 | |
|
0
|
|
|
Заблокирован
|
|
| 02.05.2024, 11:54 [ТС] | |
|
crautcher, isset не для этого - ошибка
при существовании ключа со значением null isset вернёт false
0
|
|
|
24 / 19 / 6
Регистрация: 11.02.2022
Сообщений: 45
|
|||||||||||
| 02.05.2024, 13:28 | |||||||||||
Например:
0
|
|||||||||||
|
2603 / 1507 / 689
Регистрация: 23.08.2015
Сообщений: 3,815
|
|||||||
| 02.05.2024, 13:36 | |||||||
1
|
|||||||
|
Заблокирован
|
||||||
| 02.05.2024, 14:15 [ТС] | ||||||
|
sad67man, согласен, кстати ИИ шторма так и предлагает даже не проставляя тип второму параметру (ожидается miхed) для совместимости со старыми версиями, которые mixed в тип не умеют делать
но вопрос остаётся открытым
Если в массиве есть ключ со значением null, то метод вернёт null. Бяда, я так понимаю невозможно это сделать и придётся исключение что-ли выбрасывать (чего изначально не хотелось)? p.s. неужели разработчики ЯП не могли придумать что-то, что нельзя присваивать ключу массива, чтобы было что вернуть в случае отсутствия ключа и было понятно, что ключа - нет
0
|
||||||
|
2603 / 1507 / 689
Регистрация: 23.08.2015
Сообщений: 3,815
|
||
| 02.05.2024, 14:49 | ||
|
HP Fedora, Я так и не понял в чем вопрос..
0
|
||
|
24 / 19 / 6
Регистрация: 11.02.2022
Сообщений: 45
|
||||||
| 02.05.2024, 14:55 | ||||||
|
HP Fedora, так sad67man вроде дал решение
Если ключа нет - вернет False Если ключа есть - вернет значение ключа (да, оно может быть null, туда же можно все что угодно установить) Туда же можно еще и проверку на null или false воткнуть если нужно
0
|
||||||
|
2603 / 1507 / 689
Регистрация: 23.08.2015
Сообщений: 3,815
|
||
| 02.05.2024, 14:56 | ||
Сообщение было отмечено HP Fedora как решение
Решение
HP Fedora,
Снаружи может быть вообще не известно откуда берется значение.
0
|
||
|
Заблокирован
|
||||||||
| 02.05.2024, 16:24 [ТС] | ||||||||
0
|
||||||||
|
4377 / 1017 / 154
Регистрация: 16.01.2023
Сообщений: 2,519
|
|||||||
| 02.05.2024, 16:35 | |||||||
|
1) Я хочу просто получить значение данного поля, вне зависимости от того, где и как оно сохранено (то есть инкапсулировать логику извлечения значения). В таком случае мне не важно, есть это поле в структуре данных или нет. Мне просто нужно значение. Как пример - у нас есть некий конфиг. В котором могут быть заданы разные настройки. Если в конфиге задано значение - я хочу его получить. Если не задано - мне нужно значение по умолчанию.
В таком случае, если я буду подставлять значение по умолчанию - в базу неявно запишутся данные, которых изначально не было. Значит в такой ситуации нельзя использовать значение по умолчанию. И при обращении к несуществующему полю нужно либо выбрасывать исключение (это нормальная история, его можно и нужно корректно обрабатывать), либо возвращать составной объект, который кроме непосредственно значения содержит информацию о наличии значения (как в сообщении №4).
0
|
|||||||
|
Заблокирован
|
|
| 02.05.2024, 16:42 [ТС] | |
|
liris, в том виде, в котором метод существует, то он при отсутствии ключа массива вернёт false, в итоге нам не очень понятно: в массиве нет ключа или в массиве есть такой ключ со значением false
0
|
|
|
4377 / 1017 / 154
Регистрация: 16.01.2023
Сообщений: 2,519
|
||
| 02.05.2024, 16:45 | ||
Сообщение было отмечено HP Fedora как решение
РешениеЕсли не принципиально существование - используйте значение по умолчанию. Или возвращайте хотя бы null.
0
|
||
|
Заблокирован
|
||||||
| 02.05.2024, 16:46 [ТС] | ||||||
|
liris,
0
|
||||||
|
2603 / 1507 / 689
Регистрация: 23.08.2015
Сообщений: 3,815
|
|
| 02.05.2024, 16:57 | |
|
HP Fedora, Мы должны исходить от использования, а не от внутренней реализации..
Вы можете представить такую ситуацию, когда это имеет разницу? для сессии отсутствие ключа и значение null можно приравнять.
0
|
|
|
Заблокирован
|
||||||||
| 02.05.2024, 17:03 [ТС] | ||||||||
0
|
||||||||
|
2603 / 1507 / 689
Регистрация: 23.08.2015
Сообщений: 3,815
|
||||||||||||
| 02.05.2024, 17:07 | ||||||||||||
Сообщение было отмечено HP Fedora как решение
РешениеТут даже если вы как-то сможете снаружи это определить - вам же все равно нужно будет делать какую-то проверку Допустим есть некий псевдокод
0
|
||||||||||||
| 02.05.2024, 17:07 | |
|
Помогаю со студенческими работами здесь
17
Как добавить возможность ручного перемещения slider в видеоплеер (как одиночным нажатием, так и перетаскиванием) Как правильно добавить метод
Как добавить функцию в метод?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|