以下のコードが『やさしい Emacs-Lisp 講座』p.21 にある。 まず、C の場合が紹介されている。(一般的な言語の場合という意味で) scope.c これをコンパイルして実行すると、以下のようになる。 本に書い […]
ウェブなど
JavaScriptで再帰を使う
配列の全要素の合計を求める関数を考える。この場合の配列は、整数の配列であるとする。 elispだと、以下のようになる。 defun を関数内部で使っているので、ラムダ式に書き直す。 これを JavaScriptで書き直す […]
$_POSTをいきなりエスケープ処理していいの?
『詳細 PHP7+MySQL入門ノート』p.272に、「フォームの入力データのチェック」として、以下のようなコードが載っている。 入力フォームを表示する (nameCheckForm.php) そして、次に nameCh […]
POSTで受け取った文字列をチェックするユーティリティ
『安全なWebアプリケーションの作り方 第2版』p.115 にあるサンプルファイルを少し変えてみた。このサンプルスクリプトは、クエリー文字列(Shift_JIS)を受け取り、表示するものである。 これを配列にも対応できる […]
プロトコルを使ったレコードの練習(Clojure)
『プログラミング Clojure 第2版』p.154 にレコードについての説明がある。ここでは、Midiシンセサイザを使って音符を例にとってレコード型を説明している。 ここで、自分のための練習として、図形を例にレコードに […]
Clojureでのファイルの配置とreplでの動かし方
『プログラミング Clojure 第2版』p.153 にこのような記述がある。 ここまでのすべてのコードを .clj ファイルにまとめておこう。読者のプロジェクトディレクトリに src/examples/datatype […]
Clojureで「プロトコル」というものを使う
『プログラミング Clojure 第2版』を読んでるんだけど、なかなか難しい。 今回は、p.145『6.3 プロトコル』のところを読んでるんだけど、本に記述ミスがあったこともあり、読むのにすごく時間がかかった。(サンプル […]
enum の使い方(Java)
『Javaで学ぶリファクタリング入門』の p.225〜p.227 にかけて、以下のような if文での処理をクラスによる処理に書き直す例が出ている。 これを、次のようにクラスにして処理を分けてた。 これを、匿名クラスを使っ […]
プログラミングを本で独学することの難しさ(あるいは楽しさ)
Clojure を勉強してて、以下のような記述に出会った。 『プログラミング Clojure 第2版』p.132 で、これについての詳しい説明は特にない。特に説明しなくてもわかるでしょ、というところかな。しかし、こちらは […]
CSSで吹き出しをつくる(覚書)
CSSで吹き出しを作れるんだけれど、よく忘れるから、メモ。 hukidasi.html hukidasi.css こんな感じ。
c2a0スペースを普通の半角スペースに置き換える(Ubuntu / TeX / shell)
$ tree ./ とすると、以下のようにディレクトリ構造が出力される。 ./docoTsubu ├── WEB-INF │ ├── jsp │ │ ├── loginResult.jsp │ │ ├ […]
三目並べAI – 深さで刈り込まれたminimax探索
minimax探索だと時間がかかりすぎるので、時間短縮の方法として、探索木の深さを制限する。 今回は DEPTH=3 とした。 たとえば、以下のような局面があるとする。 白の手としては、いろいろ考えられる。が、それを深さ […]
三目並べAIのアルゴリズム(minimax探索)
『囲碁ディープラーニングプログラミング』を引き続き読んでいる。 肝心のディープラーニングの内容についての部分まで、なかなか到達しそうにない(^_^; 今回は、「三目並べ」である。 囲碁AIが次の一手を決めるとき、妥当な次 […]
Emacs-Lispのお勉強 – ファイルの保存時になにがしかの関数を実行する
ファイルの保存時に、なにがしかの関数を実行する。 今回は、my-update-timestamp という関数を実行する。 init.el に以下の記述を加える。 init.el <1> —  […]
ゾブリストハッシュを使ってゲーム状況を表すプロパティをつくる
goboard.py の中の GameState のところのデータがどうなっているかが、ゾブリストハッシュの 理解のポイントだと思う。 そこで、GameStateクラスに処理がわたったとき、プロパティがどうなるかを追いか […]