मैं एक सूची में एक फाइल की सामग्री में पढ़ना चाहता हूँ। मेरे कुछ प्रयास अब तक रहे हैं -मैं लिस्प में किसी सूची में फ़ाइल की सामग्री कैसे पढ़ सकता हूं?
(defun get-file (filename)
(let ((x (open filename)))
(when x
(loop for line = (read-line x nil)
while line do (list line)))
(close x)))
(defun get-file (filename)
(let ((x (open filename :if-does-not-exist nil)) (contents (list nil)))
(when x
(loop for line = (read-line x nil)
while line do (cons contents line)))
(close x) contents))
(defun get-file (filename)
(let ((x (open filename :if-does-not-exist nil)) (contents nil))
(when x
(loop for line = (read-line x nil)
while line do (append contents line)))
(close x) contents))
इनमें से कोई भी काम नहीं किया। क्या कोई मुझे एक रास्ता बता सकता है? या इससे भी बेहतर - सभी सामग्री को सरणी में कैसे रखा जाए?
(साथ-खुली फ़ाइल (च फ़ाइल का नाम) तुम वहाँ फ़ाइल नाम से पहले एक च क्यों हैं? लाइन एकत्र करने क्या करता है? और अंत में लाइन के साथ सहयोग कैसे करता है? – Sterling
'with-open-file'' फ़ाइल नाम 'नामक फ़ाइल खोलता है और स्ट्रीम को' f' से संबद्ध करता है। 'संग्रहण' सूची में 'line' के विभिन्न मान एकत्रित करता है, जब तक कि ''''' 'शून्य न हो। कॉमन लिस्प हाइपरस्पेक और प्रैक्टिकल कॉमन लिस्प आपके दोस्त हैं! –
दूसरे शब्दों में, 'ओपन-फाइल' 'ओपन' और 'क्लोज़' और 'लेट' के सभी काम करता है। –