開発環境
- macOS Sierra - Apple (OS)
- Emacs (Text Editor)
- Perl 6 (プログラミング言語)
- Rakudo(コンパイラ、実装)
Think Perl 6: How to Think Like a Computer Scientist (Laurent Rosenfeld(著)、Allen B. Downey(著)、Oreilly & Associates Inc)のPart 1(Starting with the basics)、Chapter 11(Case Study: Data Structure Selection)の Exercise: Sets, Bags, and Mixes.を取り組んでみる。
Exercise: Sets, Bags, and Mixes.
コード(Emacs)
#!/usr/bin/env perl6
# -*- coding: utf-8 -*-
#!/usr/bin/env perl6
# -*- coding: utf-8 -*-
my $skip = True;
sub process-line (Str $line is copy) {
# if defined index $line, "*END*THE SMALL PRINT!" {
if defined index $line, "*** START OF THIS PROJECT GUTENBERG EBOOK EMMA ***" {
$skip = False;
return;
}
return if $skip;
$line ~~ s:g/<[-'/]>/ /;
$line ~~ s:g/<[;:,!?.()"_`”‘“’]>//;
$line = $line.lc;
return $line.words;
}
my $emma = set (process-line $_ for 'emma.txt'.IO.lines);
my $words = set 'words.txt'.IO.lines;
my $s = $emma (-) $words;
say $s.elems;
for $s.pick(10) {
say $_;
}
入出力結果(Terminal, REPL)
$ ./sample03.pl 585 stept dixon puppyism blockhead fairbanks ceaseless undistinguishing unfrequently goddards churchilld $
0 コメント:
コメントを投稿