開発環境
- OS X Lion - Apple(OS)
- BBEdit - Bare Bones Software, Inc.(Text Editor)
- Script言語:Ruby
『初めてのプログラミング 第2版』(Chris Pine 著、長尾 高弘 訳、オライリー・ジャパン、2010年、ISBN978-4-87311-469-9)の 7章(フロー制御), 7.5(練習問題)「壁にビールが99本」 を解いてみる。
その他参考書籍
- 『プログラミング言語 Ruby』David Flanagan, まつもと ゆきひろ 著 、卜部 昌平 監訳、長尾 高弘 訳、オライリー・ジャパン、2009年、ISBN978-4-87311-394-4)
- Rubyクックブック ―エキスパートのための応用レシピ集
「壁にビールが99本」
コード(BBEdit)
sample.rb
#!/usr/bin/env ruby1.9 #-*- coding: utf-8 -*- i = 5 while true puts "#{i} bottles of beer on the wall, #{i} bottles of beer!" i -= 1 break if i == 1 puts "Take one down, pass it aorund, #{i} bottles of beer on the wall!" end puts "Take one down, pass it around, #{i} bottle of beer on the wall!" puts "#{i} bottle of beer on the wall, #{i} bottle of beer!" puts "Take one down, pass it around, no more bottles of beer on the wall!"
入出力結果(Terminal)
$ ./sample.rb 5 bottles of beer on the wall, 5 bottles of beer! Take one down, pass it aorund, 4 bottles of beer on the wall! 4 bottles of beer on the wall, 4 bottles of beer! Take one down, pass it aorund, 3 bottles of beer on the wall! 3 bottles of beer on the wall, 3 bottles of beer! Take one down, pass it aorund, 2 bottles of beer on the wall! 2 bottles of beer on the wall, 2 bottles of beer! Take one down, pass it around, 1 bottle of beer on the wall! 1 bottle of beer on the wall, 1 bottle of beer! Take one down, pass it around, no more bottles of beer on the wall! $
ちなみにJavaScriptの場合。
コード(BBEdit)
var i = 5; var result = ""; while(true){ result += i + " bottles of beer on the wall, " + i + " bottles of beer!\n"; i--; if(i === 1) break; result += "Take one down, pass it aorund, " + i + " bottles of beer on the wall!\n"; } result += "Take one down, pass it around, " + i + " bottle of beer on the wall!\n" + i + " bottle of beer on the wall, " + i + " bottle of beer!\n" + "Take one down, pass it around, no more bottles of beer on the wall!\n"; $('#pre0').text(result);
pythonの場合。
sample.py
コード(BBEdit)
#!//usr//bin//env python3.3 # -*- coding: utf-8 -*- for x in range(5, 2, -1): print("{0} bottles of beer on the wall, {0} bottles of beer!".format(x)) x -= 1 print("Take one down, pass it around, {0} bottles of beer on the wall!".format(x)) else: print("{0} bottles of beer on the wall, {0} bottles of beer!".format(2)) print("Take one down, pass it around, {0} bottle of beer on the wall!".format(1)) print("{0} bottle of beer on the wall, {0} bottle of beer!".format(1)) print("Take one down, pass it around, no more bottles of beer on the wall!")
入出力結果(Terminal)
$ ./sample.py 5 bottles of beer on the wall, 5 bottles of beer! Take one down, pass it around, 4 bottles of beer on the wall! 4 bottles of beer on the wall, 4 bottles of beer! Take one down, pass it around, 3 bottles of beer on the wall! 3 bottles of beer on the wall, 3 bottles of beer! Take one down, pass it around, 2 bottles of beer on the wall! 2 bottles of beer on the wall, 2 bottles of beer! Take one down, pass it around, 1 bottle of beer on the wall! 1 bottle of beer on the wall, 1 bottle of beer! Take one down, pass it around, no more bottles of beer on the wall! $
perlの場合。
sample.pl
コード(BBEdit)
#!/usr/bin/env perl use strict; use warnings; use utf8; use 5.016; binmode STDIN, ":utf8"; binmode STDOUT, ":utf8"; my $i = 5; my $result = ""; while(1){ $result .= $i . " bottles of beer on the wall, " . $i . " bottles of beer!\n"; $i--; last if $i == 1; $result .= "Take one down, pass it aorund, " . $i . " bottles of beer on the wall!\n"; } $result .= "Take one down, pass it around, " . $i . " bottle of beer on the wall!\n" . $i . " bottle of beer on the wall, " . $i . " bottle of beer!\n" . "Take one down, pass it around, no more bottles of beer on the wall!\n"; print $result;
入出力結果(Terminal)
$ ./sample.pl 5 bottles of beer on the wall, 5 bottles of beer! Take one down, pass it aorund, 4 bottles of beer on the wall! 4 bottles of beer on the wall, 4 bottles of beer! Take one down, pass it aorund, 3 bottles of beer on the wall! 3 bottles of beer on the wall, 3 bottles of beer! Take one down, pass it aorund, 2 bottles of beer on the wall! 2 bottles of beer on the wall, 2 bottles of beer! Take one down, pass it around, 1 bottle of beer on the wall! 1 bottle of beer on the wall, 1 bottle of beer! Take one down, pass it around, no more bottles of beer on the wall! $
0 コメント:
コメントを投稿