Помогите пожалуйста понять, почему в первом примере это выражение считается

за bool, а во втором за float?

14 ответов

15 просмотров

В первом случае скорее всего не оно считается за бул, а то что оно больше или равно мани каунту считается за бул

Артём-Карапетян Автор вопроса
Artem Frolov
В первом случае скорее всего не оно считается за б...

но ведь это выражение возвращает float и если я вместо него напишу любую цифру, то всё будет норм.

это выражение возвращает флоат так что оно всегда флоат, вопрос в том как ты его используешь, если ты его сравниваешь с другим числом то в итоге будет да или нет. всмысле все что внутри ифа всегда бул ты ведь как бы спрашиваешь если..(условие может быть только либо верно- true либо нет false а это бул значение) а в низу у тебя тоже сокращенный иф, но относится не к Exists а к SaveGame.Save

Артём-Карапетян Автор вопроса
Maxim Fadeev
это выражение возвращает флоат так что оно всегда ...

если просто, то получается в if не прокатит другой if))

Артём-Карапетян Автор вопроса
Артём Карапетян
если просто, то получается в if не прокатит другой...

а во втором примере другой if прокатывает в параметрах метода

Артём-Карапетян Автор вопроса
Maxim Fadeev
это выражение возвращает флоат так что оно всегда ...

просто внизу параметр принимает не бул а флоат, получается возвращает именно цифру а не да и нет

Артём Карапетян
а во втором примере другой if прокатывает в параме...

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

Артём-Карапетян Автор вопроса
Maxim Fadeev
а не пардоньте, кажется я немного не так увидел, м...

Ну так конечно можно, просто меня волновал именно этот случай. Ну да ладно. Кстати я проверил, во втором примере в параметрах метода SaveGame.Save принимается не флоат а обжект, возможно именно в этом причина, что прокатывает.

Артём-Карапетян Автор вопроса
Artem Frolov
Кароче, Exists у тебя возвращает бул?

именно Exist - да, но это сравнение во втором примере возвращает флоат.

Можно было просто заключить все что после знака >= в скобки, и все было бы ок, но да, лучше выделять такие выражения в локальные переменные, что бы это легче было читать и воспринимать

Артём-Карапетян Автор вопроса
Artem Frolov
Можно было просто заключить все что после знака >=...

А так можно было что ли?😅 Но да, ты прав)

Артём Карапетян
А так можно было что ли?😅 Но да, ты прав)

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

Похожие вопросы

Обсуждают сегодня

коллеги привет. уже второй день бьемся об заклад с одной ошибкой, может вы сталкивались с таки странным поведением? есть тестовый сервер, на который паблишим релизную версию W...
Magzhan
11
Слушайте, а при создании навигации на Tailor рили нельзя определять активный пункт навигации, как в Static Pages?
Pavel Lautsevich
11
Всем привет, подскажите где можно найти фриланс работы?
Вадим
7
Господа, а как такое в миграцию засунуть?
Денис Александрович
12
Почему в коллекции nestedTree, при запросе $item->childrens идёт запрос к бд, а не коллекции?
Дмитрий
4
Так а кто может спарсить всех участников чата? Идишники
Magic
18
да пофиг на капчу зашел в чат и молчишь при этом ты нонейм? пошел вон
Magic
17
Може в когось є не складна і не термінова робота? Готовий взятися навіть безкоштовно. Після 22го року не працював так як працював з руснею, та і не до того було. Хочу спробува...
Andrey Shin
1
кто тебе сказал, что она угроблена? многие только начинают жизнь, после увольнения из Гугла, Майкрософта, Оракла,...
Alex Kom
9
В альтернативе у нас сидеть горбатиться на дядю в галерах, пока не помрешь или пока тебя не заменят более молодым сотрудником, который готов гребсти в два раза дешевле. Вот и ...
Кабан Кабанов
7
Карта сайта