Как записать пустому списку с помощью S, K и мне combinators?

Да. Используйте stat(). См. страницу справочника для stat(2) .

stat() перестанет работать, если файл не будет существовать, иначе скорее всего, успешно выполняться. Если это действительно будет существовать, но у Вас нет доступа для чтения к каталогу, где это существует, то это также перестанет работать, но в этом случае какой-либо метод перестанет работать (как можно осмотреть содержание каталога, который Вы не можете видеть согласно правам доступа? Просто, Вы не можете).

, О, поскольку кто-то еще упомянул, можно также использовать access(). Однако я предпочитаю stat(), как будто файл существует, это сразу получит меня большая полезная информация (когда было это последнее обновление, насколько большой это, владелец и/или группа, которая владеет файлом, правами доступа, и так далее).

8
задан louzer 14 August 2009 в 11:14
поделиться

1 ответ

Единственное, что вам нужно от представления nil , - это иметь возможность идентифицировать его - написать какой-нибудь предикат null? , который возвращает «истина» для nil и «false» для всех остальных пар. Это означает, что ответ зависит от вашего представления истинного / ложного. При обычном выборе λxy.x и λxy.y удобной кодировкой для nil будет λf. [True] . Теперь преобразовать это в SKI очень просто (и я не буду делать это здесь, так как это выглядит как домашнее задание ...).

(Кроме того, реализация предиката null? с таким представлением для nil - хорошее упражнение.)

8
ответ дан 5 December 2019 в 20:18
поделиться