開発環境
- OS X Lion - Apple(OS)
- BBEdit - Bare Bones Software, Inc.(Text Editor)
- Script言語: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 ruby1.9 #-*- coding: utf-8 -*- 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 e a d b c 5 1 4 2 3 E A D B C 配列: e a d b c 5 1 4 2 3 E A D B C ソート済の配列: 1 2 3 4 5 A B C D E a b c d e $
ちなみにJavaScriptの場合。
コード(BBEdit)
var result = ""; var word; var words = []; while(true){ word = prompt("配列の構築(空白で終了)",""); if(/^\s*$/.test(word)) break; words.push(word); } var result = "配列: " + words.join(" ") + "\n"; words.sort(); result += "ソート済の配列: " + words.join(" ") + "\n"; $('#pre0').text(result);
pythonの場合。
sample.py
コード(BBEdit)
#!//usr//bin//env python3.3 # -*- coding: utf-8 -*- import re words = [] while True: word = input() if re.search(r"^\s*$", word): break words.append(word) sorted_words = sorted(words) print("配列: {0}".format(" ".join(words))) print("ソート済の配列: {0}".format(" ".join(sorted_words)))
入出力結果(Terminal)
$ ./sample.py e a d b c 5 1 4 2 3 E A D B C 配列: e a d b c 5 1 4 2 3 E A D B C ソート済の配列: 1 2 3 4 5 A B C D E a b c d e $
perlの場合。
sample.pl
コード(BBEdit)
#!/usr/bin/env perl use strict; use warnings; use utf8; use 5.016; binmode STDIN, ":utf8"; binmode STDOUT, ":utf8"; my @words = (); my $word; while(1){ chomp($word = <STDIN>); last if $word =~ /^\s*$/; push @words, $word; } my @sorted_words = sort @words; print "@words\n"; print "@sorted_words\n";
入出力結果(Terminal)
$ ./sample.pl e a d b c 5 1 4 2 3 E A D B C e a d b c 5 1 4 2 3 E A D B C 1 2 3 4 5 A B C D E a b c d e $
0 コメント:
コメントを投稿