開発環境
- OS X Lion - Apple(OS)
- TextWrangler(Text Editor) (BBEditの機能制限無料版、light版)
- Script言語:Ruby
『初めてのプログラミング 第2版』(Chris Pine 著、長尾 高弘 訳、オライリー・ジャパン、2010年、ISBN978-4-87311-469-9)の 8章(配列とイテレータ), 8.3(練習問題)配列の構築とソート を解いてみる。
その他参考書籍
- 『プログラミング言語 Ruby』David Flanagan, まつもと ゆきひろ 著 、卜部 昌平 監訳、長尾 高弘 訳、オライリー・ジャパン、2009年、ISBN978-4-87311-394-4)
- Rubyクックブック ―エキスパートのための応用レシピ集
配列の構築とソート
コード(TextWrangler)
sample.rb
#!/usr/bin/env ruby1.9 #-*- coding: utf-8 -*- words = [] puts "入力したいだけ単語を入力(1行に1語ずつ、空行で終了)" while true word = gets.chomp break if word =~ /^\s*$/ words.push word end puts "アルファベット順に出力(正確にはASCII順)" words.sort puts words
入出力結果(Terminal)
$ ./sample.rb 入力したいだけ単語を入力(1行に1語ずつ、空行で終了) e a d b c アルファベット順に出力(正確にはASCII順) e a d b c $
ちなみにJavaScriptの場合。
コード(TextWrangler)
alert("入力したいだけ単語を入力(空文字で終了)");
var words = [];
var word;
var reg = /^\s*$/;
while(true){
word = prompt("単語(空文字で終了)");
if(reg.test(word)) break;
words.push(word);
}
var result = "ソート前: " + words.join(" ") + "\n";
words.sort()
result += "ソート後: " + words.join(" ");
$('#pre0').text(result);
pythonの場合。
sample.py
コード(TextWrangler)
#!/usr/bin/env python3.3
#-*- coding: utf-8 -*-
import re
print("入力したいだけ単語を入力(1行に1語ずつ、空行で終了)")
words = []
reg = re.compile("^\s*$")
while True:
word = input()
if reg.match(word): break
words.append(word)
words.sort()
print("\n".join(words))
入出力結果(Terminal)
$ ./sample.py 入力したいだけ単語を入力(1行に1語ずつ、空行で終了) e a d b c a b c d e $
0 コメント:
コメントを投稿