勢いでpyspa challenge 第1回やってみた
Web巡回してたら、pyspa challenge 第1回やってみた - テックノート@ama-chというエントリを発見。
勢いでRubyでやってみた。
後悔はしていないけど、2問目は最高にごり押し3問目は出来ていない・・・。
注意点としては、問題に則して解答しているのではなく、問題の雰囲気を大切にしています。
1問目
大切にした事: 文字コードを1つ後ろにずらすという事
"oxro`".split("").map{|c| (c[0]+1).chr }.join
2問目
大切にした事: ドキュメントから"pyspa"の出現位置を探って、"pyspa"を出力
class String def doc require 'open-uri' res = open("http://www.ruby-doc.org/core/classes/#{self.upcase}.html").read raise "NOT FOUND" if res =~ /<title>ERROR<\/title>/ return res end end doc = "IO".doc puts "pyspa".split("").collect{|c| doc[doc.index(c)].chr}.join
こちらの問題は別にIOじゃなくてもいいんですが、ruby-docを参照してきています。
riを使わなかったのは、出力が遅いからです。
例外も超簡易版ですが、問題の本質ではないのでご容赦を。
こんな感じでやってみました、もっともっとスマートに書ける気がしますが、力不足です・・・。
もっと勉強せねば。
rubyにも__doc__みたいなのあってもいいのになぁ。