(defun read-file-list (infile)
(with-open-file (instream infile :direction :input :if-does-not-exist nil)
(when instream
(let ((list (make-list (file-length instream))))
(read-sequence list instream)
list))))
(setq lst (read-file-list "/home/Desktop/nested_list.txt"))
(flatten-list lst )
(print lst)
;(1 2 3 (4 5 (12 11 9 6) 4 8 (77 53(47)) (12 15 18))
; file has got this line
Clisp reading list from file and flatten it, but not working, doesnt recognize lst as a list
180 views Asked by AudioBubble At
1
There are 1 answers
Related Questions in LISP
- How to copy and paste an autocad table using python
- common lisp type vector of fixnums
- LISP to Batchplot (Publish) Multiple .dwg Models into One PDF
- Make changes to a LISP code for AutoCAD, it is possible?
- FeatureLines civil3d
- Detecting shared structure in tree made of cons cells
- How to load FRL into Clisp?
- Scheme Question - How can I check if there are a list of pairs
- do v. do*: Why does the same code produce a different result?
- undefined variable: COMMON-LISP:PROGN when running DO
- Making an SBCL program stop
- Getting arguments from the command line within SBCL
- "undefined variable: COMMON-LISP-USER::PRIMELIST" warning, using SBCL
- Counting vowels in Lisp
- Exercise 12.10 from the book Scheme and the art of programming
Related Questions in COMMON-LISP
- UTF-8 string has too many bytes using SBCL and babel on Windows 64 bits
- Common Lisp: How to use a macro within a macro?
- How do I get a notification upon table change with Postmodern in Common Lisp?
- in SBCL why does setting *print-circle* to T in LET in common lisp not work, but SETF does print circular list fine?
- Case statement/form errors?
- unexpected interaction between macroexpand-1 and macrolet
- common lisp type vector of fixnums
- Testing with fiveam
- How to load FRL into Clisp?
- How do I force a CFFI-defined foreign library to use a specific version of a shared library?
- SBCL VLIME use CFFI
- SBCL REPL Wrong Reuse of Cons Cells?
- How do you get the SBCL foreign function interface example from the SBCL User Manual to work?
- Reading hash table from file fails
- do v. do*: Why does the same code produce a different result?
Related Questions in CLISP
- How to load FRL into Clisp?
- Making an SBCL program stop
- How to use the cl-pg package?
- Common Lisp on Raspberry PI
- Can I have an indeterminate number of destructuring lists in a lisp macro lambda list?
- How to create jpeg image from base64 string in Common Lisp
- Loop goes over numbers and checks for primes - primes are not detected
- Delete element from a nested list while keeping the original nested structure CLISP
- How to create a function that returns the number of nodes in a tree on a given level
- How to replace an append with a cons in Common Lisp?
- Checking a list for patterns in clisp
- In Common Lisp, how would you extend the existing comparator operations to work for new types?
- What exactly does the #. (sharpsign dot) do in Common Lisp? Is it causing a variable has no value error?
- Augdentity Lisp Implementation
- I have written a recursive function that checks a list to see if the element is present in lisp, but there's a stack overflow error
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
READ-SEQUENCEreads characters from a file. When you compute thefile-lengthand callread-sequence, all you are doing is reading all characters in a flat list. Namely,lstin your example is this list:You can see that all elements in this list are characters, they are denoted with the
#\...syntax. For example, the first item is described as follow (tested with SBCL, actual output may vary in your implementation):(with-open-file (stream "/tmp/file-list.txt") (read (make-concatenated-stream (make-string-input-stream "(") stream (make-string-input-stream ")")))) What you want to do is to call
READon that file:And it appears also your input file misses a closing parenthesis. After fixing that, you have:
Here the read value is a list of numbers and nested lists.
---- Edit
Your
flatten-listfunction seems to work, what I am saying is that your input list is in another file, and that you need to extract the data using the standard Lisp reader by callingread:--- Edit 2
If your file contains the list elements, like this:
Then you could write a loop, as follows:
Or, you could use a concatenated stream:
Or equivalently: