[#954] Rational — keiju@... (Keiju ISHITSUKA)

けいじゅ@SHLジャパンです.

23 messages 1996/10/30
[#955] Re: Rational — matz@... (Yukihiro Matsumoto) 1996/10/30

まつもと ゆきひろです.

[#968] Re: Rational 1996/10/31

けいじゅ@SHLジャパンです.

[ruby-list:939] Re: hajimemashite

From: Itsuro Saito <saito@...>
Date: 1996-10-30 05:13:07 UTC
List: ruby-list #939
斎藤@東大電子情報です.原さん,松本さんありがとうございます.

> |○日本語の2バイトコードに対応したクラスはありますか
> |正規表現やlength等で2バイトコードに対応したのがあれば良いんですけどあ
> |りますか.lengthぐらいなら自分で作ってもそれほどでもないのですけど.
> Regexp(正規表現)がいちおうEUCとSJISに対応しています.JISには
> 対応していません.一応と言うのは(いわゆる)半角かなには対応し
> ていないからです.
これだけあれば十分です.JISにもとなるとじゃあMIMEにもとなりますし(:-p),
このようなコード変換は外部で持っていた方が良いと思います.同時に多言語
処理を行うのでは無ければ出入口で変換してしまえば良いだけの事ですから.

> |○コマンドラインオプションの-Kcはどの処理で有効なのでしょうか
> Regexpとパーザで有効です.-Keなどとすると全角の変数とかも使
> えるようです.あまりテストされていないのでお勧めしませんけど.
ある表現でやって見たら動いていなかったので正規表現では対応していないも
のと勘違いしていました.他のでは正常に動き日本語を識別していました.

で,動いていなかったものですけど,
--------------------------------------------------
#!/usr/local/bin/ruby
print "/全{1,3}/\n" if /全{1,3}/ =~ "全全全"
print "/[全]{1,3}/\n" if /[全]{1,3}/ =~ "全全全"
--------------------------------------------------
を動かすと下の行の分しか表示されないですね.やはりバグでしょうか.

> |○Stringクラスでfreezeした文字列を変更しても例外が発生しない様ですが
> perlなどとことなりrubyでは文字列は文字列オブジェクトへの参照
> です.freezeは文字列オブジェクトをfreezeするもので変数を
> freezeするものではありません.
> |--------------------------------------------------
> |#!/usr/local/bin/ruby
> |str = "test1\n"
> |str.freeze
> |str = "test2\n"
> |--------------------------------------------------
> というプログラムでは変数strの指している変数オブジェクトが
> "test1\n"から"test2\n"に変わったことを意味します.文字列の内
> 容の変更とはchop!などで発生します.
なるほど.オブジェクト本体と参照とをごっちゃにしてたのが勘違いしていた
原因でした.となると逆にfreezeを外すにはdupしたものを同じ変数に代入し
てやればいい訳ですね.

> --------------------------------------------------
> #!/usr/local/bin/ruby
> str = "test1\n"
> str.freeze
> str.chop!
> --------------------------------------------------
> ではどうでしょう.
これですと例外が発生しました.

> |基本的にはネストになっているのでネストの構造を読み込む方法があればそれ
> |で解決するかとは思うんですけど,正規表現ではネストの構造は取り出せそう
> |にないですし….なにか良い方法は無いのでしょうか.
> 簡単なパーザのクラスがあれば良いなとは昔から思っています.が,
> 思っているだけでなかなか進みません.現状ではやはりgetcで一文
> 字ずつ読み込んで来るしかないようです.
やはりそうなんですか.;_;
まあgetcベースで動いている事は動いているのでそのまま置いておきます.
----------------------------------------------------------------------
                                            Saito Itsuro
                                  E-Mail:saito@miv.t.u-tokyo.ac.jp
----------------------------------------------------------------------

In This Thread