2013年1月18日金曜日

開発環境

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

その他参考書籍

配列の構築とソート

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

コメントを投稿