2013年8月22日木曜日

開発環境

『初めてのPerl 第6版』(Randal L. Schwartz, Tom Phoenix, brian d foy 共著、近藤 嘉雪 訳、オライリー・ジャパン、2012年、ISBN978-4-87311-567-2)の14章(文字列処理とソート)の14.5(練習問題)3を解いてみる。

その他参考書籍

3.

コード(BBEdit)

sample.pl

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

chomp(my $str = <STDIN>);
while (1) {
    chomp(my $sub_str = <STDIN>);
    last if $sub_str =~ /^\s*$/;
    my $i = -1;
    while (1) {
        $i = index($str, $sub_str, $i + 1);
        last if $i == -1;
        print "$i ";
    }
    print "\n";
}

入出力結果(Terminal)

$ ./sample.pl
This is a test.
is
2 5 
a
8 
t
10 13 

$

ちなみにpython3.3の場合。

コード(BBEdit)

sample.py

#!/usr/bin/env python3.3
## Copyright (C) 2013 by kamimura
#-*- coding: utf-8 -*-

import re

s = input()
while True:
    sub_s = input()
    if re.search(r"^\s*$", sub_s):
        break
    i = -1
    while True:
        i = s.find(sub_s, i + 1)
        if i == -1:
            break
        print("{0} ".format(i), end="")
    print()

入出力結果(Terminal)

$ ./sample.py
This is a test.
is
2 5 
a
8 
t
10 13 

$

0 コメント:

コメントを投稿