永井@知能.九工大です.
From:
eiichi_maekawa@...
Subject: [ruby-list:46168] Re: 文字から16進への変換方法について
Date: Mon, 6 Jul 2009 18:30:35 +0900
Message-ID: <
OF667B9E0F.0DE8AB87-ON492575EB.00333E0F-492575EB.00343BE4@...>
> るびきちさんの助言で、なんとか、変換処理作りましたが、
> もう少し、Rubyらしいコーディングにしたいのですが、
> どなたか、ご教示願います。
せっかく教えていただいた "%#x" の # の意味くらいは
自分で調べた方がいいとは思いますが...
str = '船海システムG' であるとするとき,
block を与えない each_byte が Enumerable::Enumerator オブジェクトを
返すようになったバージョンの Ruby であれば,
--------------------------------------------------------------------
str.each_byte.map{|x| '%x' % x}.join('')
--------------------------------------------------------------------
なんてのでもいいでしょうね.
block を与えないと each_byte がエラーになるようなバージョンの Ruby なら,
--------------------------------------------------------------------
(s = ''; str.each_byte{|x| s << '%x' % x}; s)
--------------------------------------------------------------------
とかでしょうか.
--
永井 秀利 (
nagai@...)
九州工業大学 大学院情報工学研究院 知能情報工学研究系 知能情報メディア部門