Common Lisp から、 NCURSES を触りたくなった。早速、Quicklisp で、 cl-charms をインストールしてみよう:
* (ql:quickload "cl-charms") To load "cl-charms":
| (in-package :cl-user) | |
| (setf lis1 (list 1 2 3)) | |
| (print lis1) ; (1 2 3) | |
| (setf lis2 (list 1 (list 2 3) (list 4 5))) | |
| (print lis2) ; (1 (2 3) (4 5)) | 
| (in-package :cl-user) | |
| ;; 表示してまわったり | |
| (dolist (p '(1 2 3)) | |
| (print p)) | |
| ;; 和をとってみたり | |
| (let ((accum 0)) | |
| (dolist (p '(1 2 3 4 5)) | |
| (incf accum p)) | 
| (in-package :cl-user) | |
| (destructuring-bind (a b c) | |
| '(1 2 3) | |
| (print a) ; 1 | |
| (print b) ; 2 | |
| (print c)) ; 3 | |
| (terpri) | 
| #include <iostream> | |
| #include <cassert> | |
| #include <cstring> | |
| class Cons; | |
| enum class Tag { int_, cons, string }; | |
| class Lisp_ptr { | |
| public: | 
| #include <iostream> | |
| #include <cassert> | |
| #include <cstring> | |
| class Cons; | |
| enum class Tag { int_, cons, string }; | |
| class Lisp_ptr { | |
| public: | 
| #include <iostream> | |
| #include <vector> | |
| int main(){ | |
| // 1,2,3,4,5 を持った vector | |
| std::vector<int> hoge{1, 2, 3, 4, 5}; | |
| for(auto i : hoge){ | |
| std::cout << i << " "; | |
| } | |
| std::cout << '\n'; | 
| #include <iostream> | |
| #include <cassert> | |
| #include <cstring> | |
| class Cons; | |
| enum class Tag { int_, cons, string }; | |
| class Lisp_ptr { | |
| public: | 
| #include <iostream> | |
| #include <cassert> | |
| #include <cstring> | |
| #include <iterator> | |
| class Cons; | |
| enum class Tag { int_, cons, string }; | |
| class Lisp_ptr { | 
| #include <iostream> | |
| #include <cassert> | |
| #include <cstring> | |
| #include <iterator> | |
| class Cons; | |
| enum class Tag { int_, cons, string }; | |
| class Lisp_ptr { |