2012年11月3日土曜日

開発環境

『初めてのプログラミング 第2版』(Chris Pine 著、長尾 高弘 訳、オライリー・ジャパン、2010年、ISBN978-4-87311-469-9)の 6章(メソッドの詳細), 6.2(練習問題)目次 を解いてみる。

その他参考書籍

目次

コード(TextWrangler)

sample.rb

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

width = 40
puts "目次".center(width)
puts
puts "1章 始めよう".ljust(width / 2) + "1ページ".rjust(width / 2)
puts "2章 数値".ljust(width / 2) + "11ページ".rjust(width / 2)
puts "3章 文字".ljust(width / 2) + "15ページ".rjust(width / 2)

入出力結果(Terminal)

$ ./sample.rb
                   目次                   

1章 始めよう                             1ページ
2章 数値                              11ページ
3章 文字                              15ページ
$

ちなみにJavaScriptの場合。

コード(TextWrangler)

var line0 = "目次";
var line11 = "1章 始めよう";
var line12 = "1ページ";
var line21 = "2章 数値";
var line22 = "11ページ";
var line31 = "3章 文字";
var line32 = "15ページ";
var width = 40;
var space0 = "";
for(var i = 0; i < (width - line0.length)/ 2 ; i++){
  space0 += " ";
}
line0 = space0 + line0 + space0;
var space1 = "";
for(var i = 0; i < (width - (line11 + line12).length); i++){
  space1 += " ";
}
var space2 = "";
for(var i = 0; i < (width - (line21 + line22).length); i++){
  space2 += " ";
}
var space3 = "";
for(var i = 0; i < (width - (line31 + line32).length); i++){
  space3 += " ";
}
var line1 = line11 + space1 + line12;
var line2 = line21 + space2 + line22;
var line3 = line31 + space3 + line32;
var result = line0 + "\n\n" + line1 + "\n" + line2 + "\n" + line3 + "\n";
$('#pre0').text(result);


pythonの場合。

sample.py

コード(TextWrangler)

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

width = 40
print("目次".center(width))
print()
print("1章 始めよう".ljust(width // 2) + "1ページ".rjust(width // 2))
print("2章 数値".ljust(width // 2) + "11ページ".rjust(width // 2))
print("3章 文字".ljust(width // 2) + "15ページ".rjust(width // 2))

入出力結果(Terminal)

$ ./sample.py
                   目次                   

1章 始めよう                             1ページ
2章 数値                              11ページ
3章 文字                              15ページ
$

JavaScriptでも似たような関数あるのかな。探したけど見つけられなくてなんか長くなった。。

0 コメント:

コメントを投稿