方案中的平台(OS)检测

时间:2012-01-20 12:54:45

标签: scheme r6rs

那一定是这样的:

(if (= system-type 'gnu/linux)
    (system "make"))

老实说,我认为我的方案实现甚至无法做到,但我可以自由地为它添加实现。平台检测的常用方案语法是什么?

谢谢

2 个答案:

答案 0 :(得分:7)

我不能代表任何其他方案,但是Racket有一个名为system-type的程序:

> (system-type)
'unix
> (system-type 'machine)
"Linux ... x86_64 GNU/Linux"  ;; ellipses mine, output is same as `uname -a`

答案 1 :(得分:1)

guile有一个uname函数,它将描述作为方案向量对象返回:

scheme@(guile-user)> (uname)
$2 = #("Linux" "gblaptop" "2.6.39-gentoo-r3" "#4 SMP Fri Oct 21 08:12:17 PDT 2011" "i686")