開発環境
- OS X Lion - Apple(OS)
- TextWrangler(Text Editor) (BBEditの機能制限無料版、light版)
- Script言語:Ruby
『初めてのプログラミング 第2版』(Chris Pine 著、長尾 高弘 訳、オライリー・ジャパン、2010年、ISBN978-4-87311-469-9)の 6章(メソッドの詳細), 6.2(練習問題)目次 を解いてみる。
その他参考書籍
- 『プログラミング言語 Ruby』David Flanagan, まつもと ゆきひろ 著 、卜部 昌平 監訳、長尾 高弘 訳、オライリー・ジャパン、2009年、ISBN978-4-87311-394-4)
- Rubyクックブック ―エキスパートのための応用レシピ集
目次
コード(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 コメント:
コメントを投稿