開発環境
- OS X Lion - Apple(OS)
- Emacs、BBEdit - Bare Bones Software, Inc. (Text Editor)
- Ruby (プログラミング言語)
『初めてのプログラミング 第2版』(Chris Pine 著、長尾 高弘 訳、オライリー・ジャパン、2010年、ISBN978-4-87311-469-9)の 8章(配列とイテレータ), 8.3(練習問題)、配列の構築とソート、を解いてみる。
その他参考書籍
- 『プログラミング言語 Ruby』David Flanagan, まつもと ゆきひろ 著 、卜部 昌平 監訳、長尾 高弘 訳、オライリー・ジャパン、2009年、ISBN978-4-87311-394-4)
- Rubyクックブック ―エキスパートのための応用レシピ集
配列の構築とソート
コード(BBEdit)
sample.rb
#!/usr/bin/env ruby2.0
#-*- coding: utf-8 -*-
puts '入力したいだけの単語を入力(1行に1語ずつ入力し、空行で終了)'
words = []
while true
word = gets.chomp
break if word =~ /^\s*$/
words.push word
end
sorted_words = words.sort
puts "ソート前: #{words.join(' ')}"
puts "ソート後: #{sorted_words.join(' ')}"
入出力結果(Terminal)
$ ./sample.rb 入力したいだけの単語を入力(1行に1語ずつ入力し、空行で終了) ruby python perl php c javascript dart haskell scheme lisp ソート前: ruby python perl php c javascript dart haskell scheme lisp ソート後: c dart haskell javascript lisp perl php python ruby scheme $ ./sample.rb 入力したいだけの単語を入力(1行に1語ずつ入力し、空行で終了) ソート前: ソート後: $
ちなみにpython3.3の場合。
コード(BBEdit)
sample.py
#!/usr/bin/env python3.3
#-*- coding: utf-8 -*-
import re
print('入力したいだけの単語を入力(1行に1語ずつ入力し、空行で終了)')
words = []
while True:
word = input()
if re.match(r'^\s*$', word):
break
words.append(word)
sorted_words = sorted(words)
print('ソート前: {}'.format(' '.join(words)))
print('ソート後: {}'.format(' '.join(sorted_words)))
入出力結果(Terminal)
$ ./sample.py 入力したいだけの単語を入力(1行に1語ずつ入力し、空行で終了) ruby python perl php c javascript dart haskell scheme lisp ソート前: ruby python perl php c javascript dart haskell scheme lisp ソート後: c dart haskell javascript lisp perl php python ruby scheme $ ./sample.py 入力したいだけの単語を入力(1行に1語ずつ入力し、空行で終了) ソート前: ソート後: $
0 コメント:
コメントを投稿