前田です。 In message "[ruby-list:5447] [Summary 01/02] Re: ruby for perl users" Noritsugu Nakamura <nnakamur / mxq.meshnet.or.jp> wrote: |= 空リストはどう書けば良いのでしょうか? | |Perl では () でしたが、 |ruby では [] で表します。 |= 連想配列の初期化はどうやれば良いのでしょうか? | |Perl では |%hash = ('smtp' , '25', 'finger', '79'); |などとしていましたが、ruby では、 | |rbc0> hash = {"smtp" => 25, "finger" => 79} |{"smtp"=>25, "finger"=>79} Perl5だと[]や{}で配列/連想配列を生成して,リファレンスを 返すようですね。 |= for($i = 0; $i < 3; $i += 0.5) {print "$i\n";} は | どう書けば良いでしょうか? 素直に考えれば,whileを使って i = 0 while i < 3 p i i += 0.5 end でしょうか。 class Interval include Enumerable attr_reader :start, :stop, :step def initialize(start, stop, step = 1) if step == 0 or (step < 0 and start < stop) or (step > 0 and start > stop) raise ArgumentError, "invalid argument: start=#{start} stop=#{stop} step=#{step}" end @start = start @stop = stop @step = step end def inspect "#@start..#@stop/#@step" end def each i = @start op = if @step > 0 then :<= else :>= end while i.send(op, @stop) yield(i) i += @step end end end みたいなのを定義しておいて, for i in Interval.new(0, 2.5, 0.5) p i end という手もありますね。 |if も値を持てるので if foo then bar else baz end と |書くことができます。 <-- ほげ? |= 日本語はうまく扱えるのでしょうか? | |もちろん使えます。EUC を使っているかぎり |何も考えなくても大丈夫です。(正規表現でも?) 正規表現もです。 正規表現オブジェクトごとに文字コードを指定する こともできます。 /^[あ-お]/e |・豊富な(今後どんどん増えるであろう)拡張モジュールが使えます。 ちなみに今X-Toolkitのモジュールを書いています:-) |= ruby で CGI 書けますか? | |もちろん書くことが出来ます。 |ただし、まだプロバイダのところにインストールされて |いないかもしれません (^^; そういう時は自分でホームディレクトリにインストールして しまいましょう:-) -- 前田 修吾