山川です はやくも2回目の書き込みです。
さきほどは euc コードのまま送ってしまいました。
お詫びします。
中村さんへの回答です。
perl から ruby へのロゼッタストーンになれば
幸いです。
「ここから」「ここまで」を切り取って実行して
みてください。間違いなどがあるかも知れません
が試練だと思ってください。
### 今度はだいじょうぶだろうか
#----------------------ここから
#!/usr/local/bin/ruby
#中村です。
#Perl ユーザが感じそうな素朴な疑問を挙げてみました。
#オブジェクト指向とか、そういう以前の話です。
#マニュアルとかユーザガイドとか FAQ 見れば解決する
#問題かも知れませんが、多分こういうのをすぐに疑問に
#感じると思うので…。
#答えも書けると良いのですが、
#うまい答えは私には書けません (^_^;
print "------------------------- No 1\n"
#◎ Perl だと
#$name = "Nakamura";
#print "I am $name\n";
#とか書いてましたが、
#ruby ではどう書くのですか?
#print "I am $name\n";
#と書いてもうまくいきませんが。
name="Nakamura"
print "I am #{name}\n"
print "------------------------- No 2\n"
#◎ 文字列の連結
#$hoge = "foo" . "bar";
#ってやっていましたが、ruby ではどう書くの?
#hoge = ""
hoge = "aaaaa" + "bbbbbbbbbbbbb"
print hoge, "\n"
print "------------------------- No 3\n"
#◎ 部分文字列を切り出したいのですが、substr は?
print hoge[4..6],"\n"
print "------------------------- No 4\n"
#◎ chop, chomp はありますか?
print hoge.chop, "\n"
print "------------------------- No 5\n"
#◎ 文字列比較 eq, ne とかありますか?
## String クラスメソッド <=> が使える
## == > >= < <= も使える
print "------------------------- No 6\n"
#◎ 配列の初期化とアクセスはどうやったら?
hoge=[]
print "------------------------- No 7\n"
#◎ 連想配列の初期化は?
#%hogehoge = ('smtp' , '25', 'finger', '79');
#のような…。
#◎ 連想配列のアクセスは?
a={"a" => 1,"b" => 2,"c" =>3 }
a.each {|x,y| print x," ",y,"\n"}
a["a"]="oooo"
print a["a"],"\n"
print "------------------------- No 8\n"
#◎ for($i = 0; $i < 3; $i++) { }
#とかはどう書けば良いの?
for i in 0..2
print i,"\n"
end
print "------------------------- No 9\n"
#◎ foreach は使えるの?
b=[]
b[0]=4
b[1]=1
b[2]=2
b[3]=3
b.each {|x| print x,"\n"}
print "------------------------- No 10\n"
#◎ while(<>) { }
#とか良く使っていたのですが、
#これはどう書いたら良いの?
##while gets
## print
##end
print "------------------------- No 11\n"
#◎ 置換したいのですが、s///; tr///; に
#相当するものはありますか?
a="abcabc"
print a.tr("abc","ABC"),"\n"
print a.gsub("a","d"),"\n"
print "------------------------- No 12\n"
#◎ 日本語は使えるの?
## もちろんです 日本生まれですから
## 私もこの点に期待して勉強しています
print "------------------------- No 13\n"
#◎ サブルーチンと引数の扱い方は?
def f(a,b=9)
a+b
end
print f(1,2),"\n"
print f(3),"\n"
print "------------------------- No 14\n"
#◎ ファイルの扱い方は?
##i=open("rb")
##while i.gets
## print
##end
#-------------------ここまで