2013年3月12日火曜日

開発環境

『初めてのプログラミング 第2版』(Chris Pine 著、長尾 高弘 訳、オライリー・ジャパン、2010年、ISBN978-4-87311-469-9)の 12章(章全部で復習), 12.5(練習問題の続き)roman_to_integer 'mcmxcix'! を解いてみる。

その他参考書籍

roman_to_integer 'mcmxcix'!

コード(BBEdit)

sample.rb

#!/usr/bin/env ruby1.9
#-*- coding: utf-8 -*-

def roman_to_integer roman
    result = 0
    pre = 0
    r_n = {
      'M' => 1000,
      'D' => 500,
      'C' => 100,
      'L' => 50,
      'X' => 10,
      'V' => 5,
      'I' => 1}
    (roman.length - 1).downto(0) do |i|
        n = r_n[roman[i].upcase]
        return "有効なローマ数字になってない!" unless n
        if n >= pre
            result += n
            pre = n
        else
            result -= n
        end
    end
    result
end

puts roman_to_integer 'ruby'
puts roman_to_integer 'mcmxcix'

入出力結果(Terminal)

$ ./sample.rb
有効なローマ数字になってない!
1999
$

ちなみにJavaScriptの場合。

0 コメント:

コメントを投稿