[[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