Обнаружение платформы (ОС) в схеме
Это должно быть что-то вроде этого:
(if (= system-type 'gnu/linux)
(system "make"))
Честно говоря, я думаю, что моя схема реализации даже не может сделать это в любом случае, но я могу добавить реализацию для этого. Каков обычный синтаксис схемы для обнаружения Платформы?
благодарю вас
2 ответа
Решение
Я не могу говорить ни о каких других схемах, но в Racket есть процедура, которая называется system-type
:
> (system-type)
'unix
> (system-type 'machine)
"Linux ... x86_64 GNU/Linux" ;; ellipses mine, output is same as `uname -a`
И хитрость имеет uname
функция, которая возвращает описание в виде векторного объекта схемы:
scheme@(guile-user)> (uname)
$2 = #("Linux" "gblaptop" "2.6.39-gentoo-r3" "#4 SMP Fri Oct 21 08:12:17 PDT 2011" "i686")