[#44431] コンストラクタの引数について&インスタンス変数の持ち方について — Akira Hayakawa <ruby@...>
度々オブジェクト指向についての質問ですいません。
17 messages
2008/01/04
[#44433] Re: コンストラクタの引数について&インスタンス変数の持ち方について
— Yukihiro Matsumoto <matz@...>
2008/01/04
まつもと ゆきひろです
[#44453] RSS取得時<enclosure>タグでエラー? — "garyo hosu" <garyohosu@...>
garyoです。いつもお世話になっております。
5 messages
2008/01/08
[#44463] [ANN] Rails勉強会@東京 第26回のお知らせ — "MOROHASHI Kyosuke" <moronatural@...>
各位
1 message
2008/01/11
[#44464] [ANN] rcairo 1.5.1 — Kouhei Sutou <kou@...>
須藤です。
5 messages
2008/01/11
[#44469] pdf 作成 ライブラリ — "Luiz Aoki" <luizruby@...>
はじめまして、青木ルイスと申します、
14 messages
2008/01/12
[#44479] ファイル出力時のprintについて
— m-hatake@...
2008/01/16
畠山と申します。
[#44481] Re: ファイル出力時のprintについて
— KIMURA Koichi <kimura.koichi@...>
2008/01/16
木村です。
[#44483] format %g の丸めについて — 山崎雄介 <y-yamasaki@...>
山崎(ゆ)です。
14 messages
2008/01/16
[#44517] www.ruby-lang.org/ja/man/ を静的HTMLに変更 — Kazuhiro NISHIYAMA <zn@...>
西山和広です。
6 messages
2008/01/20
[#44536] カタカナ→ひらがな変換 — "Hideo Konami" <konami@...>
小波です。
8 messages
2008/01/25
[ruby-list:44539] Re: カタカナ→ひらがな変換
From:
"NARUSE, Yui" <naruse@...>
Date:
2008-01-25 13:01:23 UTC
List:
ruby-list #44539
成瀬です。
rubikitch@ruby-lang.org wrote:
>> EUC-JP のカタカナを1文字ずつ切り出してから2バイトに分けて,
>> 最初の1バイトから1 を引いて,ふたたび合わせてやればバイト
>> 構成上はうまくいくはずだと思うのですが,
>
> ふぅむ、文字コードの構造に依存していますね。
>
>> character encodings differ (ArgumentError)
>
> こういう場合はforce_encodingでエンコーディングを指定しないといけません。
str += v # character encodings differ (ArgumentError)で落ちる
の時、 str は EUC-JP、v は ASCII-8BIT になっています。
異なるエンコーディングなので結合できません。
この方法でしたら、以下の通りかな。
#!/usr/local/bin/ruby
# -*- coding: euc-jp -*-
def kata2hira(jstr)
str = ""
range = 'ァ' .. 'ン'
delta = 'ァ'.ord - 'ぁ'.ord
jstr.each_char do |c|
if range.include?(c) then
c = (c.ord - delta).chr(Encoding::EUC_JP)
end
str += c
end
str
end
str = 'abcあいうえおアイウガギヒャョンん'
puts kata2hira(str)
ポイントは、
* 'ァ'.ord で 42401 が返ってくる
* (c.ord - delta).chr(Encoding::EUC_JP) でエンコーディングを引数に取る
といったあたりでしょうか。
>> またコマンドライン引数の -Ke を外すとカタカナの範囲チェック
>> を完全にスルーしてしまって,何もやってくれません。
>
> 仕様です。-Keかmagic commentを使ってください。
-K オプションは互換性のために存在するオプションなので、新しく書くスクリ
プトでは推奨されていません。magic comment を使ってください。
> 実はこの問題はString#trで間に合います。
>
> jstr.tr('ア-ン', 'あ-ん')
jstr.tr('ァ-ン', 'ぁ-ん')
ですね、「ぁ」は幼音です。
なお、Unicode の場合、「ン」を「ヴ」に、「ん」を \u3094 にするのもいいで
しょう。
--
NARUSE, Yui <naruse@airemix.com>
DBDB A476 FDBD 9450 02CD 0EFC BCE3 C388 472E C1EA