[#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
前田です。
[#5225] Re: ruby for perl users
— tateishi@... (Tateishi Takaaki)
1997/11/09
立石です。
[#5248] Re: ruby for perl users
— HYOUDOU Kouichi /note <hyoudo@...>
1997/11/10
兵藤です
[#5249] Re: ruby for perl users
— Masaki Suketa <masaki.suketa@...>
1997/11/11
助田です
[#5231] Re: ruby for perl users
— Shin-ichiro HARA <sinara@...>
1997/11/10
原です。
[#5243] read from subprocess — Kikutani Makoto <kikutani@...>
きくたにです。
17 messages
1997/11/10
[#5250] Re: read from subprocess
— matz@... (Yukihiro Matsumoto)
1997/11/11
まつもと ゆきひろです
[#5255] Re: read from subprocess
— Masaki Suketa <masaki.suketa@...>
1997/11/11
助田です。
[#5256] Re: read from subprocess
— matz@... (Yukihiro Matsumoto)
1997/11/11
まつもと ゆきひろです
[#5257] Re: read from subprocess
— Masaki Suketa <masaki.suketa@...>
1997/11/11
助田です
[#5258] Re: read from subprocess
— matz@... (Yukihiro Matsumoto)
1997/11/11
まつもと ゆきひろです
[#5259] Re: read from subprocess
— Kikutani Makoto <kikutani@...>
1997/11/11
きくたにです。
[#5246] byte compile and ruby embeded system — Kikutani Makoto <kikutani@...>
きくたにです。
5 messages
1997/11/10
[#5284] sub — "Motoyuki S." <moto@...>
もと@大計といいます.
9 messages
1997/11/13
[#5294] binmode (Re: rbc-0_5.gz) — toyofuku@...
豊福@パパイヤです。
5 messages
1997/11/14
[#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
あ伊藤です.
[#5318] when should I call Tk mainloop? (Re: Win32 用の Ruby での tk の使用 )
— Kikutani Makoto <kikutani@...>
1997/11/18
きくたにです。
[#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
まつもと ゆきひろです
[#5344] Re: ruby 1.0-971118 released
— Shin-ichiro HARA <sinara@...>
1997/11/19
原です。
[#5347] Re: ruby 1.0-971118 released
— matz@... (Yukihiro Matsumoto)
1997/11/19
まつもと ゆきひろです
[#5350] Re: ruby 1.0-971118 released
— Masaki Suketa <masaki.suketa@...>
1997/11/19
助田です
[#5322] Questions on specs and threads — Kazuhisa Yanagawa <katze@...>
はじめまして. 読んでただけで今まで書いたことが無かったものです.
9 messages
1997/11/18
[#5323] Re: Questions on specs and threads
— matz@... (Yukihiro Matsumoto)
1997/11/18
まつもと ゆきひろです
[#5336] DBM.delete_if bug ? — 藤本尚邦 / FUJIMOTO Hisakuni <hisa@...>
はじめまして、藤本といいます。最近 ruby を使い始めまして、とってもとっ
8 messages
1997/11/18
[#5338] Re: DBM.delete_if bug ?
— matz@... (Yukihiro Matsumoto)
1997/11/19
まつもと ゆきひろです
[#5349] [How] Send ITERATOR BLOCK to "super" — Shin-ichiro HARA <sinara@...>
原です。
4 messages
1997/11/19
[#5373] オブジェクト指向用語 — KIMURA Koichi <kkimura@...>
13 messages
1997/11/20
[#5380] Hash bug ?? — tamori@...
11 messages
1997/11/21
[#5381] Re: Hash bug ??
— matz@... (Yukihiro Matsumoto)
1997/11/21
まつもと ゆきひろです
[#5398] 配列への追加について — a-nisida@... (西田明良)
はじめまして、西田@初心者 と申します。m(..)m
16 messages
1997/11/22
[#5403] Re: 配列への追加について
— WATANABE Hirofumi <eban@...>
1997/11/22
わたなべです.
[#5406] Re: 配列への追加について
— Shin-ichiro HARA <sinara@...>
1997/11/23
原です。
[#5407] Re: 配列への追加について
— matz@... (Yukihiro Matsumoto)
1997/11/23
まつもと ゆきひろです
[#5410] Re: 配列への追加について
— Shin-ichiro HARA <sinara@...>
1997/11/24
原です。
[#5414] Re: 配列への追加について
— matz@... (Yukihiro Matsumoto)
1997/11/25
まつもと ゆきひろです
[#5409] rbc.rb output — Noritsugu Nakamura <nnakamur@...>
11 messages
1997/11/24
[#5412] Re: rbc.rb output
— shugo@... (Shugo Maeda)
1997/11/24
前田です。
[#5418] Re: rbc.rb output
— keiju@... (石塚圭樹 )
1997/11/25
けいじゅ@日本ラショナルソフトウェアです.
[#5413] ruby for Linux RPM — Shoichi OZAWA <ozawa@...>
こんにちは 小澤@日立 です。
6 messages
1997/11/25
[#5419] blade mirrors netlab — Shin-ichiro HARA <sinara@...>
原です。
10 messages
1997/11/25
[#5420] ruby-1.0-971125 released (Re: blade mirrors netlab)
— matz@... (Yukihiro Matsumoto)
1997/11/25
まつもと ゆきひろです
[#5444] Re: Mail to HTML — takagi@... (TAKAGI Hiromitsu)
> >> 試みに ML のメールを HTML 化するスクリプトを書いてみています.
14 messages
1997/11/26
[#5453] Re: Mail to HTML
— Shin-ichiro HARA <sinara@...>
1997/11/27
原です。
[#5454] Re: Mail to HTML
— WATANABE Hirofumi <watanabe@...>
1997/11/27
わたなべです.
[#5470] communicate with subprocess part II — Kikutani Makoto <kikutani@...>
きくたにです。
8 messages
1997/11/28
[#5471] Re: communicate with subprocess part II
— Masaki Suketa <masaki.suketa@...>
1997/11/28
助田です
[ruby-list:5447] [Summary 01/02] Re: ruby for perl users
From:
Noritsugu Nakamura <nnakamur@...>
Date:
1997-11-26 13:39:11 UTC
List:
ruby-list #5447
中村です。
「Perl ユーザの素朴な疑問集」を一応まとめてみました。
HTML 化していたのですが、なかなか作業が進まないので
とりあえずプレインテキストで。
皆様の答えをおおいに活用させていただきました。
改行が多いせいか、長くなってしまいましたので、
2 分割にします。
# japan.lang.ruby でなく japan.comp.lang.ruby でした。
=== 文字列 ===
= 文字列の連結はどうやれば良いのでしょうか?
Perl では、
$str = "foo" . "bar";
などとしていましたが、ruby では、
rbc0> str = "foo" + "bar"
"foobar"
とします。これは文字列型(クラス)の + という
メソッドに連結が割り当てられているからです。
= 文字列の繰り返しはどうやれば良いのでしょうか?
Perl では、
$str = "foo" x 5;
などとしていましたが、ruby では、
rbc0> str = "foo" * 5
"foofoofoofoofoo"
とします。
= 文字列の展開がされないようですが、どうしてですか?
Perl では、
$name = "Nakamura";
print "I am $name.\n";
などとしていましたが、ruby では、
name = "Nakamura"
print "I am #{name}.\n"
のように${と}でかこってください。
グローバル変数($nameとか)やインスタンス変数(@nameなど)の場合は、
print "I am #$name.\n"
のように{と}を省略することができます。
= 部分文字列を切り出したいのですが、どうやれば良いのでしょうか?
Perl では substr を使いますが、ruby では、
self[offset, length]
で部分文字列を取り出すことができます。
self[firstIndex...lastIndex]
でも OK です。
rbc0> str = "0123456789"
0123456789
rbc0> str[2,3]
234
rbc0> str[2..4]
234
= 文字列比較の eq, ne とか、あるのでしょうか?
文字列の比較も数値同様 == でOKです。
rbc0> str1 = "abc"
abc
rbc0> str2 = "abc"
abc
rbc0> str1 == str2
TRUE
ruby では == は同値を意味します。
オブジェクトの同一性を調べたい場合は equal? を使って
ください。また、lt gt le ge <=> に相当するものとして
それぞれ < > <= >= <=> があります。
ただし、ruby では Perl のように数値と文字列が勝手に
変換されることはないので、1 == "1" は Perl では 1(真)、
ruby では FALSE になります(print では to_s が暗黙の
うちに呼ばれますが、これは例外です)
= chop, chomp はあるのでしょうか?
chop は str.chop で OK です。
rbc0> "abc".chop
ab
chomp は、Version 1.1 からは使うことが出来ます。
= 置換はどうやったら良いのでしょうか?
Perl の s///; や s///g; や tr///; に相当するものとして、
文字列クラスに sub, gsub, tr などのメソッドがあります。
rbc0> "abcabc".sub("a", "d")
"dbcabc"
rbc0> "abcabc".gsub("a", "d")
"dbcdbc"
rbc0> "abcabc".tr("abc", "ABC")
"ABCABC"
! がついていると文字列の中身を書き換えます。
rbc0> str = "abcabc"
"abcabc"
rbc0> str.sub("a", "d")
"dbcabc"
rbc0> str
"abcabc"
rbc0> str.sub!("a", "d")
"dbcabc"
rbc0> str
"dbcabc"
= Perl の ord はあるのでしょうか?
str.unpack("C") で OK です。でも、str[0] の方が簡単です。
rbc0> "A".unpack("C")
[65]
rbc0> "A"[0]
65
ちなみに str = "A" のとき str[0] は 65(Fixnum) になりますが、
str[0, 1] は "A"(String) になります。
= pack("C", char) はどう書けば良いのでしょうか?
[char].pack("C") で OK です。でも、char.chr の方が簡単です。
C 言語に慣れてる人の場合は sprintf "%c", char の方が
しっくりくるでしょうか。
rbc0> char = 65
65
rbc0> [char].pack("C")
"A"
rbc0> char.chr
"A"
rbc0> sprintf "%c", char
"A"
=== 配列 ===
= 配列の初期化とアクセスはどうやれば良いのでしょうか?
rbc0> array = ["a", "b", "c"]
["a", "b", "c"]
rbc0> array[0]
"a"
rbc0> array[0] = "A"
"A"
rbc0> array[0]
"A"
= 配列の連結はどうやれば良いのでしょうか?
+ を使います。これは配列クラスの + という
メソッドに連結が割り当てられているからです。
rbc0> ["a", "b", "c"] + ["d", "e", "f"]
["a", "b", "c", "d", "e", "f"]
= 配列の要素数はどうやったら知ることが出来ますか?
Perl では $#array や @array などでしたが、
ruby では配列クラスに length もしくは size という
メソッドがあります。
rbc0> array = ["a", "b", "c"]
["a", "b", "c"]
rbc0> array.length
3
rbc0> array.size
3
= 空リストはどう書けば良いのでしょうか?
Perl では () でしたが、
ruby では [] で表します。
= 多次元配列を扱うことは出来ますか?
できます。
=== 連想配列 ===
= 連想配列の初期化はどうやれば良いのでしょうか?
Perl では
%hash = ('smtp' , '25', 'finger', '79');
などとしていましたが、ruby では、
rbc0> hash = {"smtp" => 25, "finger" => 79}
{"smtp"=>25, "finger"=>79}
とします。ちなみに Perl では、
%hash = (smtp , 25, finger , 79);
と書けますが、ruby では
hash = {smtp => 25, finger => 79}
とすることはできません。(できるけど違う意味です)
= 連想配列のアクセスはどうやれば良いのでしょうか?
rbc0> hash["ftp"] = 21
21
rbc0> hash["ftp"]
21
とします。