開発環境
- OS X Lion - Apple(OS)
- BBEdit - Bare Bones Software, Inc.(Text Editor)
- Script言語:Perl
その他参考書籍
1.
コード(BBEdit)
sample.pl
#!/usr/bin/env perl use strict; use warnings; use utf8; use 5.016; binmode STDOUT, ':utf8'; binmode STDIN, ':utf8'; { package Animal; sub speak { my $class = shift; print "a $class goes ", $class->sound, "!\n"; } } { package Cow; our @ISA = qw(Animal); sub sound { "moooo" } } { package Horse; our @ISA = qw(Animal); sub sound { "neigh" } } { package Sheep; our @ISA = qw(Animal); sub sound { "baaaah" } } { package Mouse; our @ISA = qw(Animal); sub sound { "squeak" } sub speak { my $class = shift; Animal::speak($class); print "[but you can barely hear it!]\n"; } } my @backyard = (); print "1つ以上の小動物(Cow/Horse/Sheep/Mouse/)を入力(空白で終了)\n"; while (<>) { chomp; last if /^\s*$/; unless (/^(Cow|Horse|Sheep|Mouse)$/) { print "選択肢から小動物を選んでください\n"; } push @backyard, $_; } for (@backyard) { $_->speak; }
入出力結果(Terminal)
$ ./sample.pl 1つ以上の小動物(Cow/Horse/Sheep/Mouse/)を入力(空白で終了) Cow Horse Sheep Mouse Cow a Cow goes moooo! a Horse goes neigh! a Sheep goes baaaah! a Mouse goes squeak! [but you can barely hear it!] a Cow goes moooo! $
ちなみにJavaScriptの場合。
コード(BBEdit)
$('#pre0').html(''); var Animal = function ( ) {}; Animal.prototype.o = "Animal"; Animal.prototype.sound = ""; Animal.prototype.speak = function() { $('#pre0').append("a " + this.o + " goes " + this.sound + "!\n"); }; var Cow = function() {}, Horse = function () {}, Sheep = function () {}, Mouse = function () {}; Cow.prototype = new Animal(); Horse.prototype = new Animal(); Sheep.prototype = new Animal(); Mouse.prototype = new Animal(); Cow.prototype.o = "Cow"; Horse.prototype.o = "Horse"; Sheep.prototype.o = "Sheep"; Mouse.prototype.o = "Mouse"; Cow.prototype.sound= "moooo"; Horse.prototype.sound = "neigh"; Sheep.prototype.sound = "baaaah"; Mouse.prototype.sound = "squeak"; Mouse.prototype.speak = function () { Animal.prototype.speak.apply(this); $('#pre0').append("[but you can barely hear it!]\n"); }; var animals = {"Cow":Cow, "Horse":Horse, "Sheep": Sheep, "Mouse":Mouse}; var backyard = []; while (true) { var animal = prompt("小動物(Cow/Horse/Sheep/Mouse)を入力(空白で終了)",""); if (/^\s*$/.test(animal)) { break; } if (! /^(Cow|Horse|Sheep|Mouse)$/.test(animal)) { alert("選択肢から小動物を選んでください"); } else { backyard.push(new animals[animal]()); } } var i; for (i = 0, max = backyard.length; i < max; i += 1) { backyard[i].speak(); }
pythonの場合。
コード(BBEdit)
sample.py
#!/usr/bin/env python3.3 #-*- coding: utf-8 -*- import datetime, Oogaboogoo.date td = datetime.date.today() day = td.weekday() + 1 if td.weekday() < 6 else 0 print("Today is {0}, {1} {2}, {3}".format( Oogaboogoo.date.getDay(day), Oogaboogoo.date.getMonth(td.month - 1), td.day, td.year))
入出力結果(Terminal)
$ ./sample.py 1つ以上の小動物(Cow/Horse/Sheep/Mouse/)を入力(空白で終了)Cow 1つ以上の小動物(Cow/Horse/Sheep/Mouse/)を入力(空白で終了)Horse 1つ以上の小動物(Cow/Horse/Sheep/Mouse/)を入力(空白で終了)Sheep 1つ以上の小動物(Cow/Horse/Sheep/Mouse/)を入力(空白で終了)Mouse 1つ以上の小動物(Cow/Horse/Sheep/Mouse/)を入力(空白で終了)Cow 1つ以上の小動物(Cow/Horse/Sheep/Mouse/)を入力(空白で終了)Dog 選択肢から小動物を選んでください 1つ以上の小動物(Cow/Horse/Sheep/Mouse/)を入力(空白で終了) a Cow goes, moooo! a Horse goes, neigh! a Sheep goes, baaaah! a Mouse goes, squeak! [but you can barely hear it!] a Cow goes, moooo! $
0 コメント:
コメントを投稿