c++のコードを自動生成する
codegen.sh c++のコードを自動生成するシェルスクリプト。 使い方の例は以下。 まず、~/binとかにcodegen.shを置いて とすると、personディレクトリができる。中身を見てみると、 Personクラスとmain()があるmain.cppとMakefileが出来上がり。 これでmakeするとmainって実行可能プログラムが出来る。 あとはPersonクラスにsay()だのeat()だのを追加していくですかね。 仕事でサンプルプログラムを書くのに、なんでもmainに突っ込んで確認するのもしょっぱいので、こんなもん作ってみた。
pythonその2
def add(x,y)はダメ。以下のエラーが。。。 typeError: add() takes exactly 2 arguments (3 given) def add(self, x, y)ならオッケー。selfが必須なのか?!ネットで調べると、確かにそんなこと書いてある。そして他言語から来た人にはキモいとも書かれている… calc.py ネットで例を見てたら、selfを書いていないのもある。どっちが本当?と思って試してたらclassのメソッドはselfが必要だけど、ただのメソッドなら要らないみたいで、以下はオッケーだった。 別のファイルからクラスをnewしてメソッドを呼び出すというのもやってみた。from ファイル名 import クラス名と書くらしい。unit testはまた今度。
python
rubyできればいいかなと思ってたけど、そんなにrubyも究めることもないだろうし、pythonもやってみようと思った。ということで、githubにお勉強用のリポジトリをこさえた。assemblaに置いてたコードもgithubにまとめようかなー。 昔触った事はあるはずだが、class定義して呼び出すだけで悪戦苦闘… メソッドの後ろに”():”が必要だったり、引数なしの場合でも”()”じゃなくて”(self)”としないと、自分の作ったexecute()メソッドがこんなエラーになったり。前途多難ですな。 TypeError: execute() takes no arguments (1 given)
markdownパーサを作った
ブログとは別のかたちで、今まで書いたメモをネットに載せたく、でもWikiだとメジャーなのはphp製なので中身が分からなかったり、ネット上で書くのがなんとなくおっくうだったり、最近fcgiの勉強したけど、使い道がなかったり、他の人と変わったことがして見たかったりで、fcgiで動くc++製のmarkdownパーサを書いてみた。 notes wikiを書くのはおっくうだけど、結局ローカルに持ってるノートもmarkdown形式に書き直す必要があったり…でも、そこはkobitoで書いて、サーバにアップロードしようかと思っている。
Rubyで学ぶクローラー
久しぶりに技術系の本を買った。 railsとかだとバージョンが上がると本の価値が下がるけど、枯れてるっぽいし良いかなと思いまして。 ぼちぼち写経してるけど、まだデータを蓄積のところまでできてない。 あと手元に持ってきたデータをどう解析するか、っていうところは別に考える必要があるなぁ。