2012年11月8日木曜日

開発環境

『初めてのプログラミング 第2版』(Chris Pine 著、長尾 高弘 訳、オライリー・ジャパン、2010年、ISBN978-4-87311-469-9)の 8章(配列とイテレータ), 8.3(練習問題)配列の構築とソート を解いてみる。

その他参考書籍

配列の構築とソート

コード(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 コメント:

コメントを投稿