2013年10月7日月曜日

開発環境

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

その他参考書籍

配列の構築とソート

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

コメントを投稿