क्या फ़ाइल को 'स्टेट' करना और फ़ाइल प्रकार - नियमित या निर्देशिका ढूंढना संभव है?सामान्य लिस्प - अगर पथनाम नियमित फ़ाइल या निर्देशिका को इंगित करता है तो कैसे कहना है?
उत्तर
मुझे लगता है कि कई तरीके हैं। probe-file
उसके बाद यह निर्धारित करने के लिए लौटा हुआ सही नाम जांच कर रहा है कि उसके पास एक निर्देशिका नाम है लेकिन फ़ाइल नाम नहीं है और टाइप करना चाहिए। जैसे एक निर्देशिका के लिए
(pathname-name (probe-file filespec))
-> NIL
CLISP में एक फ़ंक्शन EXT:PROBE-DIRECTORY
है, जो आपको बताता है कि कोई फ़ाइल मौजूद है या कोई निर्देशिका है।
ध्यान दें कि यह कार्य CLISP के लिए विशिष्ट है और मानक सामान्य सूची नहीं है।
मुझे खेद है, लेकिन क्या जीएनयू कॉमन लिस्प और जीएनयू सीएलआईएसपी समान है? मैं जीएनयू कॉमन लिस्प (विंडोज़ पर जीसीएल 2.6.6) का उपयोग कर रहा हूं लेकिन मुझे कहा गया पैकेज "एक्सटी" नहीं मिला। –
@hyper: नहीं, जीसीएल और सीएलआईएसपी आम लिस्प भाषा के दो अलग-अलग कार्यान्वयन हैं। चूंकि आपने इस 'क्लिसप' को टैग किया है, मुझे लगता है कि आप बाद वाले का उपयोग कर रहे थे। – sepp2k
क्लिस टैग हटा दिया गया। धन्यवाद! –
CL-FAD एक समारोह DIRECTORY-EXISTS-P, जो जब PATHNAME-AS-DIRECTORY साथ संयोजन में उपयोग पथ नाम canonicalizes और achives आप जो चाह रहे हैं (विफलता जब की तरह "/ path/dir-बिना-पीछे-स्लैश" एक स्ट्रिंग सौंप दिया रोकता है) है।
(सीएल-एफएडी: निर्देशिका-पथ नाम-पी (सीएल-एफएडी: पथ नाम-रूप-निर्देशिका (जांच-फ़ाइल "/ path/लापता-स्लैश")))
ऐसा नहीं लगता है कि यह जीसीएल के साथ काम करेगा। कम से कम जीसीएल "समर्थित लिस्प कार्यान्वयन" के तहत सूचीबद्ध नहीं है – sepp2k
मुझे लगता है कि अच्छी खबर यह है कि, जैसा कि आप जानते हैं कि जीसीएल के पास एक दशक से अधिक समय तक रिलीज नहीं हुआ है, अगर आपको पता चलता है कि इसे कैसे करना है तो आपको शायद जल्द ही आप पर किसी भी समय बदलने के बारे में चिंता करें! – Ken
मैंने सीएल-एफएडी के स्रोत कोड की जांच की - कहा गया कार्य केवल एलेग्रो और लिस्पॉर्क्स के लिए काम करता है। –
एक portable pathname library से के बारे में अध्याय पढ़ें पीटर सेबेल की Practical Common Lisp पुस्तक। यह मुफ्त में उपलब्ध है। इसमें एक फ़ंक्शन फ़ाइल-मौजूद है-p जो फ़ाइल पथ मौजूद है या शून्य होने पर पथनाम वापस कर देगा। लौटाया गया पथनाम निर्देशिका रूप में होगा यदि यह निर्देशिका है। वह यह जांचने के लिए एक और कार्य भी देता है कि पथनाम वास्तव में निर्देशिका रूप में है या नहीं।
बीटीडब्ल्यू पूरी किताब वास्तव में पढ़ने लायक है तो अगर आप पहले से नहीं हैं तो इसे जांचें।
- 1. सामान्य लिस्प: एक निर्देशिका बनाना
- 2. सामान्य लिस्प -
- 3. अगर हमारे पास एकाधिक XML कॉन्फ़िगरेशन फ़ाइल है तो DispatcherServlet कैसे काम करता है?
- 4. बल्ले फ़ाइल: पैरेंट पथनाम
- 5. सामान्य लिस्प फ़ंक्शन या मुहावरे?
- 6. टेस्ट करता है, तो फ़ाइल पर्ल
- 7. सामान्य लिस्प
- 8. यह जांचने के लिए कि कोई फ़ाइल निर्देशिका या पाइथन में नियमित फ़ाइल है या नहीं?
- 9. सामान्य लिस्प
- 10. क्या करता है | 5 ई | सामान्य लिस्प में मतलब है?
- 11. सामान्य लिस्प
- 12. System.Web.Configuration.MachineKeySection.MetineKeySection.GetDecodedData इंगित करता है
- 13. सामान्य लिस्प
- 14. क्या कोई सूचक एलएसबी या एमएसबी को इंगित करता है?
- 15. सामान्य लिस्प में काम कैसे जोड़ता है?
- 16. सामान्य लिस्प
- 17. सामान्य लिस्प
- 18. विंडोज बैच फ़ाइल में कोई पथ फ़ाइल या निर्देशिका है या नहीं, तो परीक्षण कैसे करें?
- 19. सामान्य लिस्प
- 20. सामान्य लिस्प
- 21. सामान्य लिस्प
- 22. सामान्य लिस्प
- 23. सामान्य लिस्प
- 24. सामान्य लिस्प
- 25. पाइथन में बंद() को फ्लश() को इंगित करता है?
- 26. सामान्य लिस्प
- 27. सामान्य लिस्प
- 28. सामान्य लिस्प
- 29. रेजर लेआउट काम नहीं करता है अगर फ़ाइल को _ViewStart.cshtml
- 30. सामान्य लिस्प प्रकार विनिर्देश
अपने समाधान की कोशिश करते समय मुझे एहसास हुआ कि इस कोड को कोई फ़ाइल या निर्देशिका 'filespec' नहीं होने पर त्रुटि होगी। मैं कम त्रुटि प्रवण कोड के लिए 'और' का उपयोग करने का सुझाव दूंगा: '(और (जांच-फ़ाइल फाइलपेक) (नहीं (पथनाम-नाम (जांच-फ़ाइल फाइलपेक)))' – Sim
यह काम नहीं करेगा। यह स्पष्ट नहीं है कि 'PROBE-FILE' निर्देशिकाओं पर काम करता है। यह भी स्पष्ट नहीं है कि निर्देशिकाओं के लिए 'पथनाम-नाम' रिटर्न 'NIL' है। आम तौर पर यह कार्यक्षमता आम लिस्प द्वारा प्रदान नहीं की जाती है और अधिकांश कार्यान्वयन के लिए एक कार्य होता है। पुस्तकालय पोर्टेबल नाम प्रदान करते हैं ... –