2012年12月15日土曜日

開発環境

『初めてのJavaScript 第2版』(シェリー・パワーズ著(Shelley Powers著)、武舎 広幸+武舎 るみ訳、オライリー・ジャパン、2009年、ISBN978-4-84312-225-5) の13章(JavaScriptのカスタムオブジェクトと例外処理)練習問第13-5を解いてみる。

その他参考書籍

13-5.

コード(TextWrangler)

<script>
var Obj = function(){
  var background = "#fff";
  var state = "on";
  this.change_state = function(){
    if(state === "on"){
      state = "off";
      background = "#000";
    } else {
      state = "on";
      background = "#fff";
    }
  };
  this.get_color = function(){
    return background;
  };
  this.get_state = function(){
    return state;
  };
};
var obj = new Obj();
function clicked(){
  obj.change_state();
  $('#d1').attr('style', "background-color:" + obj.get_color());
  $('#d0').text("状態:" + obj.get_state() + " 背景色: " + obj.get_color());
}
</script>
<input type="button" value="背景色を変更" onclick="clicked()" />
<br />
<div id="d0" style="background-color:white !important;">
</div>

ちなみにPython3kの場合。

コード(TextWrangler)

sample.py

#!/usr/bin/env python3.3
#-*- coding: utf-8 -*-

class o:
    def __init__(self):
        self._background = "白"
        self._state = "off"
    
    def get_color(self):
        return self._background
    
    def get_state(self):
        return self._state
    
    def change_state(self):
        if self._state == "on":
            self._state = "off"
            self._background = "黒"
        else:
            self._state = "on"
            self._background = "白"

o = o()
for x in range(5):
    o.change_state()
    print("状態:{0:3} 背景色:{1}".format(o.get_state(), o.get_color()))

入出力結果(Terminal)

$ ./sample.py
状態:on  背景色:白
状態:off 背景色:黒
状態:on  背景色:白
状態:off 背景色:黒
状態:on  背景色:白
$

0 コメント:

コメントを投稿