Ruby

こんなこともできるのねってお話。

たとえば、以下のようなものを書いたとする。

class String
 def iWebGet(i)
   html = nil
   ua = Hash.new
   ua["User-Agent"] = "".getAgent
   ua["Accept-language"] = "ja;q=1.0, en;q=0.5"
   begin
     timeout(i){
       html = open(self,ua) do |f|
         charset = f.charset # 文字種別を取得
         f.read # htmlを読み込んで変数htmlに渡す
       end
     }
   rescue TimeoutError => e
     html = e
   rescue => e
     html = e
   end
   html
 end
end

これ、みればわかるけど応答が String とは限らないのよね。たとえば判定はこう書けるのよ。

x = "http://192.168.1.10/".iWebGet(1)
if x.class == String
  p x
else # 以下はエラー
  p "Error"
  p x
end

そう。 オブジェクト.class で、Stringクラスかどうか判定できる のね。

興味があったらいろいろ試してね。


トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-04-15 (金) 10:38:03