2012年11月25日日曜日

開発環境

『初めてのPerl 第6版』(Randal L. Schwartz, Tom Phoenix, brian d foy 共著、近藤 嘉雪 訳、オライリー・ジャパン、2012年、ISBN978-4-87311-567-2) の4章(入出力)、5.13(練習問題)1を解いてみる。

その他参考書籍

1.

コード(TextWrangler)

sample.pl

#!/usr/bin/env perl
use strict;
use warnings;
use utf8;
use 5.016;
binmode STDIN, ':utf8';
binmode STDOUT, ':utf8';

print reverse <>;

入出力結果(Terminal)

kamimura$ ./sample.pl fred barney betty
betty 5
betty 4
betty 3
betty 2
betty 1
barney 6
barney 5 (barney fife?)
barney 4
barney 3
barney 2
barney 1
fred 4
fred 3
fred 2
fred 1
$ cat fred barney betty
fred 1
fred 2
fred 3
fred 4
barney 1
barney 2
barney 3
barney 4
barney 5 (barney fife?)
barney 6
betty 1
betty 2
betty 3
betty 4
betty 5
$

ちなみにJavaScriptの場合。

コード(TextWrangler)

var result = "";
var names = ['fred 1\nfred 2\nfred 3\nfred 4\n',
  'barney 1\nbarney 2\nbarney 3\nbarney 4\nbarney 5 (barney fife?)\nbarney 6\n',
  'betty 1\nbetty 2\nbetty 3\nbetty 4\nbetty 5\n']
names.reverse();
for(var i = 0; i < names.length; i++){
  var lines = names[i].split("\n");
  lines.pop();
  lines.reverse();
  for(var j = 0; j < lines.length; j++){
    result += lines[j] + "\n";
  }
}

$('#pre0').text(result);




pythonの場合。

sample.py

コード(TextWrangler)

#!/usr/bin/env python3.3
#-*- coding:utf-8 -*-

import sys

names = sys.argv[1:]
names.reverse()
for name in names:
    lines = []
    for line in open(name):
        lines.append(line)
    lines.reverse()
    for line in lines:
        print(line, end="")

入出力結果(Terminal)

$ ./sample.py fred barney betty
betty 5
betty 4
betty 3
betty 2
betty 1
barney 6
barney 5 (barney fife?)
barney 4
barney 3
barney 2
barney 1
fred 4
fred 3
fred 2
fred 1
$

0 コメント:

コメントを投稿