Racket - это первый диалект схемы, который я изучаю, и я не так далеко, однако из-за минимального синтаксиса схемы я считаю, что можно с уверенностью предположить, что знак вопроса в именах переменных не интерпретируется интерпретатором иначе чем любой другой жизнеспособный характер.Почему имена предикатов в схеме в форме вопросов?
С помощью этого пробега в предложении, почему схема использует символ «?» Для обозначения функции, которая возвращает true или false (называемый предикат)? Например, в ракетке есть встроенная функция, называемая number?
. number?
возвращает true при применении к любому числу (1, 5, -5, 2.7 и т. Д.) И false в противном случае. Я считаю, что number?
не соответствует чему-то по строкам is_the_following_argument_a_number?
. Предполагая, что это так, выражение (number? 5)
означает (is_the_following_argument_a_number? 5)
.
На английском языке (язык, на котором была написана эта переменная), предикат «является следующим аргументом числа?» Можно найти, сначала переведя вопрос в форму утверждения, переместив глагол: «следующий аргумент число ", а затем извлечение предиката:" является числом ". Теперь я не лучший на говорящих языках, поскольку я на языках программирования, но я считаю, что это правильно. Кроме того, извините, если это превращается в английский вопрос больше, чем вопрос схемы.
Что я имею понимание тревоги является тот факт, что если сюсюкать сообщество называет number?
предикат, почему это имя переменной не предикат в английском (я говорю о том, что переменная имя не сказуемое в английском, а не тип функции он в схеме не является предикатом) Я нашел то, что я считал предикатом того, что я думал number?
, переведенный на «как число», а не весь вопрос »является следующим аргументом: номер? ", просто предикат. Итак, почему сообщество lisp предпочитает называть предикаты в схеме как вопросы на английском языке? Я считаю, что это происходит потому, что сообщество ошибочно принимает значения утверждений (истинных или ложных) для ответов на вопросы «да/нет» (да или нет (очевидно)). Неужели я не ошибаюсь?
Зачем нужен downvote? – Vityou