ruby
- 1 名前:名無しさん投稿日: 2000/09/17(日) 22:42
- rubyの板どこだい?
なかったらここでrubyの話してよ。
- 2 名前:名無しさん投稿日: 2000/09/18(月) 00:53
- #/usr/local/bin/ruby
print "Content-type: text/html; charset=EUC-JP\n\n"
print "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\n"
print "<HTML LANG=\"ja\">\n"
print "<HEAD>\n"
print "<META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=EUC-JP\">\n"
print "<LINK REV=\"MADE\" HREF=\"mailto:aho\@aho.co.jp\">\n"
print "<LINK REL=\"Index\" HREF=\"../index.html\">\n"
print "<TITLE>#{title}</TITLE>\n"
print "</HEAD>\n"
print "<BODY>\n"
print "逝ってよし\n"
print "</BODY>\n"
print "</HTML>\n"
exit
- 3 名前:名無しさん投稿日: 2000/09/18(月) 00:56
- プログラミング板でスレがあったはず
- 4 名前:名無しさん投稿日: 2000/09/18(月) 00:57
- require 'cgi'
title = '逝ってよし'
が抜けてた
- 5 名前:あっくん投稿日: 2000/09/18(月) 02:11
- ruby の利点をまったく使ってないな(ワラ
- 6 名前:名無しさん投稿日: 2000/09/18(月) 07:10
- 3さん、さんきゅー
プログラム板で発見。
よってここは終了なり。
- 7 名前:名無しさん投稿日: 2000/09/18(月) 12:54
- なんかすげー自分勝手でなヤツだな
- 8 名前:名無しさん投稿日: 2000/09/18(月) 20:54
- すまん。
しかし、あるとわかったのにスレッドわけて続けても
しょうがないので許してちょ。
プログラム板のるびーはここよん。
http://piza.2ch.net/test/read.cgi?bbs=tech&key=965986588&ls=50" target="_blank">http://piza.2ch.net/test/read.cgi?bbs=tech&key=965986588&ls=50
- 9 名前:>2投稿日: 2000/09/19(火) 03:04
- #!/usr/local/bin/ruby
require 'cgi'
cgi = CGI.new("html4Tr")
cgi.out("charset"=>"euc-jp") do
cgi.html("lang"=>"ja") do
cgi.head(){
cgi.meta("HTTP-EQUIV"=>"Content-Type", "CONTENT"=>"text/html; charset=EUC-JP") +
cgi.link("REV"=>"MADE", "HREF"=>"mailto:hoge\@foobar.com") +
cgi.link("REL"=>"Index", "HREF"=>"../index.html") +
cgi.title(){ "逝ってよし" }
} +
cgi.body() do
"逝ってよし"
end
end
end
- 10 名前:新米るびー投稿日: 2000/09/19(火) 07:35
- それのがrubyぽいの?http://tako.2ch.net/test/read.cgi?bbs=perl&key=969198148&st=9&to=9&nofirst=true" target="_blank">>9
- 11 名前:9投稿日: 2000/09/19(火) 11:17
- cgi.rbの標準的使用法ってだけ。こうするとHTMLの構文を間違えるとプログラムも動かない。
HTML知っている人間には冗長な書き方に見えるね。
cgi.rbはPerlのcgi.pmと同等のものだけど、RubyだとRuby特有のブロックを使った記述になる。
- 12 名前:名無しさん投稿日: 2000/09/19(火) 11:19
- ---itte.erb---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML LANG="ja">
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=EUC-JP">
<LINK REV="MADE" HREF="mailto:aho@aho.co.jp">
<LINK REL="Index" HREF="../index.html">
<TITLE>#{title}</TITLE>
</HEAD>
<BODY>
<%1.upto 7 do |size| %>
<p><font size="<%=size%>">逝ってよし</font></p>
<%end%>
</BODY>
</HTML>
- 13 名前:新米るびー投稿日: 2000/09/19(火) 21:01
- ふむふむふむ。
cgi.rbか。
覚えておくッス。>11
- 14 名前:新米るびー投稿日: 2000/09/19(火) 21:13
- やっぱり、あげちゃえー。
もっとrubyの話聞かせておくれ。
- 15 名前:名無しさん投稿日: 2000/09/20(水) 00:12
- >>14
ただ聞かせてって言われても・・・
何か質問があれば答えるけど。
- 16 名前:新米るびー投稿日: 2000/09/20(水) 01:39
- んじゃ、逆に、
へっぽこ新米るびーに「これこれの処理を書け」てな具合の
入門編の課題だしておくれ。
研究してここのスレに提出するので評価してー。
# なお、当方、C言語しかしりません。
# CGI関連はPerlの入門書に載ってる超へっぽこカウンターを
# 自サイトに置いてニヤニヤしているようなレベルで、
# ようするにド素人です。てへっ☆
# 最初はおてやわらかにおねげぇします
面倒?
- 17 名前:名無しさん投稿日: 2000/09/20(水) 01:44
- 課題1(超単純(ワラ)
コマンドラインから引数を渡し
それが1なら「逝ってヨシ!」
0なら「オマエモナー」と出力する物を完成せよ。(ワラ
- 18 名前:名無しさん投稿日: 2000/09/20(水) 01:52
- ↑引数が「なければ」に訂正する(ワラ
- 19 名前:新米るびー投稿日: 2000/09/20(水) 01:58
- (`ε´)> 了解しましたっ
マジでやってきますんで明日くらいまでおまちくださいっ
- 20 名前:名無しさん投稿日: 2000/09/20(水) 02:12
- >19
リファレンス読みつつ今やりましょう(笑
http://www.ruby-lang.org/ja/man-1.4/index.html" target="_blank">http://www.ruby-lang.org/ja/man-1.4/index.html
- 21 名前:perlならコウデスカ?投稿日: 2000/09/20(水) 02:20
- if($ARGV[0] == 1){
print '「逝ってヨシ」';
}else{
print '「オマエモナー」';
}
exit
- 22 名前:なんで抜けたの?(;´Д`)投稿日: 2000/09/20(水) 02:20
- exit;
- 23 名前:名無しさん投稿日: 2000/09/20(水) 02:22
- 続けざまに課題2
引数で指定したファイルまたは標準入力からCのソースを読み込み、
コメントの中だけを標準出力に出力するツールを作ってみて。
- 24 名前:新米るびー投稿日: 2000/09/20(水) 02:24
- なんか、うーん・・
できましたけど、
これではなんとも・・
さすがに・・
新米とはいえ・・
面目ない・・
# -----------------------------
argv = ARGV[0].to_i
if argv == 0 then
print "オマエモナー\n"
elsif argv == 1 then
print "逝ってよし\n"
else
print "0か1だけにせんかいワレッ\n"
end
- 25 名前:名無しさん投稿日: 2000/09/20(水) 02:26
- >>23
perlなら正規表現使えば簡単だけど
rubyはどうなのかな。
俺もちょっと触ってみたくなりましたヽ(´ー`)ノ
今から落としてみます。
- 26 名前:新米るびー投稿日: 2000/09/20(水) 02:26
- げっ、1やってるうちに課題が増えてるッス(汗)(笑)
お仕事ありますんで、2は明日でゆるしてくだせー
- 27 名前:新米るびー投稿日: 2000/09/20(水) 02:27
- ちぅか、新米るびーにできるかしら、2はむずかしそうッス
- 28 名前:名無しさん投稿日: 2000/09/20(水) 02:29
- >if argv == 0 then
ここは文字列として比較しないといけないんじゃないかな?
18もその辺を(初心者向けに)考慮して訂正したような気がする・・・たぶん(笑)
- 29 名前:新米るびー投稿日: 2000/09/20(水) 02:30
- あ、1は「引数がなければ」、に訂正どえすか、どひー
- 30 名前:新米るびー投稿日: 2000/09/20(水) 02:31
- また明日よろしくおねげぇしますー
おやすみなさいー
- 31 名前:28投稿日: 2000/09/20(水) 02:33
- がんばってね>30
- 32 名前:23投稿日: 2000/09/20(水) 02:35
- 18の条件のやつのワンライナー
if ARGV.shift then print '逝ってヨシ!' else print 'オマエモナー' end
printが二つあるのがいやなら
print a = if ARGV.shift then '逝ってヨシ!' else 'オマエモナー' end
>>25
Rubyでも同じ。やっぱ正規表現使う。
- 33 名前:23投稿日: 2000/09/20(水) 02:37
- ・・・ってスマ。逝ってくる。
- 34 名前:18投稿日: 2000/09/20(水) 02:52
- >>29
http://tako.2ch.net/test/read.cgi?bbs=perl&key=969198148&st=1&to=1&nofirst=true" target="_blank">>1は「引数がなければ」、に訂正どえすか、どひー
あ、言葉が足りなかった。
0→「引数がなければ」に訂正したつもり。
>>28
正解。
まぁ、何にしてもがんばれや。
このスレで25みたいにrubyに興味持つ奴も出てくるだろうし。
- 35 名前:23投稿日: 2000/09/20(水) 03:53
- 課題2はちょっと飛びすぎなので、課題1.5
指定ファイルを読み込み、"ドキュソ"という単語があったら
目ざとくその行番号とともに"ドキュソ発見!!"と出力するのを。
Rubyチュートリアルを読めば作り方はわかるはず。
- 36 名前:名無しさん投稿日: 2000/09/20(水) 04:40
- Hello worldとかじゃないのがいかにも2chっぽくていい(笑)
- 37 名前:名無しさん投稿日: 2000/09/20(水) 09:18
- プログラミング技術板行けよ
- 38 名前:名無しさん投稿日: 2000/09/20(水) 14:39
- 徐々にCGIの話にもっていくから待ってくれ。
- 39 名前:新米るびー投稿日: 2000/09/21(木) 00:16
- 本日もよろしくおねげーしますだっ!!
新米るびーもCGI書けるようになりたいッス
さっそく昨日の課題1やりなおしからっ!!
課題1
コマンドラインから引数を渡し
それが1なら「逝ってヨシ!」
引数がなければ「オマエモナー」
と出力する物を完成せよ。
------------------------------------
argv = ARGV[0].to_i
if argv == 1 then
print "逝ってヨシ!\n"
else
print "オマエモナー\n"
end
-----------------------------
むむ、、、?
「引数が1以外なら」というコードになってしもうた?
んでも、出題の意図からして、
これでいいのかしらー!?。
いや、まてよ、文字列との比較か、えーと・・
わかんなくなっちゃったさー
とりあえず、つぎいってみるッス!
# なんだか21番さんのperlとそっくりよー
- 40 名前:新米るびー投稿日: 2000/09/21(木) 00:26
- ●課題1.5●
指定ファイルを読み込み、"ドキュソ"という単語があったら
目ざとくその行番号とともに"ドキュソ発見!!"と出力せよ。
-------------------------------------------------------
print "ドキュソなファイル名を入力してね\n"
filename = gets
filename.chop!
line = 1
f = open( filename )
while f.gets
print line , ": ドキュソ発見!!\n" if /ドキュソ/
line += 1
end
----------------------------------------------------
フフフ ( ̄ー ̄)y-o00
(これはいけてるにちがいねぇ・・ぶつぶつ)
- 41 名前:23投稿日: 2000/09/21(木) 00:50
- >>40
あー書き方悪かった。
ファイルはプログラム実行時に引数で指定でいいよ。
それと変数を省略しないほうがRubyらしい。
とはいえ仕様を満たしているのでオーケー。次の課題2をがんばって。
- 42 名前:新米るびー投稿日: 2000/09/21(木) 01:05
- ふむふむ、変数を省略しない、、なるほど。
<(`へ´) 了解しましたッhttp://tako.2ch.net/test/read.cgi?bbs=perl&key=969198148&st=41&to=41&nofirst=true" target="_blank">>41
課題2は・・うーん・・えへへ(汗)
- 43 名前:23投稿日: 2000/09/21(木) 09:43
- >>42
読み込み中の行番号は$.で参照できたりする。(あんまり$系変数は使いたくないけど)
http://www.ruby-lang.org/ja/man-1.4/variable.html#dot" target="_blank">http://www.ruby-lang.org/ja/man-1.4/variable.html#dot
よって
while line = gets
print "#{$.}: ドキュソ発見!!\n" if /ドキュソ/ =~ line
end
ちなみにgetsは、
プログラム実行時の第一引数で指定されたファイルから、
引数がなければ標準入力から、読み込むようになってる。
んで、ワンライナーにすると
$ruby -n -e 'print "#{$.}: ドキュソ発見!!\n" if /ドキュソ/ =~ $_'
課題2を素朴に実装するなら、コメント開始記号と終了記号を正規表現でチェックして、
コメントの外にいる状態、コメントの中にいる状態を切り替え、
中にいる状態の時にのみ読み込んだ行を出力、となるかな。
ってプログラミング暦何ヶ月くらいなんですか?>新米るびーさん
- 44 名前:23投稿日: 2000/09/21(木) 09:58
- ついでに。
普通はここまでうるさく書かないけれど、getsのレシーバを明確にすると
while line = ARGF.gets
http://www.ruby-lang.org/ja/man-1.4/variable.html#argf" target="_blank">http://www.ruby-lang.org/ja/man-1.4/variable.html#argf
課題3
サイトのアクセスログがある。データ形式はCSVで以下の通り。
日付, リファラ, リモートホスト, ユーザエージェント
例)
2000/09/21 09:55:00, http://www.2ch.net/" target="_blank">http://www.2ch.net/, giko.2ch.net, Mozilla/4.0 (compatible; MSIE 5.01; Windows 98)
このようなログを読みこんで、
各アクセスのユーザエージェントだけをばーっと出力するプログラムを作って。
課題2よりやさしいはず。
- 45 名前:名無しさん投稿日: 2000/09/21(木) 12:46
- >>32
> print a = if ARGV.shift then '逝ってヨシ!' else 'オマエモナー' end
「a = 」がついてるのはどうして?
「print if 式」とparseされて文法エラーになるのを防ぐ?
print(if ARGV.shift then '逝ってヨシ!' else 'オマエモナー' end)
ではダメなの?
- 46 名前:23投稿日: 2000/09/21(木) 15:39
- >>45
あーそうです。
単に括弧でくるみたくなかったから代入しただけです。
特に意味はありません。
- 47 名前:名無しさん投稿日: 2000/09/21(木) 18:31
- http://piza.2ch.net/test/read.cgi?bbs=tech&key=965986588&ls=50" target="_blank">http://piza.2ch.net/test/read.cgi?bbs=tech&key=965986588&ls=50
こっちにもぜひ答えを書き込んでくださいな
- 48 名前:新米るびー投稿日: 2000/09/21(木) 20:16
- うーん、勉強になりますねぇ>43.44.45.46
ただルビー本読んでるより楽しいノ。
>$ruby -n -e 'print "#{$.}: ドキュソ発見!!\n" if /ドキュソ/ =~ $_'
1行でおさまっちゃう課題だったのかーー
ちょっとショーック。
>ってプログラミング暦何ヶ月くらいなんですか?>新米るびーさん
ええと、正直に告白しますと、2年(!)です、ハハハ(汗)
といってもプログラミングを勉強しようと思って
初めてパソコンを買ったのがおよそ2年前てことですけどねー
おととしの今ごろはたしかC言語の入門書を一生懸命読んでました
なお、rubyのプログラミング暦なら0ヶ月ですよー
仕事でプログラマもどきなこともしたことあるんですけど、
2ヶ月位の短い間でした。
というわけで、ほとんど独学で
2年もたつのに、ヘボイことこのうえないデス(^_^;
永久新米モードから脱出したいデスネ、ハイ。
というわけで課題2を研究してきまふ。
素朴な実装というやつならなんとなくできそうナノ。
- 49 名前:新米るびー投稿日: 2000/09/21(木) 23:13
- ●課題2●
引数で指定したファイルまたは標準入力からCのソースを読み込み、
コメントの中だけを標準出力に出力するツールをつくれ
----------------------------------------------------------
OUT = 0
IN = 1
state = OUT
while line = ARGF.gets
# "/*" を発見
if line =~ /\/\*/ then
line = $'
state = IN
end
# "*/" を発見
if line =~ /\*\// then
line = $`
state = OUT
# "*/" を見つけたらその場でその行は出力
print line + "\n"
end
# コメント行なら出力
if state == IN
then print line
end
end
---------------------------------------------------
なんとかできました☆
引用符の中に*/などをみつけても出力してしまう高機能(笑)(汗)
自信なしッス
- 50 名前:新米るびー投稿日: 2000/09/21(木) 23:14
- ありゃ、長すぎたー、ごめんちゃい。
- 51 名前:新米るびー投稿日: 2000/09/21(木) 23:50
- ●課題3●
サイトのアクセスログがある。データ形式はCSVで以下の通り。
日付, リファラ, リモートホスト, ユーザエージェント
このようなログを読みこんで、
各アクセスのユーザエージェントだけをばーっと出力する
プログラムを作れ
---------------------------------------------------
while line = ARGF.gets
agent = line.split(",")
print agent[3]
end
--------------------------------------
できたー
こうかな。
ルビー本の索引ちょっと不便でない?
調べたいものに限って載ってないョ
- 52 名前:ギコるび(=23)投稿日: 2000/09/22(金) 00:29
- >>47
答えって課題の?
>>48
ま、僕も暦は長いけど上達してないので人のこと言えないです。
最初に覚えた言語であるBASICを使い始めたのが約8年前だから。
うーん。年食ったなあ・・・
ま、Rubyが使いこなせるようになれば、
オブジェクト指向プログラミングもできるようになって、
プログラミングする上で応用が利くようになると思うのでがんばってみてくださいな。
>>49
リテラルの中はいいとして、コメント中に/*が出てくるとまずいですね。
/* foo
/* bar */
など。普通はこんなの書かないけれど。
- 53 名前:ギコるび投稿日: 2000/09/22(金) 00:41
- >>51
オッケーです。
ただagent[3]はUAですが、agentはUAだけではないので他の名前にした方がよいです。
またもやワンライナーだと
$ruby -n -e 'print "#{$_.split(\",\")[3]}"'
>ルビー本の索引ちょっと不便でない?
なので大概はオンラインマニュアルかFAQを参照してます。
課題4
オプションが-mか--monaなら"オマエモナ"、
-gか--gikoなら"逝って良し!!"と出力するプログラムを作れ。
オプションがない時は使い方の出力。
要はライブラリのgetoptsの使い方。
んで、課題5
課題3と同じ形式のログがある。
1.日にちごとのアクセス数を出力
2.ユーザエージェント別のアクセス数を数が多い順に上から10番目まで出力
オプションが-dか--dateの時に1を、-uか--useragent の時に2を行なう。
両方あるなら適当な順番に。オプションがない時には使い方を出力して終了する。
以上の仕様のプログラムを作って。ちょいむずいかな。
- 54 名前:新米るびー投稿日: 2000/09/22(金) 00:46
- >ギコるびさん
はーい。がんばりまーす
あ、ほんとだ、コメント中の/*はおかしくなっちゃうのね。
トホホ
- 55 名前:新米るびー投稿日: 2000/09/22(金) 01:04
- >ギコるびさん
8年ですかー
Windows3.1の時代かな。
本職のプログラマさんですか?
あ、コメント出力プログラム、
/*omae*/ int a; /*mona*/
とかだと mona が無視される・・トホホ
限りなく落第ナリ。今度やりなおしまふ。
UAて、ああ、ユーザエージェント、ああ、なるほど
それもそうスね。気をつけまふ。
課題2再提出・4・5はまた明日やりまーす。
getoptsてのおもしろそう。
おやすみなさい
- 56 名前:新米るびー投稿日: 2000/09/23(土) 13:49
- ●課題4●
オプションが-mか--monaなら"オマエモナ"、
-gか--gikoなら"逝って良し!!"と出力するプログラムを作れ。
オプションがない時は使い方の出力。
----------------------------------------------------------
require "getopts.rb"
opts = getopts("mg", "mona" ,"giko")
def print_help
$stderr.print <<HELP
課題4 ver1.00 のへるぷだでよ。
以下のコマンドラインオプションで
2chスターズのお話しを聞けるだでよ。
-g / --giko : ギコ先生のありがたいお言葉
-m / --mona : もなーさんの華麗なつっこみ
HELP
end
# 引数がおかしかったり、引数がない場合はヘルプだして終了
if opts == 0 || opts == nil then print_help; exit(1) end
if $OPT_m || $OPT_mona then print "オマエモナー\n" end
if $OPT_g || $OPT_giko then print "逝ってヨシ!!\n" end
-----------------------------------------------------------
こんな感じかしらん。どうもC言語風になってしまいまふ。
- 57 名前:名無しさん投稿日: 2000/09/26(火) 12:44
- age
- 58 名前:ギコるび投稿日: 2000/09/27(水) 15:27
- ども。ここ数日間、あまり役に立ちそうもないRubyライブラリなど書いてました。
>>55
いえ、単なる学生です。
中学の時の部活がそっち系だったのでBASICで占いとか益体もないものを作ってました。
OSは懐かしのMS-DOS 5.0A。
>>56
おお、仕様以上に素晴らしい(笑
論理演算は || の代わりに or を使うと(ちょっと)見やすくなります。
まあ、人によるかも知れませんが。
課題5はできたでしょーか?
- 59 名前:新米るびー投稿日: 2000/09/27(水) 22:19
- あ、課題5忘れてました、先生
明日くらいまでおまちくらさい〜
|| → or 了解 (`ヘ´)>
のぉぉぉ、学生さんですか。
こんぷーた暦ながくてうらやましいな。
あ、ところで、
print "ほえ〜"
に括弧や;をつけると、やはりRubyらしくないのでしょうなぁ。
C言語やってると付けたくなるのデス。
ifの条件式にも括弧つけたくなるのデス。
とりあえずアゲちゃう。
- 60 名前:名無しさん投稿日: 2000/09/27(水) 23:47
- >>56
--monamona
の場合?
- 61 名前:名無しさん投稿日: 2000/09/28(木) 02:56
- >>59
たまにCやPerlで書くと、括弧は忘れるしセミコロンは忘れるしで
大変です。
人間、楽なほうにはすぐ慣れちゃうのね。
- 62 名前:名無しさん投稿日: 2000/09/28(木) 07:00
- あげとく
- 63 名前:抹茶投稿日: 2000/09/28(木) 09:06
- > Perlで書くと、括弧は忘れるし
阿呆?
- 64 名前:名無しさん投稿日: 2000/09/28(木) 12:23
- "Cや"の文字が読めないようだ。
- 65 名前:名無しさん投稿日: 2000/09/28(木) 12:49
- >64
抹茶のように都合の悪いトコは読めない阿呆は何処にでも居ます
- 66 名前:名無しさん投稿日: 2000/10/10(火) 15:17
- age
- 67 名前:名無しさん投稿日: 2000/10/10(火) 16:17
- Rubyを使うならPython使う方がマシ
#--------- 終了 -----------
- 68 名前:名無しさん投稿日: 2000/10/27(金) 00:13
- Rubyあげ
- 69 名前:名無しさん投稿日: 2000/10/27(金) 13:22
- Rubyやってみたいんですが、{}ではなくてendとかがなんか嫌なんですが、
慣れでしょうか?
- 70 名前:名無しさん投稿日: 2000/10/27(金) 14:09
- 慣れです
でも do - end は {} に置き換え可ですよ
- 71 名前:名無しさん投稿日: 2000/10/31(火) 07:51
- っつーか、cgiで使えそうなの?
- 72 名前:名無しさん投稿日: 2000/10/31(火) 09:03
- 実用的なRubyスクリプト置いているところは?
- 73 名前:名無しさん投稿日: 2000/10/31(火) 12:51
- ドキュメント見たけど、Perlの方が明らかに楽。
どこが「文法がシンプル」なんだ?
- 74 名前:>73投稿日: 2000/10/31(火) 13:00
- 相手にするなよ
一部のオタが盛り上がってるだけだからすぐ冷める
- 75 名前:>73投稿日: 2000/10/31(火) 15:40
- ま、確かにただ書くだけならPerlのほうが楽だよねぇ。
ちょっと複雑なことやらせようとするときに、オブジェクト化の恩恵を得られることが多くてこれはこれで結構便利よ。
普通の掲示板作るくらいならPerlのほうが楽に書けそう。
用語辞典とか作って、いろんな入力データを処理しようとすると、Rubyで入力データ用のclass作って、to_sとか、(ComparableをMIX-inして)<=>なんかを定義しとくと、本体のスクリプト書く時に無っ茶楽できるけど。
ようは使い所だよな。
- 76 名前:名無しさん投稿日: 2000/10/31(火) 18:35
- んー、Perlでも""とか<=>をoverloadすりゃあええんでないの。
あと、これはRubyに限らない話だけど、
tmpx << tmpy
って式だけ見て何を計算するのかわからない言語は
難しすぎてついてけないよ。
tmpxが数値だったら2進シフト演算で、ストリームだったら
出力するっていう言語あるよね。んで、tmpxってどこで
定義してるねんって思うと、はるか親クラスだったりなんかして、
ディスク中grepして回ったりして、オレって逝ってよし。
a + bとb + aが等しくなかったりすると欝だ紫のう。
Perlの場合、演算子を見れば処理がわかるように、
文字列比較演算子は文字を並べてある(例:cmp)んだってさ。
このセンスにもあきれちゃうけど、好きなやつはどっぷりらしい。
- 77 名前:名無しさん投稿日: 2000/10/31(火) 19:58
- Rubyのオブジェクト指向の恩得を得られる規模のRubyスクリプトは
存在するのでしょうか。
また、これからも存在しうるのでしょうか。
これからの大規模なWebアプリケーションはJava ServletやPHPに
変わっていくでしょうし、小規模な物はすでに大量のスクリプト資産の
あるPerlで作成した方が効率が良いでしょう。
Rubyはどの辺りをターゲットにしているか疑問に思えます。
- 78 名前:名無しさん投稿日: 2000/10/31(火) 20:29
- >>77
>Rubyはどの辺りをターゲットにしているか疑問に思えます。
Perlのソース見ただけでげんなりしてCに逃げてた私みたいなのに
ぴったりです。おかげでかなり大規模なサイト作ってますけど
いまだにPerl書かないですんでます。
- 79 名前:名無しさん投稿日: 2000/10/31(火) 20:50
- それほどPerlとRubyがちがうのかという気もするが
Cの単純作業を長々と書いているのをよむ方がうんざりするぞ。俺は。
Perlに初心者が多いからって偏見だとおもうが。
Shell.pmよんだことあるか?
- 80 名前:>78投稿日: 2000/10/31(火) 21:32
- 大規模なサイトってどんなの?
PerlとRubyじゃ速度は変わらなさそうなのに大規模なサイト
作って大丈夫なの?
どっちかつーとインタプリタなのにオブジェクト指向なRubyの
方が重そうだけどね。
- 81 名前:>73投稿日: 2000/10/31(火) 22:50
- >どこが「文法がシンプル」なんだ?
ドキュソには分からんシンプルさが有るのさ。
けど世の中ドキュソの方が圧倒的に多いから、
結局Perlの方が良いのさ。
- 82 名前:名無しさん投稿日: 2000/10/31(火) 23:15
- 81みたいのが多いのが、Rubyの普及を阻害してんだな。
今更ながらに実感したよ。
- 83 名前:名無しさん投稿日: 2000/10/31(火) 23:25
- >>82
あなたみたいなのが多いからrubyの活動が阻害されるんですよ。
rubyの良さを素直に認めたらどうです?
- 84 名前:78投稿日: 2000/11/01(水) 00:10
- >>80
Perlとの速度比較は検討したこと無いんでわかりません。
あとCのライブラリも併用してるから、遅いかどうかは、、、
Cのライブラリが作りやすいところもRubyのよさだと思う。
- 85 名前:名無しさん投稿日: 2000/11/01(水) 00:29
- PerlにもXSというものがありますが...
- 86 名前:名無しさん 投稿日: 2000/11/01(水) 01:03
- 2chで、「OOPはプログラマのディジタルディバイド」なる発言を読んだが、なるほどと思った。
Perl/Cの人と、Ruby/C++/Javaの人との違いは、要するにそういうことでしょ。
- 87 名前:名無しさん投稿日: 2000/11/01(水) 01:18
- おまえさっきからあおってる馬鹿だろ。
Perlもオブジェクトあるっての。
それすらしらねーようなやつが論評すんじゃねえ。
おまえ程度ならなにつかっても糞プログラムしかかけねーから心配すんな。
- 88 名前:名無しさん投稿日: 2000/11/01(水) 01:40
- >>86
PerlとC信者は、ネスケとIEユーザくらい仲悪いぞ。
Rubyがいまいちメジャーにならないのは、インタプリタでOOPっつーのが
そもそも、あまり必要とされてないからだと思う。
インタプリタでやるようなことなら、Perlでサクッと書いたほうが明らかに賢いから。
- 89 名前:名無しさん投稿日: 2000/11/01(水) 02:07
- boke.
- 90 名前:ぎこるび投稿日: 2000/11/01(水) 02:43
- >>85
xsより書きやすいですよん。Rubyで書くようにCでも書けますから。
>>87
でもPerlはOOしない方が書きやすいですよね。
逆にRubyはOOした方が書きやすい。その違いです。
>>88
すると、僕のようなOOヲタの人口が増えないとダメですね(笑
- 91 名前:つーか、投稿日: 2000/11/01(水) 05:25
- OO理解してる人間のほうが圧倒的に少ない(藁
C++だって結局は A Better C としか利用していないのが大半。
Perlだって同じこと、後付けでOO取り入れた言語は仕様がいびつになるから
ユーザは使いたがらないし使いこなせない。
その程度のことさ。
- 92 名前:名無しさん投稿日: 2000/11/01(水) 08:50
- PerlってOO取り入れたって言うか、モジュールの仕組み使って
OOっぽい事もできますよってだけな気が……
それが、取り入れた、ってことになるのかな?
- 93 名前:名無しさん投稿日: 2000/11/01(水) 10:00
- で、そのOOはどこで役に立つんですか?
インタプリタでOOなんてサーバに負担をかけるだけだと思いますが。
大規模なサイトでC+Rubyなんてよく許可してもらえましたね。
Cは保守が難しい、Rubyは速度的にネックになると欠点だらけのような
気がしますが、クライアントがRubyファンだったのでしょうか。
まあ、Rubyの普及は絶対ありませんからこんな議論自体無意味ですが。
- 94 名前:名無しさん投稿日: 2000/11/01(水) 11:26
- >>91
Perl6に期待するしかないかも。
>>92
「OOっぽい」と「OO」の違いによって重大な影響が出ないように
使うと、「取り入れた」の十分な近似ができる、ってことでは?
使いこなしてる人達にとっては実質的に「OO」なのだけど、
使いこなせない人達にとっては「OOっぽい」にとどまる、とか。
もしかして、スカラ値(整数とか文字列)がオブジェクトに
なってないとOOとは言えない、ってこと?
Perlだと配列やハッシュもオブジェクトではないな。
Perl6では内部的にはオブジェクトとして実装するけど、
構文上はそうでないってのが提案されてたような。
>>93
今どきのPerlスクリプトは、自分で使わない部分で
OOのお世話になってたりすると思う。
LWPとかCGIみたいなモジュールで。
- 95 名前:名無しさん投稿日: 2000/11/01(水) 12:44
- うーん。PerlでOOがそれほど書きづらいとは
おもわなかったが。
package classname;
@ISA=qw(parent1 parent2);
sub new {
...
}
sub method {
...
}
- 96 名前:名無しさん投稿日: 2000/11/01(水) 14:22
- OOにこだわらないですよ。
Perlでちょいちょいと書くのと同じ事がRubyでもできるんだから
まったく同じようなコーディングで比べると速度はPerlに劣るかもしれないが、
Perlに真似できないほどすっきりかけるので、結果的に
速かったり、保守しやすかったりすることもあります。
Perlでやってるひとは、それじゃないと
食べていけない(Rubyの一番弱いところですな)からでしょ?
とりあえず使ってもいないのにあーだこ−だ言うのはやめてくれ
- 97 名前:95投稿日: 2000/11/01(水) 15:14
- >とりあえず使ってもいないのにあーだこ−だ言うのはやめてくれ
Perlを見当ちがいな比較対象にだしている Ruby 支持者に
いってください。
私は「そうはおもわない」と言っただけです。
都合がわるくなったとたんに被害者面しないでください。
- 98 名前:名無しさん投稿日: 2000/11/01(水) 15:20
- お前こそまともにPerl使ってないのにあーだこーだ言うなよ。
滅茶苦茶すっきり書ける。もちろん簡単に。
Rubyユーザの言い分聞いてると、初心者の書いた汚いスクリプトだけで
Perlを批判してるようにしか見えないんだけど。
- 99 名前:名無しさん投稿日: 2000/11/01(水) 17:00
- >>96
> それじゃないと食べていけない
いや、Perlを使ってる人はPerlが好きなんでしょう。
Ruby使ってる人が、Ruby好きなのと同じように。
Geek CodeのP++++の「I don't write Perl. I speak it.」ってことで。
母国語が英語か日本語かにもよるのかな。
Perlだと「print sorted keys of %hash」となって英語的。
Rubyだと「hashのkeysをsortしてprintする」となって日本語的。
主語がない文は、英語だと命令文になるけど、
日本語だとかえって自然になるしね。
96をPerl→英語、Ruby→日本語と置きかえて読んだら面白かった。
- 100 名前:るびっくす投稿日: 2000/11/06(月) 23:33
- 1.%~DwDghfSDfafafdDFSDFsdfXCS~[10,8][2,6]
2.ファイル名は「半角6文字.html」←意味不明な6文字です。
3.f(x, i, j) = x[i,j] x:文字列、i,j:自然数 とおくと、
f("0123456789", 3, 4) = "0123456789"[3,4] = "3456"
一番最初の暗号
%~DwDghfSDfafafdDFSDFsdfXCS~[10,8][2,6])
は
f(f("DwDghfSDfafafdDFSDFsdfXCS", 10, 8), 2, 6)
と書ける。これの値を S とする
4.そして http://www.oishi.info.waseda.ac.jp/~takashi/rubikitch/____.html" target="_blank">http://www.oishi.info.waseda.ac.jp/~takashi/rubikitch/____.html の ____ に S をあてはめる。
↑
これ、隠しページなんだ。わかる人いるかな?
- 101 名前:名無しさん投稿日: 2000/11/07(火) 00:03
- ここまで書かれてわからない奴がこのスレッドにいたら
お目にかかりたい。
- 102 名前:厨房投稿日: 2000/11/07(火) 00:07
- 俺わかんねえ…。鬱だ。志納。
- 103 名前:名無しさん投稿日: 2000/11/07(火) 00:26
- http://www.oishi.info.waseda.ac.jp/~takashi/rubikitch/photo1.jpg" target="_blank">www.oishi.info.waseda.ac.jp/~takashi/rubikitch/photo1.jpg
なんか不気味な写真があるだけじゃん。
20秒ほど無駄にした。鬱出汁嚢。
- 104 名前:ぎこるび投稿日: 2000/11/07(火) 00:30
- >>100
ん?るびきちさん本人ですか?
- 105 名前:名無しさん投稿日: 2000/11/20(月) 19:58
- >>96 言いたいこと&言いたくなる気分は分かるけれども、
非難するばかりでなく、使いたくなるような工夫をしなきゃ。
Pythonだって、Zopeとか無きゃ使おうとも思わなかった人は多いはず。
心あるRubyユーザーなら、どんどんアプリケーションを作って公開するのだ。
あとライブラリがもっと拡充・整備されるといいね。現状でも使いやすいけど、やはり量的にPMに遠く及ばない。
- 106 名前:名無しさん投稿日: 2000/11/21(火) 10:43
- 誰かActiveStateに就職してVisual Ruby作ってくれ。
- 107 名前:名無しさん投稿日: 2000/11/21(火) 13:00
- 就職して社長にでもならなければ無理。
他の人間に反対されるからね。
- 108 名前:>106投稿日: 2000/11/21(火) 13:36
- XのアプリでVisualBasicライクなフリーのIDEがあったよね。
なければ作るってのはどう?
え?オレ・・・オレはダメだよ、アホだし。XどころかUnixのプログラム
で書いたのってUPSデーモンぐらいだもん。
だれか、作ってくんねーかな。
ところで、Xのアプリ開発って全然わかんないんだけど、どんな本から
読み始めたらいいかな?
- 109 名前:名無しさん投稿日: 2000/11/21(火) 14:08
- 河内…?
- 110 名前:名無しさん投稿日: 2000/11/21(火) 15:15
- >108
hanajan?
- 111 名前:106投稿日: 2000/11/21(火) 15:17
- >>107
どうして? ActiveStateの人はRuby嫌いなの?
>>108
あの、Microsoft Visual Studio用の
言語支援ツールの話なんですが……。
- 112 名前:名無しさん投稿日: 2000/11/21(火) 15:50
- >>111
>どうして? ActiveStateの人はRuby嫌いなの?
あんたが思ってるほど需要があるとは思えん。
需要ねぇのに作るほど暇じゃねぇだろ。
- 113 名前:名無しさん投稿日: 2000/11/21(火) 16:30
- >>112
ああそゆこと。ナットク。
元の流れは105でRuby開発環境の拡充が必要→ならVisual Ruby作れって言ったんだ。
需要ねえから作らないだろうでは、話が元に戻っちゃってる。
ActiveStateにRubyを認めさせるには
あとちょっとがんばりゃいいって印象あるけどね。
頭っから反対されるほどひどくはないと思うが、
今日明日の状況で言えば確かに日本でしか知られてないな。
- 114 名前:名無しさん投稿日: 2000/11/21(火) 17:04
- >>111
会社の利益に繋がらないような製品には反対するだろ。
- 115 名前:114投稿日: 2000/11/21(火) 17:06
- リロードするの忘れてた(w
- 116 名前:名無しさん投稿日: 2000/11/22(水) 17:34
- あg