2009年09月

FizzBuzz問題。 
 
今更感がありますが。 
 
情報系の学部を出てるのにこれができない人がいるとは信じられませんね(本当?)。 
 
IF文を使って。
[ruby]
for i in 1..100
if i % 5 == 0
if i % 3 == 0
puts "FizzBuzz"
end
puts "Buzz"
elsif i % 3 == 0
puts "Fizz"
else
puts i
end
end
[/ruby]
 
こちらはcase文を使ってみました。
[ruby]
for i in 1..100
case true
when i % 3 == 0 && i % 5 == 0
puts "FizzBuzz"
when i % 3 == 0
puts "Fizz"
when i % 5 == 0
puts "Buzz"
else
puts i
end
end
[/ruby]
 
おまけ 
3の倍数と3が付く時バカになります。。。(古い)
[ruby]
puts "3の倍数と3が付く時バカになります。"

strings = ["じゅう","いち","に","さん","よん","ご","ろく","なな","はち","きゅう"]
for i in 1..100
case true
when i % 3 == 0
#3で割り切れるとき
if i.to_s.length == 1
#一桁の時
puts strings[i] + "!"
else
#二桁の時
if i.to_s[0,1] == "1"
#一の位が「1」の時
puts strings[0] + strings[i.to_s[1,1].to_i] + "!"
else
#一の位が「1」以外の時
if i % 30 == 0
#30,60,90の時は「じゅう」がダブってしまうので別にする
puts strings[i.to_s[0,1].to_i] + strings[i.to_s[1,1].to_i] + "!"
else
puts strings[i.to_s[0,1].to_i] + "じゅう" + strings[i.to_s[1,1].to_i] + "!"
end
end
end
when i.to_s[0,1] == "3" || i.to_s[1,1] == "3"
#3がつくとき(常に二桁)
if i.to_s[0,1] == "1"
#一の位が「1」の時
puts strings[0] + strings[i.to_s[1,1].to_i] + "!"
else
#一の位が「1」以外の時
puts strings[i.to_s[0,1].to_i] + "じゅう" + strings[i.to_s[1,1].to_i] + "!"
end
else
puts i
end
end
[/ruby]

↓実行結果↓ 
1
2
さん!
4
5
ろく!
7
8
きゅう!
10
11
じゅうに!
じゅうさん!
14
じゅうご!
16
17
じゅうはち!
19
20
にじゅういち!
22
にじゅうさん!
にじゅうよん!
25
26
にじゅうなな!
28
29
さんじゅう!
さんじゅういち!
さんじゅうに!
さんじゅうさん!
さんじゅうよん!
さんじゅうご!
さんじゅうろく!
さんじゅうなな!
さんじゅうはち!
さんじゅうきゅう!
40
41
よんじゅうに!
よんじゅうさん!
44
よんじゅうご!
46
47
よんじゅうはち!
49
50
ごじゅういち!
52
ごじゅうさん!
ごじゅうよん!
55
56
ごじゅうなな!
58
59
ろくじゅう!
61
62
ろくじゅうさん!
64
65
ろくじゅうろく!
67
68
ろくじゅうきゅう!
70
71
ななじゅうに!
ななじゅうさん!
74
ななじゅうご!
76
77
ななじゅうはち!
79
80
はちじゅういち!
82
はちじゅうさん!
はちじゅうよん!
85
86
はちじゅうなな!
88
89
きゅうじゅう!
91
92
きゅうじゅうさん!
94
95
きゅうじゅうろく!
97
98
きゅうじゅうきゅう!
100
このエントリーをはてなブックマークに追加

XMLマスターベーシックの試験範囲にはXSLTも入っているのですが、XSLTを使ってXML文書を別のフォーマットに変換するのが若干面倒です。 
 
JavaとかRubyでプログラム組むのも手間がかかるので、誰か変換ソフト作ってないかなーと探してたらありましたよ。その名もtransformer。 
 
使い方はとても簡単。 
 
・変換対象のXML文書 
・XSLTスタイルシート
・出力先フォルダ
・変換後のファイルの拡張子(.htmlとか) 
 
の4つを指定すれば変換してくれます。 
 
文字コードとしてはShift-JISとUNICODEが使えるようです。簡単なXML文書を変換してみました。 
 
xslt
 
【変換前のXML文書】 
[xml]


XMLマスターベーシック
XMLマスタープロフェッショナル

[/xml]
 
【XSLTスタイルシート】 
[xml]









タイトル





[/xml]
 
【変換後のHTML】
[html]

タイトル


 XMLマスターベーシック

タイトル


 XMLマスタープロフェッショナル

[/html]
 
このソフトを使って何かしようっていうのは厳しいですが、XMLマスターの試験勉強のためにXSLTを使ってXML文書を変換したい!という時には便利ですね。
このエントリーをはてなブックマークに追加

会社でXMLを使った業務に携わるため、XML関係の研修を受けるんですが、代わりに資格取れって言われました。 
 
とりあえずエントリー資格であるXMLマスター:ベーシックを10/3に受けてきます。 
 
たまたまこの資格は業務で使いそうなので先回りでとろうと思ってたのでいいんですが、取れって言うからには試験代くらい出して欲しいよ。 
 
ウチの家計は火の車。 
 
対策本としてはいくつか出てますが実質以下の二冊ですかね。 
 
値段高いよなぁ。二冊で7,000円とかキツイ。試験代15,750円もバカにならん。。。
 
受験後に本のレビューと結果でも載せてみます。 
 
ベーシックの次はXMLマスター:プロフェッショナル(アプリケーション開発)取得予定です。
 
 
このエントリーをはてなブックマークに追加

↑このページのトップヘ