Tips

現在のメソッド名取得とメソッド名 #{ruby}

現在のメソッド名取得:__method__, __callee__ メソッド名での実行:__send__前回、前々回と投稿したメソッドはこんな感じにも実装できる。 class String def centerb(width, padding = ' ') justb(__method__, width, padding) end def rjustb(width, padd…

全半角混在揃え(バイト指定)※center追加 #{ruby1.9}

メール投稿テスト(続き)String#rjustb, String#ljustb に続き、String#centerb の実装です。2回の投稿にわけた理由は特になしw そもそもメール投稿テスト用ネタなので。 class String def centerb(width, padding = ' ') center(width-(bytesize-size), p…

全半角混在揃え(バイト指定)

class String def rjustb(width, padding = ' ') rjust(width-(bytesize-size), padding) end def ljustb(width, padding = ' ') ljust(width-(bytesize-size), padding) end end # 比較出力 def disp(strs, title="") puts (" %s "%title).center(40, '*') …

使用上の注意

結構使うと思うので違いをしっかり押さえとこ。 # -*- coding: Windows-31J -* # 最後の要素が存在する場合 "1,2,3,4,5".split(',') # => ["1", "2", "3", "4", "5"] "1,2,3,4,5".split(',', -1) # => ["1", "2", "3", "4", "5"] # 最後の要素が存在しない場…

シフトJISの『tr』によるひらがな→カタカナ変換は要注意(0x837Fに割り当てないよ〜)

知らなかった・・・ 【シフトJIS】 ひらがな:[ぁ-ん]([0x829F-0x82F1]) カタカナ:[ァ-ン]([0x8340-0x8393])、[ヴ-ヶ](0x8394-0x8396) 文字コード数比較: # -*- coding: Windows-31J -*- ## ひらがな文字数[ぁ-ん] 0x82F1 - 0x829F # => 82 ## カタカナ…

DATAと__END__

DATA スクリプトの __END__ (スクリプトの終り) 以降をアクセスする File オブジェクト。 注意: * DATA.rewind で移動する読みとり位置は、__END__ 直後で はなく、スクリプトファイルの先頭です。 * スクリプトが標準入力から読みこまれた場合は標準入力に…

エンコーディングと名前の一覧

## ロードされているエンコーディングの一覧 Encoding.list ## ロードされているエンコーディングの名前の一覧 Encoding.name_list # -*- coding: Windows-31J -*- ## ロードされているエンコーディングの数と一覧 Encoding.list.size # => 83 Encoding.list…