Обнаружение платформы (ОС) в схеме

Это должно быть что-то вроде этого:

(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")
Другие вопросы по тегам