Maraigue風。

Maraigue(H. Hiro)のブログ

[プログラミング][Python] 簡易文法チェッカー

2008年04月23日 18時27分36秒 | プログラミング
事の発端は、Twitterでのこの発言。



maraigue: PerlやRubyはruby -e "script"でスクリプト実行できるけど、Pythonはshとかと同じでpython -c "script"なのね。
http://twitter.com/maraigue/statuses/794964644

gan2: @maraigue Perl や Ruby の -c は Python では何になってるのか気になる
http://twitter.com/gan2/statuses/794965707



PerlやRubyでは、コマンドラインで「ruby -c myscript.rb」のように入力することで、スクリプトの文法のチェックのみを行うことができる。

ところがPythonでは、そのような機能はpythonインタプリタには無いようなのである(文法チェック用の外部ツールは存在する)。

そこで簡易的な文法チェックスクリプトを作ってみた。
以下のシェルスクリプトを適当な名前のファイル(例えば pysyntax)に保存し、実行権限を与える。(※全角の円記号は半角に直して下さい)

#!/bin/sh
( echo "import sys¥nsys.exit()"; cat $1 ) | python -

その上で、シェル上で

$ ./pysyntax myscript.py

のように入力すると、文法に問題がなければ何も表示されず、文法に問題があればそのエラーが表示される。
なお、引数に与えるスクリプトがカレントディレクトリにない場合、ひょっとしたら上手くいかないかもしれません。


仕組みはいたって簡単で、引数に与えたファイルの先頭に

import sys
sys.exit()

の2行を付け加えたうえで、pythonインタプリタに実行させているのである。sys.exit()以下は実行はされないが、スクリプトの解析の対象にはなるため、そこで文法エラーがあればpythonインタプリタがエラーメッセージを出してくれる、という仕組みである。

[ネタ][VOCALOID] 全国の「初音」地名を集めてみた

2008年04月20日 16時32分35秒 | ローカルネタ
以前[初音ミク]三笠市の初音町に行ってみたなんて企画を敢行しましたが、全国にはまだまだ「初音」地名がある。

ということで、ふと思い立って地図にしてみた

全国の「初音」地名


[追伸]
北九州市の初音町へ突入した方、現在も継続的に初音地名の情報を集めているようです。是非こちらもご覧下さい。(w


[4/22追記]
VOCALOIDファンの集まるSNS「にゃっぽん!」に加入しました。w

[Twitter][作った] 共通でfollowしている人を求めるWebサービス

2008年04月16日 21時12分36秒 | インターネット
Twitter friends lister (Beta)

Twitterで、ある人とある人が共通でfollowしている人を出力するサービス「Twitter friends lister」を立ち上げました。

いくつか使い方はあると思いますが
・新たにfollowする人を探すため、自分と親しい他の人が誰をfollowしているかリストアップする
・誰が自分とfollowingの傾向が似ているか調べる
・見知らぬ人が自分をfollowしたとき、その人と自分のfollowingの共通部分を見て、「あ、この人経由で来たんだな」と推測する
なんてところでしょうか。

他に良い使い方を思いついた方がいらっしゃったら教えて下さい。また機能についての要望もありましたらお知らせ願います。

【余談】
このプログラムは、エセAjaxによって実現されています。
何がエセかというと、XMLHTTPRequestとかprototype.jsとか巷でいうAjax関連のものは一切使わず、ほとんどiframeで済ませているのです。

6月学会発表へ

2008年04月15日 14時16分44秒 | 総合
6月中旬に学会発表を行うことになりました。


新たに提案する手法が具体的に決まってない中、あと1ヶ月で論文を書き、さらにその後の1ヶ月で発表の準備をしなければなりません。

大変です。

しかし、新たな体験にワクワクもしています。


あと2ヶ月、たまにインターネット上の活動ペースが落ちるかもしれません。その時は学会発表の準備の方に力を注いでいるときですので、よろしくお願いします。

[健康管理] hakatter

2008年04月11日 12時51分42秒 | インターネット
hakatterを登録してみた。(私のアカウント

「体重を記録し続けること自体がダイエットにつながる」というもの。さらにそれを他人にも見せることで、長続きするようにするという。周りの数人が登録していたので、私も登録することにした。

私の場合、おそらく「必要以上に食べるので体重が減らない」状況なので、hakatterを使うことで効果は出そうな気がする。ただそれがストレスになる可能性も否定できないので、とりあえず6月中旬に控えている学会発表まではまじめには使わないことにした。それまでの期間は「減ればいいかな」程度に捉えます。



ちなみに名前はTwitterから取ったのでしょうが、単にUIが似ているだけのようです。

※5/6追記:気分でアカウント名を「maraigue」から「h_hiro」に変えました。