Get me outta here!

blog.delphinus.dev

vim とか Perl な話題とか……

Menu

Skip to content
  • プライバシーポリシー
  • perl
  • Vim
  • 映画
  • 投稿一覧
  • はじめに

Author Archives

delphinus

【Perl, Python】シュワルツ変換あるいは優雅なる DSU

2010年5月10日 by delphinus

「【Perl, Python】map、grep、sort の比較」に続き、map、sort を使って高速なソート手法であるシュワルツ変換を書いてみよう。

シャチ泳ぎとシュワルツ変換 – perl-mongers.org
http://perl-mongers.org/2008/05/schwartzian_transform_and_orcish_maneuver.html

Schwartzian transform – Wikipedia, the free encyclopedia
http://en.wikipedia.org/wiki/Schwartzian_transform

シュワルツ変換とは、ある配列の要素をそれぞれの属性値に従ってソートする場合、一度属性値を全て計算した配列を作ることでソートを高速化することを言う。

……と、言葉で説明してもアレだし、例を挙げてみよう。次のように、九州の各県の人口を表したテキストファイルがあるとする1。

kyushu.txt

エンコーディングは UTF-8 とする。

長崎県 1,478,632 人
佐賀県 866,369 人
福岡県 5,049,908 人
熊本県 1,842,233 人
大分県 1,209,571 人
宮崎県 1,153,042 人
鹿児島県 1,753,179 人
沖縄県 1,361,594 人

これを人口の少ない順に並べ直し、次のような出力を得たい。

佐賀県 866,369 人
宮崎県 1,153,042 人
大分県 1,209,571 人
沖縄県 1,361,594 人
長崎県 1,478,632 人
鹿児島県 1,753,179 人
熊本県 1,842,233 人
福岡県 5,049,908 人

Continue reading →

perl python 3 Comments

【Perl, Python】map、grep、sort の比較

2010年5月9日 by delphinus

Perl で言う、map、grep、sort を Python で表すと次のようになる。

Are Python list comprehensions the same thing as map/grep in Perl? – Stack Overflow
http://stackoverflow.com/questions/1418912/are-python-list-comprehensions-the-same-thing-as-map-grep-in-perl

Continue reading →

perl python Leave a comment

“B 級漫画”から“A 級映画”へ – 「いばらの王 -King of Thorn-」感想

2010年5月8日 by delphinus

原作漫画も読んだので改めて感想を書いてみる。今度は激しくネタバレなので注意な。ネタバレなしの感想はこちら。

“B 級映画”とは

原作漫画の感想として必ず上げられるのが「B 級映画のような漫画」というフレーズ。そもそもこの言葉はどういう意味なのか。

B 級映画(びーきゅうえいが)とは、短期間撮影の低予算で製作された映画のことである。そのため、単に質の悪い映画を指すこともある。B 級映画の定義は曖昧であり、人によってはその解釈が異なるのが現状である。

http://ja.wikipedia.org/wiki/B%E7%B4%9A%E6%98%A0%E7%94%BB

対義語は「A 級映画」であり、破格の予算と制作期間をかけ、なおかつ、芸術性のあるテーマを持った作品がそう呼ばれる1。

これに対して、「A 級映画」の前座となるべく制作された低級・低予算映画が「B 級映画」な訳だが、映画の複数同時上映が無くなってしまった現代2では「前座」自体が必要ではない。

そんなわけで、「B 級映画」の定義も非常に曖昧になってしまった。必ずしも「B 級」が「A 級」に劣るわけではなく、逆に「B 級映画」であることを目指して作られる映画が出てきたのだ。

Continue reading →

映画 2 Comments

【Perl】進捗を表示しながらダウンロードする

2010年5月7日 by delphinus

「【Python 事始め】進捗を表示しながらダウンロードする」に続いて、Perl で同じことをやってみよう。Python の urllib モジュールに当たるのは、Perl では LWP::UserAgent モジュールだ1。

LWP::UserAgent – search.cpan.org
http://search.cpan.org/~gaas/libwww-perl-5.834/lib/LWP/UserAgent.pm

ファイルのダウンロードには get メソッドを使う。構文は次のようになっている。

$ua->get( $url, %options )

%options に指定できるオプションは非常に多岐にわたっていて複雑だが、とりあえずは 2 つだけ覚えておけばいい。

Continue reading →

perl Leave a comment

【Python 事始め】進捗を表示しながらダウンロードする

2010年5月6日 by delphinus

ファイルをダウンロードしてローカルに保存するスクリプトを書いてみる。ただ保存するだけではつまらないので進捗状況を表示してみよう。

ファイルのダウンロードには urllib モジュールの uriretrieve 関数を使う。

11.4 urllib — URL による任意のリソースへのアクセス
http://www.python.jp/doc/2.4/lib/module-urllib.html

Continue reading →

python Leave a comment

【Python 事始め】終了処理を追加する

2010年5月5日 by delphinus

スクリプトにバグがあった場合、Python はエラーメッセージを出力して終了することになるが、py2exe で exe 化している場合、そのメッセージは一瞬で消えてしまって読むことが出来ない。そういうときは終了処理を追加して一旦待って貰おう。この用途には atexit モジュールを使う。

使用例

次のようなスクリプトを実行すると勿論エラーで落ちるが、exe 化しているとウィンドウすら表示されないのでメッセージが読めない。

# coding=utf-8
# ゼロ除算エラーになる
1 / 0

そこで、スクリプトの最初に次のような処理を追加する。

# coding=utf-8
import atexit

def goodbye():
    """
    終了処理
    """
    raw_input( u"Enter キーを押してください".encode( "cp932" ) )

atexit.register( goodbye )

# ゼロ除算エラーになる
1 / 0

このスクリプトを py2exe で exe 化して実行すると、次のように表示される。

100505-0002.png

python Windows Leave a comment

「いばらの王 -King of Thorn-」感想

2010年5月4日 by delphinus

ネタバレ感想をアップしました。→ こちら

今日は「タイタンの戦い」を見に行くつもりだったのだが、ネット上で余りにも評価が低いために弟が尻込みしてしまった。代案としてこの映画に誘ったのだが、アニオタではない弟は明らかに不満そう。それを押して無理矢理連れて行ったのだが……。

Continue reading →

映画 Leave a comment

Post navigation

← Older posts
Newer posts →

アカウントでログイン

最近の投稿

  • Moves API のための Perl モジュールを作りました 2013年9月11日
  • ロボットは僕に言った「君は人間じゃない」 2013年7月30日
  • 人は一生に何回キーを叩くんだろう? 2013年7月29日
  • 【Vim】カラースキームを切り替えるたった一つのさえたやりかた 2013年7月23日
  • 【WordPress】「前の記事」「次の記事」のリンクにサムネイルを付ける 2013年7月17日
  • 【Powerline】Git branch セグメントが Mac OS X で動かない? 2013年7月16日
  • 【Vim】80桁教信者の憂鬱 その2(ホットキーでトグル、他) 2013年6月24日
  • 【vim】80桁教信者の憂鬱 2013年6月20日
  • 【MacVim】メニューバーでアイコンが見えない! 2013年6月19日
  • 【unite.vim】set_substitute_pattern は衰退しました(その2) 2013年6月18日
Proudly powered by WordPress | Theme: Something Fishy by Caroline Moore.
blog.delphinus.dev
Proudly powered by WordPress | Theme: Something Fishy by Caroline Moore.