[#5219] ruby for perl users — Noritsugu Nakamura <nnakamur@...>

35 messages 1997/11/09
[#5220] Re: ruby for perl users — tateishi@... (Tateishi Takaaki) 1997/11/09

立石です。

[#5224] Re: ruby for perl users — shugo@... (Shugo Maeda) 1997/11/09

前田です。

[#5243] read from subprocess — Kikutani Makoto <kikutani@...>

きくたにです。

17 messages 1997/11/10
[#5250] Re: read from subprocess — matz@... (Yukihiro Matsumoto) 1997/11/11

まつもと ゆきひろです

[#5300] Win32用の Rubyでの tkの使用 — Tomoaki Takebayashi <tota@...>

はじめまして、竹林といいます。

14 messages 1997/11/15
[#5302] Re: Win32用の Rubyでの tkの使用 — WATANABE Hirofumi <eban@...> 1997/11/15

わたなべです.

[#5303] Re: Win32 用の Rubyでの tkの使用 — Tomoaki Takebayashi <tota@...> 1997/11/15

[#5305] Re: Win32 用の Ruby での tk の使用 — aito@...5sun.yz.yamagata-u.ac.jp 1997/11/17

あ伊藤です.

[#5320] ruby 1.0-971118 released — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

20 messages 1997/11/18
[#5337] Re: ruby 1.0-971118 released — WATANABE Hirofumi <watanabe@...> 1997/11/19

わたなべです.

[#5340] Re: ruby 1.0-971118 released — matz@... (Yukihiro Matsumoto) 1997/11/19

まつもと ゆきひろです

[#5398] 配列への追加について — a-nisida@... (西田明良)

はじめまして、西田@初心者 と申します。m(..)m

16 messages 1997/11/22

[ruby-list:5448] Re: [Summary 01/02] Re: ruby for perl users

From: shugo@... (Shugo Maeda)
Date: 1997-11-26 16:23:40 UTC
List: ruby-list #5448
前田です。

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 書けますか?
|
|もちろん書くことが出来ます。
|ただし、まだプロバイダのところにインストールされて
|いないかもしれません (^^;

そういう時は自分でホームディレクトリにインストールして
しまいましょう:-)

-- 
前田 修吾

In This Thread