(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
178 Views Asked by AudioBubble At
1
There are 1 best solutions below
Related Questions in LISP
- Intercept and modify user input in Common Lisp
- Read next line when loading file in Common Lisp
- Calling CCL + Quicklisp script as executable with command line arguments and achieving the desired output
- Avoiding echos in Clozure lisp (noob)
- Backquote String Interpolation
- Structuring large Lisp applications
- If strings are vectors, why are they immutable?
- Invalid specialized parameter in method lambda list
- Emacs init.el and Elisp and equivalent of common lisp every-p function
- EVAL/APPLY: too many arguments given to F
- Insertion into a list doesn't reflect outside function whereas deletion does?
- How to traverse a tree in Clojure while collecting the value from each node node?
- in clojure, function argument type mismatch
- In Lisp is the function `1+` just syntactic sugar?
- Search function in lisp
Related Questions in COMMON-LISP
- EMACS-Live + Slime error at startup
- Local dynamic binding in common lisp
- Running compiled lisp program with clisp-2.49 on OS X
- What does the non-terminating-p argument of set-macro-character do?
- Updating the window in response to CLIM frame commands
- What is a common-lisp analogue of python's argparse?
- Anonymous methods in common lisp
- Read next line when loading file in Common Lisp
- Calling CCL + Quicklisp script as executable with command line arguments and achieving the desired output
- Jump to function definition in Emacs by mouse-click
- Avoiding echos in Clozure lisp (noob)
- where is the text printed by C printf
- Backquote String Interpolation
- Structuring large Lisp applications
- If strings are vectors, why are they immutable?
Related Questions in CLISP
- Running compiled lisp program with clisp-2.49 on OS X
- Intercept and modify user input in Common Lisp
- EVAL/APPLY: too many arguments given to F
- Recursive subtraction does not work
- re-write without using set, setf or setq
- CLISP ext:run-program
- Lisp randomize and using two functions to pull from list into another
- removing piped dot in string common lisp
- How to create .lisp files and run them on mac?
- Mapcar and assoc
- Lisp: Why and how does '(nil nil) evaluate to true?
- Use existing clisp stream
- How to load external dependencies with quicklisp?
- Using (sqrt x) in Lisp code
- Clisp reading list from file and flatten it, but not working, doesnt recognize lst as a list
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)
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?
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: