開発環境
- 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 コメント:
コメントを投稿