<< DX3エラッタリスト 12 20 2011 | main | そうだ、 Ruby 、やろう "Twitter してみる" >>
Twitter


スポンサーサイト

一定期間更新がないため広告を表示しています

posted by: スポンサードリンク | - | | - | - | - | - |

< to &lt; & &lt; to <

この記事、タイトル書くにも大変である。< to &lt; & &lt; to < と表示されているはずだが、これを書くには &lt; to &amp;lt; &amp; &amp;lt; to &lt; と書かなければならない。なお、このサンプルもまた……ひえええ。

前に書いたコードで < を &lt; にするものがある。また、逆は HTML なら容易である。

さて、その相互変換を前者が基本問題、後者が応用問題として昨日の授業で出題された。C で書く課題である。それをそのまま C でやってみたら問題になりそうなので Ruby でやってみた。簡単。

C だと (正規表現を使わないと) 何が面倒なのか。基本問題は簡単。応用問題は & の次に何が来るのか分からないという問題が発生する。そうするとバックトラックとかも考えないといけない。面倒! しかし、正規表現を使うとこれだけ。 Ruby で書いてみた。

s = gets()
puts s.gsub("&gt;",">").gsub("&lt;","<").gsub("&quot;", "¥"").gsub("&apos;","'").gsub("&amp;", "&")

これだけ。基本問題は逆をするだけ。簡単にできちゃう。そう、 Ruby ならね (iPhone ムーヴ)。

多分、 C でも正規表現ライブラリを使えば簡単にできるんだろうけど。それを探してきて使える実力のある人は多分 if/switch 連打でやってもいけるだろうし。

posted by: しゅんしゅん | 学び | 02:08 | comments(0) | trackbacks(0) | - | - |

スポンサーサイト

posted by: スポンサードリンク | - | 02:08 | - | - | - | - |
コメント
 









トラックバック
 
http://syun2ej.jugem.jp/trackback/3341