#acl SomeUser:read,write All: read = Lightweight Language Lovers = == JavaからRubyへ == 図書館で何気なく『JavaからRubyへ ―マネージャのための実践移行ガイド』という本を見かけました。[[BR]] 途中、カヤックの話題が何回か出てくるので「もしや」と思っていたらやはり、このサイトでも何度か触れた『軽快なJava』の同じ作者ではありませんか。 『軽快なJava』では、EJBに代表されるような「肥満してしまったJava」にDI、アスペクト思考などの新しい考え方、Spring、Hibernate等の新世代のフレームワークによって、「新鮮な酸素を供給し、健康を取り戻す」という内容でした。この本からは、筆者のJavaに対する情熱、愛情のようなものを感じることができます。 それが、この『JavaからRubyへ』では驚くほどの心変わりです。 確かに私も企業ユースを考えた場合、Javaのもたらす安心感は絶大なものがあると思います。「IBMを選択してクビになったマネージャーはいない」のです。何でも出来そうな広大無辺なクラスライプラリ、膨大な蓄積・・・ に対しては基本的なコードの定石を覚えたら、あとはそれを組み合わせるのに必要な命令文が分かれば実用的なプログラムが作れます。 === 条件判断とループ === {{{#!python for c in List: if c[0] == '*': continue elif c[0] == 'q': break else: pass print c }}} '*' が来れば読み飛ばし、'q' が来れば処理打ち切りです。比較演算子については http://www.python.jp/doc/release/ref/comparisons.html を参照してください。 . 便利なのは in 演算子です。 {{{#!python if q == 'y' or q == 'Y' or q == 'yes': pass }}} と長々書かなくても {{{#!python if q in ('y', 'Y', 'yes'): pass }}} と書くことが出来ます。 === 算術演算 === {{{#!python >>> s = 3 >>> s = s + 1 >>> s 4 }}} . 上記の2行目は累算代入文を使うと {{{#!python s += 1 }}} と簡潔に書くことが出来ます。 === 関数 === {{{#!python def f(i, o): fR = file(i, 'r') ... f('infile.csv', 'outfile.csv') }}} ---- CategoryPython