ruby

このエントリーをはてなブックマークに追加
1名無しさん
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
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ぽいの?>9
119: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:[email protected]">
<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
21perlならコウデスカ?: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
また明日よろしくおねげぇしますー
おやすみなさいー
3128:2000/09/20(水) 02:33
がんばってね>30
3223: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でも同じ。やっぱ正規表現使う。
3323:2000/09/20(水) 02:37
・・・ってスマ。逝ってくる。
3418:2000/09/20(水) 02:52
>>29
>1は「引数がなければ」、に訂正どえすか、どひー
あ、言葉が足りなかった。
0→「引数がなければ」に訂正したつもり。

>>28
正解。

まぁ、何にしてもがんばれや。
このスレで25みたいにrubyに興味持つ奴も出てくるだろうし。
3523: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
(これはいけてるにちがいねぇ・・ぶつぶつ)
4123:2000/09/21(木) 00:50
>>40
あー書き方悪かった。
ファイルはプログラム実行時に引数で指定でいいよ。
それと変数を省略しないほうがRubyらしい。
とはいえ仕様を満たしているのでオーケー。次の課題2をがんばって。
42新米るびー:2000/09/21(木) 01:05
ふむふむ、変数を省略しない、、なるほど。
<(`へ´) 了解しましたッ>41

課題2は・・うーん・・えへへ(汗)
4323:2000/09/21(木) 09:43
>>42
読み込み中の行番号は$.で参照できたりする。(あんまり$系変数は使いたくないけど)
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を素朴に実装するなら、コメント開始記号と終了記号を正規表現でチェックして、
コメントの外にいる状態、コメントの中にいる状態を切り替え、
中にいる状態の時にのみ読み込んだ行を出力、となるかな。
ってプログラミング暦何ヶ月くらいなんですか?>新米るびーさん
4423:2000/09/21(木) 09:58
ついでに。
普通はここまでうるさく書かないけれど、getsのレシーバを明確にすると
while line = ARGF.gets
http://www.ruby-lang.org/ja/man-1.4/variable.html#argf

課題3
サイトのアクセスログがある。データ形式はCSVで以下の通り。
日付@` リファラ@` リモートホスト@` ユーザエージェント
例)
2000/09/21 09:55:00@` 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)
ではダメなの?

4623: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
こっちにもぜひ答えを書き込んでくださいな
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の良さを素直に認めたらどうです?
8478: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の一番弱いところですな)からでしょ?

とりあえず使ってもいないのにあーだこ−だ言うのはやめてくれ
9795: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 の ____ に S をあてはめる。
              ↑
これ、隠しページなんだ。わかる人いるかな?
101名無しさん:2000/11/07(火) 00:03
ここまで書かれてわからない奴がこのスレッドにいたら
お目にかかりたい。
102厨房:2000/11/07(火) 00:07
俺わかんねえ…。鬱だ。志納。
103名無しさん:2000/11/07(火) 00:26
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?
111106: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
会社の利益に繋がらないような製品には反対するだろ。
115114:2000/11/21(火) 17:06
リロードするの忘れてた(w
116名無しさん
あg