Dies Aliquanti

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

iEPGデジタル関連 to_s()の修正 RubyでPVRを作ろう!その10


(いい加減飽きてきましたが)二つの予約が同じかを判定する、メソッド::sameProgram?()を追加。Rubyの習慣に習い、predicateは最後を?にしてみる。個人的には、sameProgramPとしたいところ…Ver1(iEPGDで無い場合)のデータの場合はbuggy...
 
  def sameProgram?( other )
    format = ""
    if self[ "version:"] == "2" && other[ "version:"] == "2"
      format = "%station:%program-id:"
    else
      format = "%station:%program-title:%D%T"
    end
    return self.to_s( format ) == other.to_s( format )
  end #def sameProgram?( other )
 
to_s()もちょっとまずそうな所に気がついて変更。RubyはShallow copyだった… orz
 
  def to_s( format = nil )
    if format != nil
      str = String.new( format )
      for key, value in @formatHelper
        str.gsub!( /#{key}/, value )
      end
      return str 
    end
   :
  (あとは同じ)


コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://diesaliquanti.blog.fc2.com/tb.php/643-e97af79c
この記事にトラックバックする(FC2ブログユーザー)

FC2Ad

まとめ

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。