Java meets Python - 第6回 配列と別れる50の方法(3) ライフゲーム
よろずプログラマーのためのPython導入ガイド (8)
例外処理を導入すると、配列に伴う ArrayIndexOutOfBoundsException とさえ共存できます。確かに、この対処法は魅力的ですが、後で思わぬツケが回ってきます。今回は、ライフゲームの事例を通して、伝統的な手法から視点を移して、オブジェクト指向の立場から観察することで、これらの問題点を再考します。
はじめに
伝統的な手法では配列が主役を演じ、その値は脇役として扱われてきました。主客逆転させて脇役にスポットを当てると、オブジェクト指向の世界が開けてきます。その効用は、冗長な条件判定の排除による例外の発生防止だけではありません。コードの見通しを良くすることは、バグを発見するための強力な処方箋となります。
今回は、先に紹介したパズルゲームを参考にしながら、新たにライフゲームの作成を行います。担当は第4回に引き続き伊藤です。前回の復習を兼ねて、初心に還って解説しますのでよろしくお願いします。
対象読者
こんな症状を抱えているなら……。
- 配列を扱うたび、例外 ArrayIndexOutOfBoundsException に悩まされる
ライフゲームは万能マシン
ライフゲームは、英国の数学者 John Horton Conway(1937-)が1970年に創案したとされています。ライフゲームは、万能チューリングマシンであり、マス目が無限に広がるなら、無制限の記憶容量を持つ仮想マシンに匹敵する性能が期待できます。
話し相手もいない孤独な環境では、寂しさに耐えられず生きていけません。逆に、いつも誰かに囲まれている環境では、窮屈さに耐えられず生きていけません。そんな付かず離れずの程よい加減の環境が生物の生存には欠かせないことを、このライフゲームは物語っているかのようです。
この記事は参考になりましたか?
- よろずプログラマーのためのPython導入ガイド連載記事一覧
-
- Java meets Python - 第7回 ハリウッドの原則
- Java meets Python - 第6回 配列と別れる50の方法(3) ライフゲーム
- Java meets Python - 第5回 二分木と辞書
- この記事の著者
-
小泉ひよ子とタマゴ倶楽部(コイズミヒヨコトタマゴクラブ)
http://tamago-club.cocolog-nifty.com/「楽しくなければ仕事じゃない」が私たちのモットー。99%の苦悩の連続も、1%の成功に報われます。だからこそ、この仕事が楽しくて仕方がないのです。楽をするための努力なら惜しみません。何もせず楽をしているのと、努力をしたから楽ができるのと...
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
-
伊藤うさぎ(イトウ ウサギ)
ペンネームの「由来は」と言うと。苗字の方は、セミナー研修で同じチームになった、3人の合体ユニット名 [I:石塚, T:田川, O:尾沢] から来ています。名前の方は、同じ干支(卯:1987 年生)に因んだものです。既に2人は卒業して、残る1人がその名跡を継承しています。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
