開発環境
- OS X Lion - Apple(OS)
- TextWrangler(Text Editor) (BBEditの機能制限無料版、light版)
- Script言語:Perl
『初めてのPerl 第6版』(Randal L. Schwartz, Tom Phoenix, brian d foy 共著、近藤 嘉雪 訳、オライリー・ジャパン、2012年、ISBN978-4-87311-567-2)の6章(ハッシュ)、6.6(練習問題)2を解いてみる。
その他参考書籍
2.
コード(BBEdit)
sample.pl
#!/usr/bin/env perl use strict; use warnings; use utf8; use 5.016; binmode STDOUT, ':utf8'; binmode STDIN, ':utf8'; my %count = (); while (1) { chomp( my $word = <STDIN> ); last if $word =~ /^\s*$/; $count{$word} += 1; } print map {"$_ $count{$_}回\n"} sort keys %count;
入出力結果(Terminal)
$ ./sample.pl fred barney fred dino wilma fred barney 1回 dino 1回 fred 3回 wilma 1回 $
ちなみにJavaScriptの場合。
コード(BBEdit)
var count = {}, words = [], word = "", result = ""; while (true) { word = prompt("単語を入力(空白で終了)",""); if (/^\s*$/.test(word)) { break; } if (words.indexOf(word) === -1) { words.push(word); count[word] = 1; } else { count[word] += 1; } } words.sort(); for (i = 0, max = words.length; i < max; i += 1) { result += words[i] + " " + count[words[i]] + "回\n"; } $('#pre0').text(result);
pythonの場合。
コード(BBEdit)
sample.py
#!/usr/bin/env python3.3 #-*- coding: utf-8 -*- import re count = {} while True: word = input("単語: ") if re.search(r"^\s*$", word): break if word in count: count[word] += 1 else: count[word] = 1 for x in sorted(count.keys()): print("{0} {1}回".format(x, count[x]))
入出力結果(Terminal)
$ ./sample.py 単語: fred 単語: barney 単語: fred 単語: dino 単語: wilma 単語: fred 単語: barney 1回 dino 1回 fred 3回 wilma 1回 $
0 コメント:
コメントを投稿