[#46143] るびま 標準添付ライブラリ紹介 第3回のサンプル EUC-JPの結果 — eiichi_maekawa@...

62 messages 2009/07/02
[#46153] Re: るびま 標準添付ライブラリ紹介 第3回のサンプル EUC-JPの結果 — "NARUSE, Yui" <naruse@...> 2009/07/03

成瀬です。

[#46165] Re: に関する1.8.6→1.8.7または、1.9へのバージョンアップ — eiichi_maekawa@... 2009/07/05

前川です。

[#46281] rubyの変数の扱いについて — "前川 映一" <eiichi_maekawa@...> 2009/08/17

前川です。

[#46283] Re: rubyの変数の扱いについて — "(株)ネットフォレスト 植田裕之" <ueda@...> 2009/08/17

植田と申します。

[#46146] 文字変換 — eiichi_maekawa@...

16 messages 2009/07/03
[#46147] Re: 文字変換 — Hidetoshi NAGAI <nagai@...> 2009/07/03

永井@知能.九工大です.

[#46148] Re: 文字変換 — eiichi_maekawa@... 2009/07/03

前川です。

[ruby-list:46182] Re: メソッドの扱いについて・ruby-list:46179

From: eiichi_maekawa@...
Date: 2009-07-07 22:55:15 UTC
List: ruby-list #46182
るびきちさん、ありがとうございました。


rubikitch@ruby-lang.org wrote on 2009/07/07 21:31:01:

> From: eiichi_maekawa@mhi.co.jp
> Subject: [ruby-list:46176] メソッドの扱いについて
> Date: Tue, 7 Jul 2009 13:37:01 +0900

> るびきちです。

> > 前川です。
> >
> > 文字変換関連、どうにか、メソッドを作りこみましたが、
> > 作ったメソッドを、外部参照で、使用できるようにしたいのですが。
> >
> > クラスにした場合、
> >
> > class MyConversion
> >   def initialize(data)
> >    @data = data
> >   end
> >
> >   def textToHex
> >     @data.unpack('H*')[0] #成瀬さん ありがとうございました。
> >   end
> >
> >   def hexToText
> >     @data.gsub(/../){|c| c.hex.chr} #永井さん ありがとうございました。
> >   end
> > end
> >
> > 呼ぶ側は、
> >
> > result = MyConversion.new('船')
> > result1 = result.textToHex
> >
> > あるいは、
> >
> > result1 = MyConversion.new('船').textToHex
> >
> > ですが、メソッドとして、外部参照するような
> > 使い方(メソッドの延長??) MyConversion.textToHex(データ) に
> > は、できないでしょうか。
> > たとえば、
> >
> > convFunc = MyConversion.new #MyConversion を使用するための定義(実態の
作成)
> > result = convFunc.textToHex('船')    または、'船'.convFunc.textToHex
> > result1 = convFunc.textToHex('長崎')         '長崎'.convFunc.textToHex
> >
> > というような具合に。

> できますよ。

> # メソッド名は単語を_で区切るのがRubyのやり方です。

> # -*- coding: euc-jp -*-
> class MyConversion
> def text_to_hex(data)
> data.unpack('H*')[0]
> end

> def hex_to_text(data)
> data.gsub(/../){|c| c.hex.chr}
> end
> end
> MyConversion.new.text_to_hex('船') # => "c1a5"

> # クラスメソッドを定義するのはこうする
> class MyConversion
> def self.text_to_hex(data)
> data.unpack('H*')[0]
> end

> def self.hex_to_text(data)
> data.gsub(/../){|c| c.hex.chr}
> end
> end
> MyConversion.text_to_hex('船') # => "c1a5"

> --
> rubikitch
> Blog: http://d.hatena.ne.jp/rubikitch/
> Site: http://www.rubyist.net/~rubikitch/
> Twit: http://twitter.com/rubikitch/
> 『Ruby逆引きハンドブック』
http://d.hatena.ne.jp/rubikitch/20090525/rubybook


In This Thread

Prev Next