那一定是这样的:
(if (= system-type 'gnu/linux)
(system "make"))
老实说,我认为我的方案实现无论如何都做不到,但我可以自由地为它添加实现。平台检测的常用方案语法是什么?
谢谢你
我不能代表任何其他方案,但 Racket 有一个名为system-type
:
> (system-type)
'unix
> (system-type 'machine)
"Linux ... x86_64 GNU/Linux" ;; ellipses mine, output is same as `uname -a`
并且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")