出沢です
こんなかなぁ
class Mime < String
def header_encode_jp(charset="iso-2022-jp",pre="",len=76,sep="\n ",encoding="B")
def header_encode (charset ,pre="",len=76,sep="\n ",encoding="B")
def header_decode
end
header_encode_jp は charset に合わせて nkf で変換。
header_encode は charset が必須の引き数。文字コード変換無し。
いずれも戻り値は String
ん、待てよ。
これだと
str=Mime.new
str="文字列"
str.header_encode_jp
はエラーか。。。
代入演算子の再定義って出来ないでしたよね。
str=Mime.new("文字列")
はやだなぁ。。。
だめか、よい案かと思ったのですが。
ではやはり Stringへの追加メソッドにさせて頂いて、
案1
def mime_encode_jp(charset="iso-2022-jp",pre="",len=76,sep="\n ",encoding="B")
def mime_encode (charset ,pre="",len=76,sep="\n ",encoding="B")
def mime_decode
end
案2
def mime_encode(pre="",len=76,sep="\n ",encoding="B",charset="iso-2022-jp")
として、charset="iso-2022-jp" のときだけ、NKF かならず変換。
encoding と charset と何方の方が順番が早い方が良いのかな。
# 代入演算子の再定義調べていて ||= を発見した。
# 知らなかった。
# これで隨分書きやすくなる。