2012-01-20 11 views
5

में यही ऐसा ही कुछ किया जाना चाहिए का पता लगाने । प्लेटफार्म पहचान के लिए सामान्य योजना वाक्यविन्यास क्या है?मंच (ओएस) योजना

धन्यवाद

+3

मुझे संदेह है कि इसके लिए कोई मानक वाक्यविन्यास नहीं है। लेकिन कई चीजों की योजना के साथ, यदि आप इसे एक में लागू करते हैं तो अन्य रूपों में जोड़ना काफी आसान है। मेरा अनुमान है, आपको विशिष्ट फाइलों के अस्तित्व (और संभावित रूप से सामग्री) की तलाश में एक फ़ंक्शन लिखना चाहिए जो उस सिस्टम को इंगित करेगा जो आप चल रहे हैं। उदाहरण के लिए लिनक्स जैसी प्रणालियों को खोजने के लिए "/ bin/uname" की तलाश करें, फिर विवरण जानने के लिए इसे चलाएं। – Janne

+1

इस तरह के प्रश्न अच्छे हैं, और यह बताएं कि योजना को कॉल करने के लिए और अधिक सटीक क्यों है, बजाय एक भाषा के बजाय भाषा का परिवार; अधिकांश समय, एक कार्यक्रम लिखने के लिए उन सभी के बजाय किसी विशेष को लिखना आवश्यक है। रयान का जवाब रैकेट के लिए सही है, और मुझे लगता है कि रैकेट समुदाय की प्रतिक्रिया आम तौर पर इसे आपकी पसंद बनाने का एक अच्छा कारण है। पक्षपातपूर्ण वकालत के लिए खेद है :)। –

उत्तर

8

मैं किसी अन्य योजनाएं के लिए नहीं बोल सकता, लेकिन रैकेट एक प्रक्रिया system-type कहा जाता है:

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

और guile एक uname कार्य है, जो एक के रूप में एक विवरण देता है योजना वेक्टर ऑब्जेक्ट:

[email protected](guile-user)> (uname) 
$2 = #("Linux" "gblaptop" "2.6.39-gentoo-r3" "#4 SMP Fri Oct 21 08:12:17 PDT 2011" "i686") 
संबंधित मुद्दे