Common_Lisp

現在の hello の実装

現在の hello の実装です。 お納めください: (defun puts (x) (format t "~A~%" x)) (defun hello () (puts "にゃんぱす〜"))

Common Lisp でごく基本的なテストを書くことについてのチュートリアル

テストの基本 1 + 1 を評価した値が本当に 2 かどうか知りたいとしましょう。 Lisp では (+ 1 1) という風に書き、すぐにこのコードを REPL を使って確かめることができます。 あなたが CLISP をパソコンにインストールしているなら: % clisp と打つことで R…

Common Lisp で Test::Simple を書いてみるテスト

Test::Simple の概要を lisp っぽく直してみた。 (require 'test:simple) ;; テストの数を宣言します。 (tests 1) (let ((foo 32) (bar 32)) ;; テストを行い、ok または not ok を出力します。 (ok (equal foo bar) "foo is bar")) foo と bar が無い感じあ…

Common Lisp でにゃんぱす!

Web い Clojure の REPL で (hello) すると にゃんぱす〜 れるというあれが私の中で流行ってるので Common Lisp で書いてみた。 (defun hello () (princ "にゃんぱす〜") (princ #\newline)) はい、こうなります。 princ は Lisp っぽく表示しない出力用関数…

これ、Common Lisp でどー書くの?

じゅーぎょーいんの中からまねーじゃー一覧を見たい場合: def managers(emps) emps.select { |emp| emp.manager? } end オリジナルだと is_manager みたくなってるんだけど、普通は manager? だよね? ってことで少し変更。 Common Lisp ではこうなるらしい:…

Common Lisp で文字列なものを斬ってしまうには?

文字列をスッパ、スッパ斬って捨てるには subseq が便利です。 (subseq "Hello, World!" 7) ;; => "World!" (subseq "Hello, World!" 0 5) ;; => "Hello" 参考 The Common Lisp Cookbook - Strings いや、そーじゃなくてさ、defproject とかどうやって使うの…

ユーザーディレクトリのパスを取得するには?

Common Lisp で何かするコードを書くのが難しいのはひとえにリファレンスが無いからである。 探せばあるんだろうけれど、十分にググっていないのか見つからない。 タイトルはとても適当に付けたので万が一 Common Lisp でユーザーディレクトリのパスを取得す…