[#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:5446] [Summary 02/02] Re: ruby for perl users
From:
Noritsugu Nakamura <nnakamur@...>
Date:
1997-11-26 13:38:29 UTC
List:
ruby-list #5446
中村です。
「Perl ユーザの素朴な疑問集」後編です。
=== 制御構造 ===
= for ループはあるのでしょうか?
Perl では、
for($i = 0; $i < 3; $i++) { }
などとしていましたが、ruby では、
for i in 0..2
end
とします。
= for($i = 0; $i < 3; $i += 0.5) {print "$i\n";} は
どう書けば良いでしょうか?
= foreach ループはあるのでしょうか?
Perl では、
foreach (@array) { }
などとしていましたが、ruby では、
array.each do |item|
...
end
や
for item in array
...
end
とします。
array = ["a", "b", "c"]
array.each do |item|
print item, "\n"
end
for item in array
print item, "\n"
end
= while(<>) { ... } という書式を良く使っていたのですが、
こういうのはどうやって書いたら良いでしょうか?
while gets
...
end
となります。
= 連想配列のすべての key に対して処理を行うには
どうやったら良いでしょうか?
Perl では、
$hash = %hash = ('smtp' , '25', 'finger', '79');
foreach (keys %hash) {
print "$_ $hash{$_}\n";
}
などとしていましたが、ruby では、
hash = {"smtp" => 25, "finger" => 79}
hash.each { |x, y| print x, " ", y, "\n"}
などとします。(ウソかも)
=== クラス ===
=
=== 拡張モジュール ===
= 私も拡張モジュールを書いてみたいのですが、
簡単に書けるでしょうか?
ruby の拡張モジュールは書きやすいと評判ですので、
C 言語が使える人はチャレンジしてみて下さい。
=== エラー ===
= undefined local variable or method `hoge' for main(Object)
とか怒られてしまったのですが、なぜでしょうか?
rbc0> print bar
ERR: undefined local variable or method `bar' for main(Object)
ローカル変数は初期化をしてから使って下さい。
= str = '1'; str = a / 3; print str, "\n"
を実行すると -:1: NameError: undefined method `/' for "1"(String)
と怒られてしまいます。なぜでしょうか?
rbc0> str = '1'
"1"
rbc0> str = str / 3
ERR: undefined method `/' for "1"(String)
文字列クラスの / というメソッドとしては
何も割り当てられていないからです。
Perl では数値と文字列が勝手に変換されるので
意識する必要がありませんが、ruby は勝手に
変換しません。気をつけましょう。
= ruby/tk を動かしたら lib/ruby/tkcore.rb:29:in `print': Errno::E000: Error 0
などと言われて終了してしまいました。なぜでしょうか?
なぜ? (EWS4800 の特定の機種)
=== その他 ===
= 何かいろいろ変数の種類があるみたいで、
ややこしくありませんか?
それは誤解です。ローカル変数、グローバル変数、
インスタンス変数、疑似変数、定数しかありません。
= local や my はありますか?
Perl では何もしないとグローバル変数になってしまいますが、
ruby ではグローバル変数を使わない限りグローバルには
ならないので、ありません。(というか必要ない、
Tcl ユーザの場合: global というのはありますか?)
= パッケージはありますか?
ある?ない?必要なし。
= セミコロンを行末につけても良いのでしょうか?
つけても構いませんが…。
= end っていうのに慣れないのですが、どうしたら良いでしょうか?
そのうち、すぐに慣れるでしょう。
= i++ とかいう表現は出来ないのでしょうか?
今のところできません。
= 三項演算子はありますか?
if も値を持てるので if foo then bar else baz end と
書くことができます。 <-- ほげ?
= サブルーチンと引数の扱いは、どうやったら良いのでしょうか?
だいたい、
rbc0> def f(a, b=9)
rbc1> a + b
rbc1> end
nil
rbc0> f(1, 2)
3
rbc0> f(3)
12
みたいに使います。基本的には値渡しです。
ただ引数は呼び出し側と同じオブジェクトを参照しているので、
引数のオブジェクトの状態を変更するメソッドを呼び出した場合は、
呼び出し側のオブジェクトにも影響を与えます。
つまり、
def upcase1(str)
return str.upcase # upcase はレシーバの状態を変更しない
end
def upcase2(str)
return str.upcase! # upcase! はレシーバの状態を変更する
end
str = "abc"
p upcase1(str) # "ABC"
p str # "abc"
p upcase2(str) # "ABC"
p str # "ABC"
となります。
= ファイルの扱いはどうやったら良いのでしょうか?
だいたい,
f = open(filename)
while line = f.gets
print line
end
f.close
みたいに使います。ruby では例外処理機能が
あるので、
f = open(filename)
begin
while line = f.gets
print line
end
ensure
f.close
end
のように例外処理をすることが多いです。
= 日本語はうまく扱えるのでしょうか?
もちろん使えます。EUC を使っているかぎり
何も考えなくても大丈夫です。(正規表現でも?)
文字コードの変換には Kconv が利用できます。
require "kconv"
str = "ほめぱげ"
print Kconv::tosjis(str), "\n"
= オブジェクト指向なぞというものを知らないのですが、
そんな私でも ruby を使うとうれしいことがありますか?
・オブジェクト指向しなくても使えます。
・豊富な(今後どんどん増えるであろう)拡張モジュールが使えます。
・
= Mule を使用しているのですか、ruby-mode というのはありますか?
ソースファイルの sample に ruby-mode.el があります。
= デバッガありますか?
あります。...
= ruby で CGI 書けますか?
もちろん書くことが出来ます。
ただし、まだプロバイダのところにインストールされて
いないかもしれません (^^;
中村典嗣 E-mail: nnakamur@mxq.meshnet.or.jp