Shammer's Philosophy

My private adversaria

2008-08-01から1ヶ月間の記事一覧

整理力

ヒューマンスキル向上について考えている。 ヒューマンスキルと言ってもそれは幅広いが、その中で特に重要と思ったのが整理力だ。 よくわからない技術的な問題を調べていると、どうしても混乱が生じる。 様々なケースを確認している最中に条件変更の漏れがあ…

Lisp の cond 式

C や Java で言うところの、switch 文のようなものが Lisp にもある。 以下のように記述する。 (defun janken (x) (cond ( (= 0 x) 'GOO) ( (= 1 x) 'CHOKI) ( (= 2 x) 'PAA) ( t '???) ))

Lisp でユーザーの入力を変数に代入する

ユーザーの入力は、 (read) で受け取れる。これを、setq などの関数と組み合わせて使う。 > (defun ask-question (question) (format t "~A?" question) (read)) ASK-QUESTION > (setq x (ask-question "How old are you")) How old are you?100 100 > x 100…

Lispの入出力

LispのHelloWorldはこうなる。 (format t "HelloWorld.") 出力は、 HelloWorld NIL となる。・・・LispではHelloWorldなどいらないと思うが、NIL が返ってくるのか・・・ よくわからないが、きっとそういうものなんだろう。 主に、文字の出力は、入力待ちの…

List の if 文

Lisp では、条件分岐は次のように書く。 (if (条件) (条件が真の場合の処理) (条件が偽の場合の処理)) 例を書くと・・・ (if (listp x) (+ 10 10) (+ 1 1)) となる。この実行前に、 (setq x '(1 2 3)) というように、x がリストとして定義されていれば20が、…

技術スキルとヒューマンスキル

もう今は昔、、、と言える話になっただろうか。 一昔前は、コンピュータ技術者はいわゆるオタクで、人付き合いが苦手でコンピュータと 接している方が得意、という感じだった。 が、業務システムを構築する仕事が一般的になるにつれて そういう感じの技術者…

Lisp の式

JavaやCと大きく違うのはやっぱりその式の書き方だと思った。 int x = ax + y というようにJavaやCでは書くのに対して、Lispでは (* a x) というように、先に演算子がくる。上記の式を書くとすると、 (+ (* a x) y) という感じだ。 (set 'a 2) 2 (set 'x 67)…

ClozureCLをTerminalで実行する

ClozureCLは、 /Applications/ClozureCL にインストールされた。このディレクトリの下にscriptというディレクトリがあるので、そこにTerminalで移動。 cd /Applications/ClozureCL/script そこにある、ccl あるいは ccl64 を、PATH設定されている任意のディ…

Lisp の変数定義

Emacs で設定をいろいろしているが、その設定の意味が全然わからない。 これをわかるようになるためにちょっとずつLispをやっているが・・・ とりあえず、初歩の初歩。何かしらの変数を定義する。 Lispの文法としては、 (setq x 1) 1 x 1 という感じ。実行は…

変数の初期値

C

Cでは変数を宣言するとどのように初期化されるのだろうか。 main() { int integer1,integer2,sum; printf("The value of integer1 : %d\n", integer1); printf("The value of integer2 : %d\n", integer2); printf("The value of sum : %d\n", sum); printf(…

Clozure CL インストール

久々にLispをいじってみた。これまでは、Emacs 上で動かしていたが、本格的(?)なLispの処理系を入れてみた。 大半が、ソースコードからコンパイルする形でインストールしないといけないようだったが、Clozure Common Lisp のみは dmg のインストーラがあ…

test コマンドでファイルの有無を判定

サンプルのファイル名を変えた場合に、古いファイルがそのまま残ってしまう。 自分で rm コマンドを使って消せばいいのだが、せっかくスクリプトを用意したのだから その中でやらせることに。 ファイルの有無を判定するための方法、いろいろあるが test コマ…

sed コマンドで文字列編集

やっぱりコンパイルされてできあがるファイルの名前を"連番.bin"でなく、 "ファイル名.bin"にしたい、という気持ちからそれをするためのシェルを引き続き作成。 すでに配列の中にファイル名.cという名前が格納済みだからそれを利用する。 一番後ろの.cのみ取…