2013年3月18日月曜日

開発環境

『初めてのプログラミング 第2版』(Chris Pine 著、長尾 高弘 訳、オライリー・ジャパン、2010年、ISBN978-4-87311-469-9)の 14章(ブロックとproc), 14.4(練習問題)おじいさんの時計 を解いてみる。

その他参考書籍

おじいさんの時計

コード(BBEdit)

sample.rb

#!/usr/bin/env ruby2.0
#-*- coding: utf-8 -*-

def grandfather_clock &block
    h = Time.new.hour
    if h > 12
        h -= 12
    elsif h == 0
        h = 12
    end
    h.times do
        block.call
    end
end

puts Time.new
grandfather_clock do
    puts 'DONG'
end

入出力結果(Terminal)

$ ./sample.rb
2013-03-18 16:56:30 +0900
DONG
DONG
DONG
DONG
$

ちなみにJavaScriptの場合。

コード(BBEdit)

var grandfatherClock = function( fn ) {
    var h = new Date().getHours(),
        i;
    if ( h > 12 ) {
        h -= 12;
    } else if ( h === 0 ) {
        h = 12;
    }
    for ( i = 0; i < h; i += 1 ) {
        fn();
    }
},
    $pre = $('#pre0');
$pre.html("");
$pre.append(new Date() + "\n");
grandfatherClock( function (  ) {
    $('#pre0').append("DOG!\n");
});



pythonの場合。

sample.py

コード(BBEdit)

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

import time

def f(fun):
    h = time.localtime().tm_hour
    if h > 12:
        h -= 12
    elif h == 0:
        h = 12
    for x in range(h):
        fun()

def g():
    print("DONG!")

f(g)

入出力結果(Terminal)

$ ./sample.py
DONG!
DONG!
DONG!
DONG!
DONG!
$

0 コメント:

コメントを投稿