Rubyを愛する奴は人生の敗北者 Part3

このエントリーをはてなブックマークに追加
1ルビ厨な人@敗北者
2:01/09/30 15:08
3chige:01/09/30 15:19
Rudy以外は認めません。
他の言語は氏んでください。
UNIXも氏んでください
>>1
何が人生の敗北者だ。
Ruby使ったこともない癖にほざくなよ ヴォケ
おまけにRuby撲滅スレなんて糞スレのっけてんじゃねーよ
今すぐキエロ
5ルビ厨な人:01/09/30 17:18
>>4
「人生の敗北者でも使えるRuby」の方がよかった?

つか、撲滅スレはDelphi vs VBにのっとられつつあるな、、、
6あぼーん:あぼーん
あぼーん
7あぼーん:あぼーん
あぼーん
8デフォルトの名無しさん:01/09/30 20:18
Ruby 自体はどーでもいーが、教祖と信者とアンチがきもい。
9デフォルトの名無しさん:01/09/30 20:53
>>8 同意するが、その3者(特にアンチ)を除くと関係者居なくなるんじゃないの?
一時期信者の活動が凄かったからなあ。
他のスレまで出張してきて言語仕様が優れているだの、これからはRubyだの。
オブジェクト指向言語の勉強にはRubyが最適だの。
そりゃあ、アンチが量産されるはずだ。
11名無しさん:01/09/30 20:59
最近Rubyまわりで、何か動き有るの?
和訳のRuby本が出たぐらい?
12sage:01/09/30 21:38
>>10
けど,2ch だけのはなしだろ?それって。
世の中は,もっと広いんだよ。
だな(藁)
14デフォルトの名無しさん:01/09/30 22:07
2ch以外でも信者やアンチっているのか?
15デフォルトの名無しさん:01/09/30 22:24
あああああああああああああああああああああああああああああああ
>>14
 「クローズアップ現代」がけっこう信者作った
んじゃない?
17デフォルトの名無しさん:01/09/30 23:11
>>16
 「クローズアップ現代」って信者が作った
んじゃない?
warata
>>14
ここで信者やアンチやってる人は2ch以外の場でもやってるんじゃないかな。
少なくとも俺はそうだ。
和訳のRuby本て何よ?
最初から日本語で書けばいいのに
ガイジンに日本語勉強させるのか?>20
つーか、書いたのって日本人か?
まあ、どうでもいいや
22デフォルトの名無しさん:01/10/01 03:03
>21
(゚Д゚)ハァ?それは英訳じゃないのか?

>22
『Rubyを256+倍使うための本 場外乱闘編』; ウケタ
24ルビ厨な人:01/10/01 04:30
「プログラミングRuby」
デビッド・トーマス、アンドリュー・ハント 著、田和 勝 訳 まつもとゆきひろ 監訳
>>11が言ったのはこの本のことだろ。
25デフォルトの名無しさん:01/10/01 04:31
>>23
『Rubyを256+倍使うための本 尿道編』がでるのを心待ちにしているのだが。

にしても、訳書であるプログラミングRuby―達人プログラマーガイドが一番出来の良いガイドブックになっている惨状、どうにかならんのかね。
一番最初に出たRuby本なんか、御布施以上の価値がなかったし。
26デフォルトの名無しさん:01/10/01 10:27
2ちゃんねる以外だと信者はみかけるがアンチはあまりみかけんな。
もちろん、これはアンチが少ないということではないけど。
潜在的なアンチは多いんだろうな。
27名無しさん:01/10/01 11:42
『Rubyを256倍使うための本 引導編』はいつ出るの?
まぁ何をやっても駄目な奴が、何かを貶めて自分が偉くなった気がして
そいで粘着してるだけだろ。
VBもCOBOLも同じ構図だね。
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=1001038045
このスレの1が作ったCGIはどうよ?
ソースもよくまとまっているし、JAVAっぽく書かれていて読みやすいと思うぞ
30名無しさん:01/10/02 08:20
Makehttpってクラスにする必要があるのかしらと思った。
31あぼーん:あぼーん
あぼーん
32デフォルトの名無しさん:01/10/04 00:19
a
33デフォルトの名無しさん:01/10/04 00:19
aa
34デフォルトの名無しさん:01/10/04 00:19
aaa
35デフォルトの名無しさん:01/10/04 00:19
aaaa
36デフォルトの名無しさん:01/10/04 00:19
aaaaa
37デフォルトの名無しさん:01/10/04 00:19
aaaaaa
38デフォルトの名無しさん:01/10/04 00:20
aaaaaaa
39デフォルトの名無しさん:01/10/04 00:20
aaaaaaaa
40あぼーん:あぼーん
あぼーん
41あぼーん:あぼーん
あぼーん
42あぼーん:あぼーん
あぼーん
43あぼーん:あぼーん
あぼーん
44あぼーん:あぼーん
あぼーん
45あぼーん:あぼーん
あぼーん
46あぼーん:あぼーん
あぼーん
47あぼーん:あぼーん
あぼーん
手動でやっていたが疲れたので、すぐにやめた根性無しに3ペニス
虚しさに耐えてよく犯った!勘当した!!
UZAI
51デフォルトの名無しさん:01/10/04 01:45
3@^/5b>Ud@c48;N<_C8&TZEo3U;KLkC e?d`,dQiY:f@ 6WI.E27NFQmVkEk
>>40-47
どうやって解凍するの?
uudxでは駄目でした。
53デフォルトの名無しさん:01/10/04 11:15
age
>>52
> どうやって解凍するの?
ただのランダムデータじゃないの。
55デフォルトの名無しさん:01/10/05 02:24
>>27
>『Rubyを256倍使うための本 引導編』

その帯には、「←まだrubyなんて使っているんですか?」って書かれています。

その左隣には「rubyを256倍使うための本 蛇道編」が置かれるんだろうな。
rubyからpythonを使う話ね。

で、その本の帯には「まだrubyなんて使っているんですか?→」と書かれている…
>>54
ぱっと見た感じ、BASE64。でも復号する気にもならん。
57デフォルトの名無しさん:01/10/05 17:33
Ruby!
>>56
ハァ?
59デフォルトの名無しさん:01/10/06 01:04
ねぃねぃ、イテレータって読みやすい?

一般にイテレータを使ったほうが可読性が増すって本に書いてあったんだけど、
そういもんなん?
60デフォルトの名無しさん:01/10/06 01:10
>>59
解答その一
ケースバイケースです。

解答その二
イテレータを知らない人には読めません。
61デフォルトの名無しさん:01/10/06 01:19
なんつーかさ、他人が書いたイテレータを
ちゃんと処理を理解しながら読み進むのは辛かった。

どれにどれが代入されて、、、とか考えてくと混乱する。
慣れの問題かな。
62_:01/10/06 01:25
お勧めの入門書を教えてください。Windowsで勉強するつもりです。
「Rubyプログラミング入門」 はいい本ですか?
63あぼーん:あぼーん
あぼーん
64あぼーん:あぼーん
あぼーん
65あぼーん:あぼーん
あぼーん
イテレータで{とdoを選べるのが冗長な感じがして好きでない。
個人的には、〜endじゃなくて、ブロックもイテレータもすべて {} の方が良かった。
end書くのめんどい。

Pascalなんて、beginも書かなくちゃいけないんだよ。
絶対開発効率落ちてるね♪
68デフォルトの名無しさん:01/10/06 07:08
初心者です
Rubyはどこが悪いのですか?他の言語と比較してください。
if
else
end
↑が好き。
>>68
Ruby使ってると言うだけで、PerlスレやPythonスレを荒らしている人々と同一視され、
Ruby信者と言われ罵られます。
71デフォルトの名無しさん:01/10/06 19:00
sort {|a, b| ... } ってどういうときにつかうのですか?
デスクトップリファレンスとか読みましたが何がどうなるのか
イメージが湧かないです。

array = [6,1,9,5,8,0,7,3,4,2]
p array.sort!
p array.sort{|a,b|
if a == b then
1
elsif a < b then
-1
elsif a > b then
0
end
}
#[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] #array.sort!の結果
#[0, 1, 2, 6, 3, 8, 4, 7, 5, 9] #array.sort{|a,b| の結果
array.sort{|a,b|の方は a==bが0,a>bが1とすると結果が只のsort
と同じになります。
>>71
Array に入るのは数値に限らない任意のオブジェクトなので、
そのオブジェクトの性質に合わせたソートができる。

class Student
def initialize(name, kokugo, sansuu)
@name = name
@sansuu = sansuu
@kokugo = kokugo
end
attr_reader :name, :sansuu, :kokugo
end

という生徒クラスがあり、name は名前、sansuu、kokugo は算数と国語の得点とする。
ary が Student オブジェクトのコレクションだとして、
このコレクションを算数の点数でソートしたいなら
以下のようなブロックを Array#sort に渡せばいい。
ary.sort{|a,b| a.sansuu <=> b.sansuu }

名前順なら
ary.sort{|a,b| a.name <=> b.name }
73あぼーん:あぼーん
あぼーん
74あぼーん:あぼーん
あぼーん
75あぼーん:あぼーん
あぼーん
76あぼーん:あぼーん
あぼーん
77あぼーん:あぼーん
あぼーん
78あぼーん:あぼーん
あぼーん
79あぼーん:あぼーん
あぼーん
80 :01/10/06 19:45
81デフォルトの名無しさん:01/10/07 00:52
eRubyで、処理中のスクリプト名をゲットするにはどうしたらいいの?

$0には、eRubyのパスが入ってた。むぅ
8271:01/10/07 01:15
>>72
なかなか便利ですね。疑問解決です。サンクス
8381:01/10/07 02:03
<%
100.times do
print "だれか、おしえれ〜。\nあげ。\n"
end
%>
84名無しさん:01/10/07 02:32
>>83
まあまあ、とにかく、<% puts "マターリしようぜヽ(´ー`)ノ " while true %>
8581:01/10/07 03:25
だれかおしえち〜。じゃないと、下のほうから糞スレあげてくるよっ♪

まぁ、それはいいとして、

p 1.type #=> Fixnum
p (1).type #=> 1

って、動作として正しいのかな?
両方ともFixnumって表示されたほうがいいんじゃないかと思うんだけど。
86あぼーん:あぼーん
あぼーん
87あぼーん:あぼーん
あぼーん
88あぼーん:あぼーん
あぼーん
>>88の母です(以下略
90デフォルトの名無しさん:01/10/07 11:51
#!/bin/env ruby

include Math

class P02

 def init
  @sum = 0;

  for @k in [1..50000]
   operation
  end
 end

 def purinto
  print @sum
 end

 def operation
  @sum += 1 / (@k * sqrt(@k))

  purinto
 end

end


p02 = P02.new
p02.init
91デフォルトの名無しさん:01/10/07 11:52
ken -> ./p02.rb
./p02.rb:20:in `sqrt': failed to convert Range into Float (TypeError)
from ./p02.rb:20:in `operation'
from ./p02.rb:11:in `init'
from ./p02.rb:10:in `each'
from ./p02.rb:10:in `init'
from ./p02.rb:29
ken ->
>>90 >>91 は何がいいたいんだ?
9390-91:01/10/07 12:01
だれかデバッグしてください。
9492:01/10/07 12:12
メッセージ見ると、k が [1..50000] で整数なのに、
sqrt で k を引数にしてるからエラーなんじゃないの?
Float にキャストすればいいんじゃないの? >>91
後、purintoは勘弁してください・・・
9690-91,93:01/10/07 12:53
ループが間違っていたようです。

  for @k in 1..50000
   operation
  end
 def pupu
  puts "K = #@k, dx = #@dx, sum = #@sum"
 end

 def operation
  @dx = 1 / (@k * sqrt(@k))
  @sum += @dx

  pupu
 end
9790-91,93,96:01/10/07 12:54
putsで変数を表示する場合、#@aaでいいのかな??
(Perlで print "$age\n"; みたいなこと)
>>96
1...50000 は Range オブジェクト。意味は「1から50000」
for 文に使われるとオブジェクトが表す範囲の値が順に取り出される。

[1...50000] は Range オブジェクトが入った Array オブジェクト。
Array オブジェクトが for 文に使われると、各要素が順に取り出される。
この場合、要素は Range オブジェクト 1...50000 一個だけなので、
@k には 1...50000 が代入される。

>>97
文字列リテラル( "" で囲まれた部分 ) 内で式を展開するには、
#{statement} を使う。式が変数だけなら #@var と {} が省略できる。
省略せずにいつも #{} を使うのを勧めるが。

あと @k をインスタンス変数にせずにメソッドの引数にした方が良いと思う。
99デフォルトの名無しさん:01/10/07 17:57
プリン党ですが何か?
死んでください
101あぼーん:あぼーん
あぼーん
102あぼーん:あぼーん
あぼーん
103あぼーん:あぼーん
あぼーん
104あぼーん:あぼーん
あぼーん
105あぼーん:あぼーん
あぼーん
106あぼーん:あぼーん
あぼーん
10784:01/10/07 18:52
>>81
ん? 未だ誰も答えてないの?
REDIRECT_URLかPATH_INFOかPATH_TRANSLATEDの辺りを
File.basenameしとけばいいんじゃない?
108あぼーん:あぼーん
あぼーん
109あぼーん:あぼーん
あぼーん
110あぼーん:あぼーん
あぼーん
111あぼーん:あぼーん
あぼーん
112あぼーん:あぼーん
あぼーん
113あぼーん:あぼーん
あぼーん
114あぼーん:あぼーん
あぼーん
115あぼーん:あぼーん
あぼーん
116デフォルトの名無しさん:01/10/08 04:08
<過去の主な荒らしの制裁例>

トレビア〜ン(16 高校生)くんの場合
・プロバイダからの契約解除。
・両親への厳重注意。
・学校への厳重注意要請。
・謝罪文。
(以後荒らし行為があった場合は民事での賠償請求に応じると一筆)
トレビア〜ンくん、停学2週間。

偽堕ちた研究者(27 会社員)くんの場合
・プロバイダからの契約解除。
・会社からのアクセスもあり、会社への警告文。
・本人への民事裁判or全面謝罪要請。
偽堕ちた研究者くん、厳重注意+減俸3ヶ月→転勤→退社。

みなさまも、我慢の限界にたっせられましたら
是非とも批判要望板の方に通報及び要望を宜しくお願い致します。
他スレに被害が及んでいるのは迷惑だな。
いつまでも続くようならアクセス規制してもらうように要望出そう。
この程度では裁判沙汰にはならないが、
2chから締め出すことはできるだろう。
Ruby信者を締め出せ!
ちなみにCG板には2ヶ月かけて4万件もコピペした電波が居たという。
PC系板にはキチガイが多い。
120デフォルトの名無しさん:01/10/08 13:33
で、Rubyが数値解析には向いてないんですか?
CだとコンパイルがめんどくさいのでRubyでやってみたけど・・・。

Rubyのことはあんまり知らないのですが、
Rubyのfloatってメモリの許すかぎり使えるんですよね?(Cとかとは違って)

CとRubyでは微妙に実行結果が違う。
ってーか、RubyのfloatをCなみに制限することってできますか?
(俺はなに言ってるんだ?)
>メモリの許すかぎり使えるんですよね?
そりゃ整数だ
122120:01/10/08 13:39
http://www.ruby-lang.org/ja/man-1.6/?cmd=view;name=%A4%CF%A4%B8%A4%E1%A4%CB
>多倍長整数

> 組込みの多倍長整数機能がありますので、 メモリが許す限り、非常に大きな整数の演算もできます。 たとえば、400
> の階乗なども簡単に計算できます。

あわわ・・・。
>>120
処理速度が数十倍以上遅いことを気にしなければ、
メモリ管理が要らない分相当楽。
MLでも数値解析に使っているという人が何人かいた。

可変長浮動小数点演算用拡張ライブラリ
http://www.tinyforest.gr.jp/ruby/bigfloat.html
ついでに強制ID表示にして貰えばいい。
>>124
そういうのは自治スレ立てて議論して決めるのが筋となっている。
126120:01/10/08 15:03
>>123
ありがとうございます。

こぴぺ
>任意桁の浮動少数点演算用クラスが無いようです。そこで、任意桁の
>浮動少数点演算用拡張ライブラリ BigFloat を作成しました。

まさに求めていたものです。
1/3の精度はいくつになるんだ?
>>127
lispには分数があるのであまり困りません。
rubyにも分数クラス型とか作ればよいかと。
>>128
標準ライブラリにある
% ruby -rrational -e 'a = Rational.new(1,2)+Rational.new(1,3); print "#{a}\n"'
5/6
130ルビ厨な人:01/10/08 20:45
>>128
>>129に先越されちゃったけど、、
もっと手軽に(?)にするなら、mathn.rbを使って、
% ruby -rmathn -e 'a = 1/2 + 1/3; print "#{a}\n"'
5/6
ってできるよ。
131初Ruby:01/10/08 22:47
単純なファイル結合をしようと思ったんだけど
どうもゴミが入っちゃうのです。

これじゃだめなの?
ちなみにデータはバイナリ

catfile = File.open( "test", "w" )
catfile.truncate(0)

for no in 1..10
name = sprintf( "test.%03d", no )

file = File.open( name )
file.binmode
data = file.read
catfile.write(data)
file.close
end

catfile.close
132ルビ厨な人:01/10/08 23:44
>>131
binmodeを使っているって事はwinの環境だって事だね。(UNIX系なら付けても無意味だよ)
なら、書き込むファイルもバイナリモードにしないとゴミが付くよ。
あと、開くファイルが無くて失敗すると、
catfileが開きっぱなしになっちゃうよ、、、
>>131
| catfile.truncate(0)
これ要らなさげ。
それと、binmode が必要な OS なら、catfile.binmode も必要。
134133:01/10/09 00:03
おっと、かぶった。
132の
| 開くファイルが無くて失敗すると
に対するエラー処理は二種類のアプローチがある。
先にファイルの存在を確認する方法と、例外を拾う方法。

まず前者は、
if FileTest.file?(name)
#ファイルがあるときの処理
else
#ないときの処理
end

後者は begin...rescue...ensure...end 構文を使う。
begin
for no in 1..10
...
end
rescue Errno::ENOENT
# ファイルがなくてオープンに失敗したときの処理
ensure
# 例外が生じても必ず実行したい処理
catfile.close
end
135ルビ厨な人:01/10/09 00:39
>>134
かぶっちゃったね。

>>131について、おかしな点だけ指摘して、解決法も示さないのはなんなので、解決法。
バイナリモードはopen時に指定できる。
catfile = File.open( "test", "wb" )
としてもいい。
また、begin...ensure...endを使わないで必ずファイルをクローズさせる方法。
openはブロックを付けることができて、
File.open( "test", "wb") do |catfile|
# ここに処理
end
とすると、ブロックを抜けるときに、自動でファイルはクローズされる。
たとえ中で例外が起きても必ずクローズされる。
戻り値がファイルオブジェクトでなくて、
ブロック内で最後に評価された値という、
使いようによっては便利だけど、混乱してしまう点があるが、
僕はこの方法をよく使っている、、、
136初Ruby:01/10/09 02:23
>>132-135
なるほど!
ありがとうございます!
137あぼーん:あぼーん
あぼーん
138あぼーん:あぼーん
あぼーん
139あぼーん:あぼーん
あぼーん
140あぼーん:あぼーん
あぼーん
141あぼーん:あぼーん
あぼーん
142あぼーん:あぼーん
あぼーん
また始まったか(藁
144あぼーん:あぼーん
あぼーん
145あぼーん:あぼーん
あぼーん
146あぼーん:あぼーん
あぼーん
147あぼーん:あぼーん
あぼーん
148あぼーん:あぼーん
あぼーん
不毛だ。不毛すぎる。(;´Д`)
150あぼーん:あぼーん
あぼーん
朝っぱらから何やってんだよ(w
152あぼーん:あぼーん
あぼーん
(´д`)おなかすいた
154あぼーん:あぼーん
あぼーん
155あぼーん:あぼーん
あぼーん
156あぼーん:あぼーん
あぼーん
157デフォルトの名無しさん:01/10/09 08:31
a
          g
                    e
158デフォルトの名無しさん:01/10/09 11:34
Rubyで自分用のツールを作るらしいのですが、
自分用ツールってどんなもの?
>>158
別に自分用に限るってこたないだろうが…
自分用というと、例えばエロ画像を一気に落とすのに使うツールとかだ。
160デフォルトの名無しさん:01/10/09 14:02
では、Ruby=エロゲー=PC98
ということで良いでしょうかage
161あぼーん:あぼーん
あぼーん
コピペばかりしやがって。芸が無いんだよ。

「Ruby使う奴はただのチンポゴキブリ」

くらい書いてみろってんだ(wara
163チンポゴキブリ:01/10/09 15:39

         /⌒\
       (    )
        |   |
        |   |
     / ̄( ・∀・) < やぁ。
      ~ヽ ̄ヽヽ ヽ
ずれてたりして、微妙に中途半端ですね。
165デフォルトの名無しさん:01/10/09 15:46
ruby にピッタリだろ?
>>164
166あぼーん:あぼーん
あぼーん
167デフォルトの名無しさん:01/10/09 16:08
次スレ名
「Ruby使う奴はただのチンポゴキブリ Part4」
だんだん堕ちていく.....
169あぼーん:あぼーん
あぼーん
170Ruby厨な人:01/10/09 18:45
497 :Ruby厨な人 :01/10/09 06:30
あんたら一晩中人の悪口を言って楽しそうだね。

499 :Ruby厨な人 :01/10/09 06:39
せいぜいほざくがいいさ。

579 :Ruby厨な人 :01/10/09 17:38
まだやってるよ。ここの人たち。

3 :Ruby厨な人 :01/10/09 07:03
自作自演ウザイよ。
またノコノコ出てきても何度でも追い出してやる。

72 :Ruby厨な人 :01/10/09 17:36
ネコが一匹消えただけでこの騒ぎ。みっともないね。
ブルーカラーなんかいつでも取り替えがきくんだよ。
171あぼーん:あぼーん
あぼーん
もはやジハード状態ですな(藁
173デフォルトの名無しさん:01/10/09 19:49
Delギコさんの仇とばかりにDel厨のジハードが始まってしまったようです(w
スクリプト関連は「プログラム板の火薬庫」と呼ばれ、第一次オマエモナ大戦の引き金となる事件を引き起こすのです。
175Ruby解放戦線:01/10/09 20:19
一部のRuby原理主義者のおかげで罪も無いRuby愛好者が迷惑を被ってます
Rubyは多言語を否定するような教えはありません
ましてや多言語スレに逝って荒らして良いなどRubyの教えには
どこにもないのです

今回の荒らしにつきまして、Delphiスレのみなさまにお悔やみ申し上げます
しかし、今回のDel厨の空爆には断固反対いたします
176Ruby戦隊:01/10/09 20:26
ワタシはRubyファンではない。
Ruby原理主義者である。
我々Ruby原理主義者は、Rubyへの応援はもちろんの事、目障りな他言語、
他言語のファン、開発者などに対するテロをも辞さぬ覚悟である。また万が一、長島の解任などの事態が起こった場合、
このテロの対象には「穏健Rubyユーザ」も含まれる事をご記憶願いたい。
>>154-156
ワラタ
Ruby以外を認めないRuby原理主義者は人間の屑です
>長島の解任
????
RubyとDelphiは仲良しだと思うが
181ルビ厨な人:01/10/09 21:28
スクリプスタンの衛星テレビ局RBSが7日放映したウサマ・ビンルビィン氏の発言要旨は次の通り。

 巨大な言語が破壊され、プログラム業界は恐怖におののいている。
プログラマーが味わっている恐怖は、これまで我々が味わってきたものと同じだ。

 我々Ruby厨(Ruby原理主義者)は一ヶ月以上、人間性と尊厳を踏みにじられ、ソースを流してきた。
神はDelスレを破壊したRuby厨の先兵たちを祝福し、彼らを天国に招いた。

 今も無料サーバーでは罪のないCGIたちが動かないでいるのに、それを糾弾する声は聞かれない。
Delphiの信者がRubyスレで破壊行為を続けているのに、だれもそれを直視しようとしない。
なのに剣がDelphiに振り下ろされると、偽善者たちは悲しみを表明する。

 Delphiはスクリプトに立ち向かうとうそをつき続けている。
(経済がそろそろ破綻する)日本をはじめ、世界中で何十万人が難解なプログラムに頭を悩ましても、Delphiはこれを犯罪とは呼ばない。
(粘質的なコピペ荒らしのあった)DelスレでDel厨が煽られると、Rubyスレなどを荒らす。

 世界は今、Rubyをもつ者と、Delphiしかできない奴に分かれようとしている。
すべてのRuby厨はRubyを守るため、立ち上がらなければならない。
作者ま○もとゆきひ○ろの地、日本から悪魔を追放する風が吹いている。

 Del厨よ、私は神に誓う。
2chに平和が訪れない限り、Del厨のコピペ職人がま○もとゆきひ○ろの地から出ていかない限り、Delphiに平和は訪れない。
Delギコさん、復活祈願スレ
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=1002578288
183181:01/10/09 21:36
やべ、名前変えるの忘れた、、、
つか、Delギコスレ見たけど、そんなに荒らされてなかったな〜〜〜。
ここよりはマシだろ。
とにかく、、、名前の変え忘れはウツダ、、、
184ヽ(´ー`)ノ:01/10/09 22:03
a
                    g
                                        e
つか、Delギコスレ見たけど、そんなに荒らされてなかったな〜〜〜。
ここよりはマシだろ。
つか、Delギコスレ見たけど、そんなに荒らされてなかったな〜〜〜。
ここよりはマシだろ。
つか、Delギコスレ見たけど、そんなに荒らされてなかったな〜〜〜。
ここよりはマシだろ。
つか、Delギコスレ見たけど、そんなに荒らされてなかったな〜〜〜。
ここよりはマシだろ。

1 名前:Delギコ 投稿日:01/10/08 00:51
 ∧ ∧    /DelphiとかBorland系ツールのこと
 (,,゚Д゚)  <
  | つ[|lllll]). \聞いてヨシ
@|   |
  ∪∪  ホカノ ゲンゴ ヤ カイハツカンキョウハ
      ヨクワカラナ-イ

78 名前:Delギコ 投稿日:01/10/08 17:23
   ∧∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜''~(,,゚Д゚) < わるいけど、さようなら。
  UU'UU    \________

もう、このスレ自体やめた。やめたやめた。
糞DQN学生のよってくる2chでスレ立てているのが
悪かったな、

79 名前:Delギコ 投稿日:01/10/08 17:27
  デハ バイナラ
  ∧∧∩゛  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  (,,゚Д゚)ノ < またいつかどこかで。
  U  /   \____________
@|  |
  ∪∪ DQNのいない世界で会いましょう

もう、このスレ自体やめた。やめたやめた。
もう、このスレ自体やめた。やめたやめた。
もう、このスレ自体やめた。やめたやめた。
もう、このスレ自体やめた。やめたやめた。
もう、このスレ自体やめた。やめたやめた。
もう、このスレ自体やめた。やめたやめた。
186Ruby厨房さんへ:01/10/09 22:59
てめぇらみたいなクズ野郎は低レベルなスクリプトをしこしこ書いてりゃ良いんだよ(w
>>186=802
>>181=185
おいおい、なにDelphiスレ荒らそうとしてんの?
妬ましいからってカスな行動するなよ
189デフォルトの名無しさん:01/10/10 01:18
>>181
> ま○もとゆきひ○ろ

○になにが入るのか気になるよォ。
挙げてしまった
191あぼーん:あぼーん
あぼーん
(´д`)おなかすいた
(´д`)らーめん食べたい
>>189
まるもとゆきひねろ
195ルビ厨な人:01/10/10 03:12
181です。
>>189では気づかず、>>194でやっと気づきました。
ウツダシノウ、、、
802のようなテロリストが出たことは悲しいことですが
それがRuby厨の仕業かどうか証拠がないんじゃないか?
もちろん802のような奴は捕らえどころがないから
仮想敵であるRubyを作ってそこを攻撃して鬱憤を
はらしたい気持ちはわかるが、それじゃアメリカが
タリバン攻撃してるのと大差ないな
むしろ、今までRubyスレをずっと荒らしてきて犯人が802ってことじゃない.
Rubyを誉めてみたりRubyをけなしてみたり。
最近はDelphiを誉めたりけなしたりを他のスレでやっているよ。

Ruby厨とかDelphi厨と名乗るのが802の手だよ。
制御しかやったことのないCプログラマだろう。
身から出た錆
199デフォルトの名無しさん:01/10/11 19:58
>>198
ハァ?
(スレタイトル)
>Rubyを愛する奴は人生の敗北者

その通りだと思う。
あんな快適な世界を経験してしまったら、もう人間(?)に戻れないもんなあ。
rubyやめますか?人間やめますか?
201デフォルトの名無しさん:01/10/12 00:22
人間やめます。
202ルビ厨な人:01/10/12 00:26
とっくの昔に人間やめてます。
203デフォルトの名無しさん:01/10/12 00:30
とっくの昔に男やめてます。
204デフォルトの名無しさん:01/10/12 05:09
fight!!!
>>202
ルビ厨な*人*
?
206ルビ厨な入:01/10/12 19:48
>>205
すいません、今まで漢字を間違って入力してました。
最近、俺、間違ってばかりだな、、、
207ミラー貝入:01/10/12 20:08
...
208デフォルトの名無しさん:01/10/12 23:24
Rubyのコミュニティって閉鎖的な雰囲気がありますけど(他の言語を排撃する)なんでですか?
その自信はどこからくるんですか?
教えてください。
209Ruby戦隊:01/10/12 23:26
三十点。もう少しひねろう。
>Rubyのコミュニティって閉鎖的な雰囲気がありますけど(他の言語を排撃する)なんでですか?
>その自信はどこからくるんですか?
>教えてください。
この発言をコピペしていただければ幸いです。
211Ruby初心者:01/10/12 23:30
Rubyのコミュニティって閉鎖的な雰囲気がありますけど(他の言語を排撃するとか)なんでですか?
その自信はどこからくるんですか?
教えてください。
そんなに閉鎖的じゃないと思うけど。
「他言語との比較」だったら、もうリンク切られてるし。
213デフォルトの名無しさん:01/10/14 00:19
>>81
もう解決してるかもしれないけど__FILE__はどう?
214名無しさん@XEmacs:01/10/14 15:47
なんかこのスレタイトルひどくないか?
あらしを隔離するためにも新スレきぼん
215デフォルトの名無しさん:01/10/20 06:32
Linux Conferenceの資料がPDFで公開されてるよage

http://lc.linux.or.jp/lc2001/c_detail.html#platform-ruby1
オブジェクト指向スクリプト言語 Ruby への世代別ごみ集め実装手法の改良とその評価
Ruby の VM 化に向けて

# 新スレ立てる?
216デフォルトの名無しさん:01/10/20 16:42
rubyで2ch型BBS作りたいんだけどサンプルとかあるかなぁ?
RuBBSってのがあるが、これを元にするのが楽かスクラッチから作るのが楽か。
見てないので分からん。
RuBSS を参考にしつつ先に eRuby コードを書くべし。
対象は、index.html html/*.html (subback.html subject.txt) admin delete かな。
ロジックは後から書けばいい。
219デフォルトの名無しさん:01/10/20 21:57
256本横道編age
apolloの話らしーね。
ハァ?sage。
lolipocket
↑そうゆう汎用性のないプログラムって
作るだけ無駄じゃない?
無料配布したとしても、誰もつかえないんじゃあ、ねぇ。
どのプログラムのこと? >>221? つーかlolipocketってなに。
Flash作家のぽえ山氏のプログラム?
Ruby とどう関係が…

http://muvc.net/liloatx/
誰かRuby/Flashなんて作ったとか?
226Python >>> Ruby:01/10/25 06:33
rubyって遅いよね。
全く使い物にならない。
>>226
うざい。きみら馬鹿でしょ
よりによってPythonと比較かい(wara
Pythonより遅いなんて・・・流石にネタだろう。
230デフォルトの名無しさん:01/10/25 22:00

fight!
231デフォルトの名無しさん:01/10/26 01:54
pppppppppppppppppppppppp
新スレは頼むからやめてくれ…
最近多すぎ。
233名無しのパスタ:01/10/26 04:36
ruby勉強しよーかどうか迷ってるっす。
rubyの未来はどうですか?
234名無しのパスタ:01/10/26 04:52
ちなみに大学2年です
他に使える言語は?C/C++ Java Perl くらいはできる?
大学生なら LISP Scheme Haskell ML から
適当にいくつか面白そうなのを勉強しておこう。
Ruby が面白そうならついでに Ruby も勉強しちゃおう。
他の言語の素養があれば一ヶ月もかからず覚えられる。
236デフォルトの名無しさん:01/10/26 06:14
Haskelとか、LISPとかって、勉強するとなんかよいコトあるのですか?
237名無しのパスタ:01/10/26 06:51
>>235
正直、Cしかできません。
rubyは後回しですかね?
> Haskelとか、LISPとかって、勉強するとなんかよいコトあるのですか?

こんなこと言ってる奴は永久にまともなプログラマにはなれないから
覚悟しとけ。

「よいコト」なんて知らねえよ。おもしろいからやるんだよ。
そんだけだ。
239ルビ厨な入:01/10/26 11:57
>>233-234=>>237
Rubyがと言うか、将来、二年後三年後はたまた十年後に、
どんな言語が流行っているか何て、誰にもわからんぞ。
.NETは失敗するかも知れないし、Javaは無くなっているかも知れない。
今はまだマイナーで誰も知らないような言語が流行っているかも知れない。
Rubyは遅いと言うが、一年後にはPerlよりも速くなっているかも知れないし、
CPU性能などの向上により遅さが気にならないようになるかも知れない。
OOだって、予想よりも流行らずに、違う仕組みが代替するかも知れない。

つまりだ。>>238の言っているとおりだと思うぞ。
面白いと感じたらやればいい。
俺は、Rubyが面白いと思うからやっている。それだけだ。

まあ、Cができているなら、OOさえ理解できたら、
Rubyなんてすぐ習得できると思うよ。
240デフォルトの名無しさん:01/10/31 02:56
>>233
 私はRubyいじり始めてから3ヶ月程度の者です。
 Rubyで社内イントラサーバーでCGIを動かしているほか、
ちょこまかとした日常の作業にいろいろ活用しています。

 短い間の印象では,Rubyは学習にほとんどコスト(費用,
時間など)がかからない言語だという感想を持ちました。

 学生さんでしたら、他の言語の学習の片手間にやるぐらい
程度の時間のかけ方でもすぐにマスターできるとおもいます。
30歳の硬くなってきた頭でもすぐに使えました。
241:01/10/31 03:20
興味があるならとりあえずやってみれば良いじゃん。触ってみてつまんなかったら別の探せば良いだけ。
242デフォルトの名無しさん:01/10/31 06:36
[[[[[[[[[[[[[[[[[[[[[[[
ホッチキスのしん、です
gomennnasai. matigaemasita
個人的に将来性のあると思える言語の仕様は...

1) 書きやすい
2) コンパイルせずにデバッグ可能
3) OOPあるいはgeneric programmingをサポート
4) 例外処理
5) 静的な強い型付け(推論付き)コンパイラを装備

だな。コーディング中は2で随時動作確認し、ある程度作業が進んだら
5で厳しくバグ出しってのが良いと思う。スクラッチ段階で強い型付け
って激しくダルいので。

個人的にはDylanに期待していましたが、今はRubyを主として使ってます。
Rubyに5があれば完璧かと。
245デフォルトの名無しさん:01/10/31 19:24
@@@@@
246デフォルトの名無しさん:01/10/31 21:26
>>233
マジでDelphiかJavaをお勧めします。
GUIを簡単に組めるので作ったという達成感があるし、メジャーな言語なので
趣味以外の用途でも役に立てることが出来ます。
言語としても優れていて、PascalやJavaは大学などでも学習用として使用されている
実績もあります。
いくら薦めたところで本人のやる気次第だよ。
ハァ?クリック厨は逝け。
Ruby >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Java

論外:Delphi
aquamarineに期待
Rubyの良い所ってなんですか
>>246
Delphiは良くも悪くも、プロのツールだよ。
初心者にはお薦めできない。
JavaやCに比べて圧倒的に情報が少ないからね。
同じ少ない情報なら、Pythonの方がまし。

それに大学で教わるPascalは真のPascal(って何?)だよ。
Delphiとは全く関係ないと言っても過言ではない。
253デフォルトの名無しさん:01/10/31 23:01
;;;;;;
まあ、将来が不安な人にはrubyなんてお勧めできない。
255デフォルトの名無しさん:01/10/31 23:31
これからのトレンド春びぃでス。
Sunと心中する気ならJava
Borlandと心中する気ならDelphi
まつもとと心中する気ならRuby
257デフォルトの名無しさん:01/10/31 23:42
「ママー、今日のおかずはこれでいい?」
何でもいーからはじめてみろYO!
>>やらないうちから「どれがいい?」とか聞くやつ

ひとつでもモノにすれば後は応用で何とかなる。
「モノにすれば」ってのがミソ。

>>251
就職活動の武器にはならないところ。
259デフォルトの名無しさん:01/10/31 23:56
>>252
情報はメジャーじゃない言語にしてはかなり多いでしょ。
具体的な作品が簡単にできるから、初心者もやる気を失わずに勉強を続けられる。
初心者からプロまで問題なく使える数少ない開発環境ですね。
真のPascalでも、Object PascalでもPascalという基本部分は同じなんだから、
Delphiが優秀だという証明にはなります。

>>256
Sunが倒れてもIBMあたりがJavaを引き継ぎそうです。
願望かもしれませんが。
ソフトウェアの方でIBMが味方になってもあんまり嬉しく無い様な・・
>>258
言語がわかるわからないくらいで就職活動の武器になる?
就活人としては、それよりも TOEIC 700点がほしい。
>>259
少なくとも Windows では 5指に入るメジャーな言語じゃないか?
C++/C/VB/Java/Delphi と。
ObjectPascal は使いやすい言語だが、
IInterface が COM を前提にしていて使いづらいのが難点だな。
Kylix が Solaris でも普通に動くなら使ってもいいが。
>>259
>情報はメジャーじゃない言語にしてはかなり多いでしょ。

メジャーかどうかは別にして、「かなり」は主観。
もっと手軽に情報にアクセスできる処理系があるのだから、
そちらを薦めたほうがいいのでわ?

>初心者からプロまで問題なく使える数少ない開発環境ですね。

非プロがDelphiを使って、Delphi Wizardになったとしても、
プロになって使えるとは限らない。

>真のPascalでも、Object PascalでもPascalという基本部分は同じなんだから、
>Delphiが優秀だという証明にはなります。

大学で教えられる言語が優秀だというの?
だったら、Fortranこそが最も優秀なのではないだろうか。
>>263
>大学で教えられる言語が優秀だというの?
今、大学で Pascal が教えられる理由は
文法が平易なためアルゴリズムの記述に適している
からだけだしな。
>>256
オープンソースだから、まつもとさんが死んでも Ruby は死せず。
って、縁起でもねぇ(w
266258:01/11/02 02:17
>>261

業務内容にもよるが。

すくなくともうちの職場(メーカーのIS部門)に
「JavaJavaJava〜」で入ってきたやつがいた。

ま、優秀なやつなので言語だけが決め手じゃ
ないらしいけど、+にはなると思う。

その点Rubyはちょっとマイナーすぎ。

好きだけど(藁

英語は+αがあって初めて生きるともんなんじゃあ......
(TOEIC700超えてるけど英語で仕事ができる気がせん)
267デフォルトの名無しさん:01/11/02 17:38
268デフォルトの名無しさん:01/11/03 11:14
>>263
ま、全部Rubyより上ですな(藁
269デフォルトの名無しさん:01/11/03 11:27
hage
>>268
そうですな。
271前スレの何番目かの人。:01/11/04 20:19
俺の思ったとおり、熊谷のAkira@ROMはイタかったな(wara
あんなに頭の悪い人を見るのは久しぶりだ。
もしからしたらあれは人口無能の一種なんじゃないかしらん。
ねぇねぇ。

puts 1.type #=> FixNum
puts (1+1).type #=> 2

って動作として正しいの?
オライリーの Nutshell 刊行予定あげ
http://www.oreilly.com/catalog/ruby/

>>273
カッコ省略の副作用だね。
puts ( 1.type ) #=> Fixnum
( puts( 1+1 ) ).type #=> 2 NilClass
後者はカッコをつけたことで 1+1 が明示的に puts の引数になっている。
275デフォルトの名無しさん:01/11/04 23:20
>>274
何じゃそりゃ。
可読性考えて言語設計しろよ(藁
>>275
1+1 は 1.+ 1 だからして。
カッコが省略できないとひどいことになる。
なるほど、そういうことか。
ruby -e "puts((1+1).type)" #=> たしかに、これでFixnumになる。
優先度の問題じゃないの?
直感に反した文法。
>>278
カッコが省略できるから優先度を気にして書かないとおかしくなる。
p や print や puts は、
気分的にはそれに続く一文全部を引数にしたいと思って書くがそうならない。
それが嫌なので print や puts の引数がややこしいときは文字列にしてる。
e.g. print "#{(1.1).type}"
Ruby 1.7.1では「puts (1+1).type」でもFixnumになります。
>>281
文法が変更されるの?
>>282
まさにこの問題を解決するために、微妙に変えたみたいです。
284デフォルトの名無しさん:01/11/05 15:52
タイトルのせいで、ヘタレスレになったな。
それはそうと、熊谷のAkira@ROMは最凶らしい。
shigeやらこいつやら、ルビ房育ちすぎなのは何故?
変にASCIIが頑張りすぎた結果か?
SchemeとかHaskellとかは馬鹿には使えないんで、
shigeとかが育つ余地はないね。
Rubyはなんだかんだ言っても感覚的に使えるんで、
shigeでも使えるってのはあるよなー。
286デフォルトの名無しさん:01/11/05 17:37
Schemeなんて実用的なアプリ書けるか?
あんなもんもう時代遅れもいいとこだ。ばっかじゃねえの?
>>285
>SchemeとかHaskellとかは馬鹿には使えないんで、

バカでも使えるよ。
つーか、選民意識うざ。
288デフォルトの名無しさん:01/11/05 18:22
ここにいるRuby厨って本当に程度低いな。
お前らにSchemeは無理。
Scheme や Haskell を使って煽るのやめてくれー
>>286
Rubyは時代の流れを作ったことも、流れにのったこともない。
>>285 馬鹿には使えないんじゃなくてあんたが使えないだけでしょ。

Ruby,MLに変な奴が現れたね。びくりした。
スレッド立て直して心機一転、といきたいが・・・無理か?
293Error401:01/11/05 22:51
どうせ荒らされると思うから、しばらくこのスレで行きません?

# たまにはコテハン
他の言語と小競り合いしてる暇があったらアプリでもつくらにゃね。
俺はドキュメントでも書くか…
一方的にRubyユーザが攻められている気がするが。。。
shigeもネタだと思ったり。。。
Akiraのようなやつがいるかぎりrubyはだめ。

そもそもrubyの最大の欠点は、厨房にでも簡単に使えてしまえるほどの簡単さ。
その結果、rubyを使う厨房がふえる。
もっと難解な言語にしなければ、厨房のおもちゃになるだけ。

だが、逆に考えてみると、厨房の受け皿となり、
他の言語での厨房出現率を減らしているともいえる。

それはそれで、rubyは世の中の役になっているのだと思う。
>>296
彼は CGI-ML にも出没してましたが。
rubyでcgiでもつくってたんだろ
299デフォルトの名無しさん:01/11/06 23:03
もしかしてみんなruby実装スレにいっちゃったのか?
300デフォルトの名無しさん:01/11/07 00:08
>>296
rubyとHSPはとても似ていますね。
昨日、ruby-list行ったんです。ruby-list。
そしたらなんかサブジェクトに「(´ヘ`;)ハァ」としか書いてないメールがきてるんです。
で、よく見たらなんか顔文字だらけで、
> `s(・'・;) エートォ...
> エプソンのCL700いるひといませんか?
> 5000円ぐらいで、、、
とか書いてあるんです。
もうね、アホかと。馬鹿かと。
お前な、プリンタ売る如きで普段ROMしてるruby-listに来てんじゃねーよ、ボケが。
プリンタだよ、プリンタ。
なんか他のMLにも流してるらしいし。off topicでマルチポストか。おめでてーな。
ジャッ(・_・ )ノ ジャッ(・_・)ノ ジャッ( ・_・)ノね♪♪、とか言ってるの。もう見てらんない。
お前な、大川出版賞受賞のRuby本やるから同じサブジェクトで2通出すなと。
ruby-listってのはな、もっと殺伐としてるべきなんだよ。
メソッドの名前だけでいつ機能追加が見送られてもおかしくない、
刺すか刺されるか、そんな雰囲気がいいんじゃねーか。女子供は、すっこんでろ。
で、やっと終ったかと思ったら「退会手続きがわかりません」とか言ってるんです。
そこでまたぶち切れですよ。
あのな、MLに退会方法をたずねるなんてきょうび流行んねーんだよ。ボケが。
得意げな顔して何が、「あなた方のように頭がよくないので」、だ。
お前は本当に退会手続きが分からないのかと問いたい。問い詰めたい。小1時間問い詰めたい。
お前、ruby-list荒したいだけちゃうんかと。
rubyist の俺から言わせてもらえば今、rubyistの間での最新流行はやっぱり、
RUG、これだね。
Ruby Users Group。これがrubyistのOFF会のしかた。
RUGってのは都心部だともりあがる。そん代わり島根では無理っぽい。これ。
で、それに金光さん(ASCII)。これ最強。
しかしこれをやると次の256本著者としてマークされるという危険も伴う、諸刃の剣。
素人にはお薦め出来ない。
まあお前らド素人は、Ruby ライブラリ編でも買ってなさいってこった。
302ルビ厨な入:01/11/07 18:43
>>301
有名な吉野屋コピペの改造だけど、(・∀・)イイ!
>>301
> メソッドの名前だけでいつ機能追加が見送られてもおかしくない、
わらた
このスレはこのままひそかにきえてゆくのか。。。。
305ルビ厨な入:01/11/09 05:07
>>304
ageれば、反Ruby厨房が寄ってきて、なんとか生きられるけど、、、
それじゃ、意味無いか、、、
>305

じゃ、こっそりsage進行でrubyについて、
まったりかたりましょうや
>>306
いいね。敗北者っぽく。
308デフォルトの名無しさん:01/11/09 22:54
AkiraのことRubyユーザーだと思ってるやついるけど、禿しく間違い。
ってゆーか、Akiraはここで、無茶苦茶言っている奴らの仲間。
アホだから騙されて刺客として送りこまれただけ。
しかし正直あのアホの誘いに乗っちゃうメンバーがいたのはイタカった。
たしかにAkira程度のユーザーがいるのも事実。
それはRubyがメジャーだから仕方ねえ。

ってゆーか、ここでぐだぐだいっている奴らはAkiraタイプ。
Rubyがらみで恥かいたり、シカトされて逆ギレしたやつら。
しかし所詮負犬の遠吠え。マジに問題意識ある奴は自分でやる事やってる。
こんなところで、うだうだ文句言わねえ。自分じゃ何もできない嫉妬野郎。

あとRubyは最高だけど、Rubyライブラリ編はクソ。オススメできない。
それから名前忘れたけどRubyでCGI本だしている奴はクソ。
あんなの居るからAkiraタイプが増える。
>>308
他の ML 一般に比べれば放置ができている思うがねえ。

>あとRubyは最高だけど、Rubyライブラリ編はクソ。オススメできない。
同意。唯一お布施をしてない。あんなもん買うなら ri 使う。

>それから名前忘れたけどRubyでCGI本だしている奴はクソ。
どの辺りが?アンチ Perl 的だったっけ?
>>308
お前の言いたいことはよーくわかったから、ageるなよ!
アンチPerl的なのは全く構わない。むしろそうあるべき。
>309
お布施なんだから、内容はどうでもいいだろ
おれは買ったがいまだに読んでないぞ。
>>312
おおなるほど。信者になりきれてなかったな。
pickaxe 本も原書持ってるから訳本買ってないや。
俺もネタがあれば 256 本書きたいね。
perl.comのTop StoryがRubyの話題(An Introduction to Ruby)だね。
何で?
Perlユーザを煽ると面白いよ(w
316デフォルトの名無しさん:01/11/10 01:10
CGI本は検索すれば分かるかと。
本みんでも、こいつのホームページみればなるほどと思う。
だから、sageつつまったりいこうっていってるだろうが(゚Д゚)ゴルァ
じゃア、さげとくか。
ブロック書くときに、{〜}とdo〜endと
どっちつかってる? > みんな
俺は{}だなdo endだと対応するdoがわからねぇんじゃん?
emacsだと、{}つかうと、対応するやつがわかるけど、
do endだとわかんないじゃん。それともなんか方法ある?
あんま気にしてないけどな。
対応分からなくて困ることもないし。
ブロックの他で結局endつかうしな。
結びつきの強さというか使うメソッドでなんとなく使い分けている。
squares = ints.collect{|i| i*i}
とか、
3.times do
  puts "hello"
end
みたにいね。
>>320 ruby-mode使ってもダメなの?(俺使ってないから知らないんだが
っていうか、金光って人、ちょっと変わってるよね。つか、変。
325319:01/11/10 20:34
俺は{〜}派。どっちかに統一したいんだけど、Rubyってメソッドに
引数つける時に()を省略できんじゃん。IFの構文みても、もしかして、
()とか{}とかなるべく省略すんのが正統派なのかなと思って悩み中。

>>320
でもさ、結局IF文とかで{〜}使えないじゃん。そこって
あきらめ?

>>321
そうそう、そうなんだよね。まつもと氏はカッコが嫌いなんか?

>>322
引数に必ず()をつけるようにしてる。そうすれば結合の強さは
問題にならなくなるはず。使い分けって面倒じゃない?

>>323
それ知らない。ちょっと調べてみよう。
今月の Linux Magazine に end の話が書いてあったよ。
327322:01/11/10 22:48
>>325
確かに、、、()付ければすむけど、、、
puts(a.collect do |i| i*i end)
って書くの面倒くさくない?
また、必ず()付けるとすると、
puts(a.collect{|i| i*i})
っていうのも、何か嫌だし、、、
かといって、結合が強い{}で囲めば、
全部スッキリかけるようにように思えるけど、、、
a.each { |i|
  # ....
}
って、何かRubyっぽくなくて(藁)、好きになれない。
でも、()は必ず付けて、ブロックは{}で囲んだ方が、
文法的にはスッキリしているような気がしてきた、、、
そうそう、使い分けはそんなに面倒ではないよ。
なんか、意味的に考えて付けているから、
後から見直すときに、ちょっとわかりやすい気がするし、、、(気だけだが)
本当に気分だけだ、、、鬱だ、、、
メソッドの括弧省略とか、beginとendとか、
このへんの仕様が冗長なのが気になる。
ひとりで書いてるぶんには自分でルールを決めれば済むんだが。
僕は{}よりはほとんどdo endを使ってます。
ってすごく少数派なのか?
{}ってHashの初期値の定義とかにしか使っていないような…。
一行の時は {}
二行以上のときは do end
メソッドチェーンで end の後にメソッド繋げるのは好きじゃないから。

a=[1,2,3,4,5,6,7,8,9,10]
a.collect{|i| i % 2 }.uniq #=> [1,0]
a.collect do |i| i % 2 end.uniq #=> [1,0]
331319:01/11/12 01:32
切れるかも?

>>326
Linux Magazine さっそく読んでみた。
確かにcaseとか考えるとendでいいんだけど。
それならブロックで{}なんて使えなくして
くれればいいのにさ。
ついでにruby-modeについてもわかったけど、
emacsつかわないからなぁ。

>>327
そ、{}はRubyっぽくないと思っちゃう。
なんとなくdo〜endで統一したくなってきた。

>>328
複数メンバーで開発するような規模のRuby
プログラムがあるかだねぇ。
冗長だからその分コーディング規約を作るのが
面倒になりそう。
コーディング規約の256本でも書くか。
「for文利用禁止。イテレータでやること。」
とか延々書いてあるの。(藁

>>329
そのままがんばれ。それでいい。

>>330
お、使いこなしてる人とみた!
でも、複数行ブロックの後にメソッド
つなげたい場合はどうしてんの?
>>331
emacs以外にもruby-modeあるエディタはあるよ。

> 「for文利用禁止。イテレータでやること。」
forってほとんど使ってないなぁ。

> でも、複数行ブロックの後にメソッド
> つなげたい場合はどうしてんの?
>>330ではないが、end.hoge()って書いちゃう。
それよりも演算子がつくときにはdo endではどうしようもないので{}を使う。
>>332
>forってほとんど使ってないなぁ。

俺も。

for i in 0 .. max
&np;&np;p i
end

みたいな処理は、

(0..max).each do |i|
&np;&np;p i
end

って書いちゃうな。
理由?
iのスコープがループの中だけになるからね(forはループの外でも
残ってる。つまりループに入る前にiがあったら、その値を壊しちゃ
う)。
そう。最後までループしたかどうかもeachの戻り値で分かるし、
for使うのは複数のイテレータを同時に辿るときくらいかな。
でもそれもSyncEnumeratorって手もあるしなぁ。
335 ◆RubyOmS2 :01/11/15 13:59
RubyのforはPerlにあるから、ただ付けておこうって事で、付けたのだろうか?
将来のバージョンではforが無くなると言う話とかはないの?
存在する理由はそういうことだと思うが、
無くそうという話は聞いたことないな、今んとこ。
別に邪魔になるわけではないし、互換性を考えるとそのまんまだろう。
>>319
一行野郎のときは{}つかうなあ。なんとなく
む。それは同意。
339デフォルトの名無しさん:01/11/20 13:45
そろそろあげます。
340デフォルトの名無しさん :01/11/21 07:15
>>339
あげるなよ!
|i|
知らないやつには意味不明な構文
342Seisei_Yamaguchi:01/11/21 20:47
ファイルを ( できれば最初から ) IDでアクセスする為の 環境被依存の方法ってある ? .
BTRONなんかだと 単一パスに 同一のfilename の存在が許される とか聞いた気がするが .

前スレの 700辺り を見ると 難しそうか .
343Seisei_Yamaguchi:01/11/21 20:50
>>342
s/環境被依存の/( できれば環境非依存の ) /
ID でアクセスの ID が i-node 番号や FAT エントリの類なのか
Ruby のオブジェクトの ID 属性なのかは分からんが、
ファイルシステム自体が OS 依存なので、
AWT ならぬ AFS でも作らないと無理だと思う。
>>341
知らないやつには意味不明なのは認めるが、i++とかだって知らないやつ
にはやっぱり意味不明だと思うが。
>>341
たぶん、smalltalk 譲り
あれのブロックの構文が [|var| statement] だから
347 ◆RubyOmS2 :01/11/22 18:19
>>345
プログラムを全然知らない人には、
i=i+1ですら意味不明だものな。
348Seisei_Yamaguchi:01/11/22 18:39
thanks >>344
>>347
間違った数式としか見えないだろうね。
350デフォルトの名無しさん:01/11/23 23:44
もうよかろage
351デフォルトの名無しさん:01/11/27 00:53
Ruby初心者です。
スレ違いかも知れませんがお許しください。

とあるソースでこういう記述がありました。

person[userid] = {"name" => name,
         "addr" => addr,
         "tel" => tel}

これは連想配列の連想配列だと思うのですが、
このそれぞれの値の取り出し方が分かりません。
コード中ではeach_pairという文を使って全てを取り出していましたが、
やりたいのは、あるuseridに対するnameやaddrなのです。
例えば、
person["ykhm001"]={"name"=>"hoge", "addr"=>"kanazawa","tel"=>"123"}
としたときに、
useridがykhm001のnameを取り出したいのです。

name = person["ykhm001"]["name"]
なんてやれば取り出せるのかな?と思ったのですがダメでした。

ご教授願います。
352 ◆RubyOmS2 :01/11/27 01:29
>>351
質問はこのスレであっている思う。

#!/usr/local/bin/ruby
person = {}
person["ykhm001"]={"name"=>"hoge", "addr"=>"kanazawa","tel"=>"123"}
name = person["ykhm001"]["name"]
puts name
----------------
hoge

ってちゃんとなったんだけど、、、
使っているRubyのバージョンはいくつ?
俺はRuby1.6.5でやったけど、うまく言ったぞ、、、
古いバージョンなら最新のバージョンにしてミソ。
353デフォルトの名無しさん:01/11/27 02:12
Ruby勉強中です。

person=Hash.new
person["ykhm001"]={"name"=>"hoge", "addr"=>"kanazawa","tel"=>"123"}
name = person["ykhm001"]["name"]
puts name

できちんと"hoge"がとれました。

#オリジナルは連想配列の連想配列ではなく連想配列の配列だとか・・
354351:01/11/27 02:16
すでに回答済み 汗,汗
リロードしとくべきだった・・・
355353:01/11/27 02:18
↑ぐわ番号までまちがえ。
たびたび失礼しました。
356 ◆RubyOmS2 :01/11/27 03:46
>>353
よくあることさ、どんまい。

ふと思ったが、空のArrayやHashを作るとき、
Array.newやHash.newとするのが普通なのかな?
俺はいつも[]や{}としているんだが、、、
みんなはどうしているんだ?
357 :01/11/27 03:50
{}はなんとなく他人に不親切な気がしてきたので、
Hash.newに替えた。
デフォルト値が要るときだけ new

"" は String.new("")、1 は Fixnum.induced_from(1) だけど
[] は Array.new、 {} は Hash.new か。
359351:01/11/27 15:36
◆RubyOmS2さん、353さん
ご回答ありがとうございます。
一つ言い忘れていたことがありました。
この連想配列ですが、クラス変数でした。

、、、が、とりあえず解決しました(^^;
コード中に変な文字が紛れているというポカミスでした(汗)
大変にお騒がせしました。
360デフォルトの名無しさん:01/11/28 22:10
age
361デフォルトの名無しさん:01/11/29 06:12
RUBY AGE
362 ◆RubyOmS2 :01/11/30 06:29
なんか、遅いな漏れ、、、

>>357
不親切か、、、
いきなり、{}だけあるのはやはりわかりづらいかもな〜
これは、Hashなんだよって強調する意味でも、Hash.newの方がいいかもね。

>>358
デフォルト値を後から設定するのはちょっと変だもんな。
なら、初めからnewで設定していて方がいいもんね。
そうすると、全体に統一性が無くなるのかな?
うーむ、、、ここら辺は好みの問題か、、、
363デフォルトの名無しさん:01/12/01 13:24
Rubyユーザを騙った荒らしは氏ね。
Ruby ユーザであっても荒らしは氏んでほしいけどね。
365デフォルトの名無しさん:01/12/01 22:29
本家/.でもrubyのトピックにキチィーがいた
所詮Rubyへの妬み。
>>366
Rubyユーザが妬みの一言で片付けてしまうのも問題かと思われ。
368デフォルトの名無しさん:01/12/02 20:41
それ以外の理由が思いつかない。
Rubyスレはなぜか言語自体の話題には触れられず、
ただ煽り合うのみ。
>>362
でも要素を一緒に初期化するにはHash.newじゃなくて{}じゃないと
>>370
空のHsahを作る話だったんだが、、、
372デフォルトの名無しさん:01/12/02 21:10
CGIオブジェクト(cgi.rbの)でENCTYPE=multipart form−dataの
フォームからのデータを受けると、データの形が通常と違くなるため(?)
そのままではデータとして扱えません。

[`hoge'] #p cgi[`data']
[#,#] #p cgi[`data']  mulutpartのときはこうなってしまう?

普通はどうやってデータを取り出すのでしょうか?
373 ◆RubyOmS2 :01/12/03 06:51
>>372
enctype=multipart/form-dataで渡された場合は、
例えば、hogeの一番目のデータである、
cgi['hoge'][0]はTempfileクラスのインスタンスになります。
TempfileはIOを直接継承していませんか、IOオブジェクトと同じような扱いができます。
cgi['hoge'][0].read
とすれば、データを取り出せますよ。
また、
cgi['hoge'][0].original_filename
とすれば、元ファイル名が得られます。

と言っても、俺自身使う機会がなかったから、
試したこと無いんですけどね。(つまり、間違っていたらスマソってこと)
374370:01/12/03 10:48
>>371
あぁ、そういえばそうだった。スマソ。

それに要素つきでも Hash[1=>"a", 2=>"b"] って書けるよね。
newは使わんけど。
そういえばさぁ、「rubyist」の定義ってどんなんだっけ?
たしかruby-lang.orgのページになんかあると思ったんだけど、
今ざっと見たら見付からなかった。
377372:01/12/04 14:50
>>373
助かりました。
input type=textのフィールドの中身も
.readで読み取ることができました。
378375:01/12/05 00:13
>>376
山樟。rubyistで該当する項目が一個もないな…。
require './sage'
Shige.new
森下しげ子タン……ハァハァ
森下九段の娘?
はたしてサンタはくるのか!?
o</:|}
年内には M17N 統合してほしかったけどねー。
2.0 が VM 版だとすると 1.8.4 くらいで M17N がマージされるかなあ。
"damning with faint praise"ってどういう意味?
exciteは「気絶賞賛で非難すること」なんつーんだけど
386 ◆RubyOmS2 :01/12/07 22:53
>>385
damn with faint praise
気のないほめ方をする 《実際には非難の意を示す》.
(リーダーズ英和辞典より)

faintは名詞じゃなくて形容詞として理解すべだろうな、、
excite翻訳は本当に使えない、、、
Perlメモ
http://www.din.or.jp/~ohzaki/perl.htm

ここみたいなRubyの正規表現一覧みたいなものはないのでしょうか?
>>387
もしかして、変数の頭にある$を消すだけで上手くいったりする?
>>388
試してみます。
上手くいきませんでした。
(?{ code })
↑このあたりの違いなのかもしれませんね。
>>390
どれが上手くいかなかった?
393390:01/12/08 17:53
>>392
http urlの正規表現です。
もちろん短いものならば大丈夫なのですが、
長いほうで失敗しました。
394デフォルトの名無しさん:01/12/08 19:55
ager
395 ◆RubyOmS2 :01/12/08 21:08
>>387-393あたり、、
文字列中の$を#$にするだけでうまく行くと思います。
それでもうまく逝かないなら、
#{$...}と{}で囲って変数であることを明示してください。
変数名前から$を取った場合は#{...}とすればいいです。
(?: ... )はRubyでも使えますのでご心配なく、、、
> invalid regular expression; there's no previous pattern, to which '?'
> would define cardinality at 462

これで挫折しました。素直にperl使っときます。お騒がせしました。
397396:01/12/08 21:55
できていました。本当にお騒がせしました。
398デフォルトの名無しさん:01/12/08 22:47
rubyからExcelをコントロールしようと
require 'win32ole'
excel = WIN32OLE('Excel.Application')
としましたが、
Ruby3:2: undefined method `WIN32OLE' for #<Object:0x6cd7b0>(NameError)
とエラーが出ます。
何が間違っているのでしょうか。
ruby(mswin32版のRubyWin)をインストールしたばかりなので、根本的に何か間違っているのだと思いますが。
>>398
WIN32OLE.new('Excel.Application')
ですね。
400398:01/12/08 23:55
>>399
あ、ほんとだ。直したらうまくいきました。ありがとうございます。
WIN32OLEはオブジェクトなのでメソッドじゃないよ、っていうエラーなんですね。
WIN32OLEの定義がないのでは、と勘違いしていました。
これでしばらくRubyで遊べそうです。
RubyってExcelを外部から操れるのか。すげーな。
402JustStupidRubyist:01/12/09 02:07
>>401
OLE ライブラリがある言語ならなんでも。
もちろん Perl や Python でも操れる。
WSH 使えば JavaScript や VBScript でも…
じゃぁRubyでOutlookのアドレス帳を静かに読み出して
指定アドレスにメールするスクリプトきぼん。
それじゃ、相手の環境にもrubyがないといかんから
ウイルスとしては意味ないだろう。
405ここが本スレ?:01/12/09 17:18
イテレータを逆順にたどる方法ってない?
a.reverse.eachだといかにも効率悪そうなんだけど。
a.reverse_eachって思いつきでやってみたけど駄目だった。
406 ◆RubyOmS2 :01/12/09 19:47
>>405
えっ?それでうまく逝かないの?
どう駄目だか詳しく言ってもらわないと、、、
407デフォルトの名無しさん:01/12/09 19:47
どのクラス?
Array だったら reverse_each を持ってるよ。
408デフォルトの名無しさん:01/12/09 20:43
Rangeを逆にたどるのってto_a.reverse_eachしないといけないかなぁ

# 10 9 8 ...と表示
(0 .. 10).to_a.reverse_each do |i|
 puts i
end

わざわざArrayを作らないでもできそうなもんだけど…
409405:01/12/09 20:52
えーと、reverse_eachがないのはStringで、
ないと思ってたのがArrayでした。
(.chmヘルプのキーワードに引っかからなかったので...)
で、結局イテレータは使わずこうなっちゃいました。ナンカイマイチ...

# 文字列sの文字chの位置を末尾から検索する。なければ-1。
def get_char_pos_tail(ch, s)
 i = s.length-1
 while i >= 0
  return i if s[i] == ch
  i-=1
 end
 return -1
end

p get_char_pos_tail(?o, "hello,world"); # = 7
p get_char_pos_tail(?x, "hello,world"); # = -1

話は変ってassertをRubyUnitから
言語仕様に移す予定ってないの?
いちいちrequireは面倒だし、非効率なので。
Range,String#reverse_eachは
需要がないんで手抜きして付けなかっただけだろ
411 ◆RubyOmS2 :01/12/09 21:03
>>408
整数だけなら、downtoを使うという手もあるかも、、

ra = 0..10
ra.max.downto(ra.min) do |i|
 puts i
end

だせーな、、、Arrayに変換してやった方がいいよ、、、
412 ◆RubyOmS2 :01/12/09 21:29
>>409
def get_char_pos_tail(ch, s)
 (s.length-1).downto(0) do |i|
  return i if s[i] == ch
 end
 return -1
end

downtoを使えばこんな風にもできるかも、、、
速くなるかどうかはしらないけど、、、
自分でわかりやすく書くのが一番かもね、、

>>410
eachしか定義されていないから、
to_aしてからしか逆順できないから、
付けなかったんでないか?
>>409
String#rindex じゃまずいんでしょうか?
%ruby -e 'p "hello,world".rindex("o")'
7
%ruby -e 'p "hello,world".rindex("x")'
nil
-1じゃなくてnilですが。
414デフォルトの名無しさん:01/12/10 00:24
やっぱり、VBAを知らないと、WIN32OLEは使いこなせないんでしょうか?
415デフォルトの名無しさん:01/12/10 00:45
Rubyが消えるのも間近だな。
ハイ、キエター
>>405
RubyUnit を標準添付するってはなしはあるらしいけど、
さすがに、言語組み込みはしないんじゃない?
418デフォルトの名無しさん:01/12/13 08:55

256本でオススメはどれよ。ちなみにオレはlinuxなので最初出たやつ
買ったけどwindowsの話しばっかでイミなかった
極道編だな。あと無道編。
魔道編と網道編もWebやってる人にはオススメ。
421デフォルトの名無しさん:01/12/13 10:37
最近Ruby始めました
Ruby関連の本で、真面目なものでオススメなもの教えてください
256本っていうのは、どうもふざけているようなので金を出す気に
なれません
422デフォルトの名無しさん:01/12/13 10:57
「プログラミングruby」 うさぎが表紙のやつ。
なんというか、すごく普通。普通にイイ。


あと、本じゃないけど↓もわかりやすくてイイ。
http://homepage1.nifty.com/~tetsu/ruby/
423デフォルトの名無しさん:01/12/13 21:48
Rubyを256倍使うための本 界道編
http://www.ascii.co.jp/books/detail/4-7561/4-7561-3993-0.html
今日発売。

Ruby/Tk がテーマらしい。
424デフォルトの名無しさん:01/12/13 23:28
>>421
256本は見ためはふざけてるけど内容は結構いいこと書いてあるよ。
raccとかは256本見るまでは全然使う気起こらなかったし
(使い方もよくわからんかったし)
rd、racc、rubyunitの使い方とかを学ぶためだけでも結構買う価値あると思うよ。
内容が古くなっちゃってるけど。
256のキモい文体やめて五冊を一冊に圧縮して出してくれよ。
426デフォルトの名無しさん:01/12/14 13:06
界道編 買った。結構いいかも。チュートリアルっぽく
全体的な概念を説明するかんじがわかりやすい。
427デフォルトの名無しさん:01/12/17 00:07
>>400
定数とメソッドは同名でも扱いは別。
rational.rbなんかをみてみればdef Rationalとclass Rationalが
別なのがよくわかる。

>>421
複数プロセスでなんかやりたいのならdRuby本もおすすめ。
428デフォルトの名無しさん:01/12/17 00:10
人生の敗北者まで言うのはかわいそうだよ。
確かに Ruby はうんこだが。
429デフォルトの名無しさん:01/12/17 08:12
エポック以前の年月日時刻オブジェクトは作れないのですか?
例えば誕生日などを得たい時、1965年生まれの人だと不可能なのでしょうか。
430 ◆RubyOmS2 :01/12/17 09:41
>>429
date.rbにあるDateクラスを使うといいと思う。
require "date"すれば使えるはず、、、
431429:01/12/17 14:28
>>430さん
ありがとうございます!助かりました。
432デフォルトの名無しさん:01/12/18 00:27
同じクラス内で、メソッドの引数の数によって動作を変える、ということは
できないのですか?
言い方を変えれば、引数なしで呼び出すあるメソッドと、
引数を二つとるメソッドの二つが同じ名前である、ということが可能なのでしょうか。
C++では出来たと思うのですが。(ちゃんと学んでないので確かではないですが)
def hoge(a = nil, b = nil)
if a == nil and b == nil then
...
else
...
end
end

ださっ
JAVA死滅スレなんて常時荒れてるのに
人生の敗北者スレに、マターリたむろしてるRuby厨っていったい・・・・・
>432
rubyはoverloadサポートしてないので無理。
配列使うと出来なくもないが嬉しくもない。
def foo(*a)
 if a.length == 2
  p a[0], a[1]
 else
  p a
 end
end
>>435
そうですか…ありがとうございました。
437デフォルトの名無しさん:01/12/18 01:41
[ruby-list:32911]のあたりで出てきたOverloadはどうよ?
http://www.ruby-lang.org/en/raa-list.rhtml?name=overload
438デフォルトの名無しさん:01/12/18 01:42
引数の型が無いのにオーバーロード?
聖戦士?
それはオーラロード。
>>438
型というよりは引数に対するパターンマッチかな。
442デフォルトの名無しさん:01/12/18 06:35
質問です。
クラスA、クラスBの両方にto_sメソッドがあったとします。
Bのto_sメソッドの定義にAのto_sを使いたいとき、どうすればよいのでしょうか。
443 ◆RubyOmS2 :01/12/18 06:56
>>442
質問の意味がよくわかりません、、、
BがAのサブクラスならば、Bで定義しなければ、そのまま、
Aのto_sが使われますけど、、、
それとも、BがAのインスタンスをインスタンス変数として持っているなら、
@a = A.new()だとすると、
def to_s
@a.to_s
end
と、すればいいかと、、、
AとBの関係が継承なの委譲なのかハッキリさせてくれ〜〜
それとも、全く無関係な二つのクラス?
だったら、更に意味不明、、、
444デフォルトの名無しさん:01/12/18 07:39
Aのソースからコピペ
>438
>>引数の型が無いのにオーバーロード?
現実問題として多態だけですべて処理することは出来ないので
結局433,435的な見苦しいコーディングが必要になってくるんだよな。
だからといって
def foo(Array arg) # Array用
def foo(arg) # その他
なんてのをサポートしろというつもりもないけど。
つーか最近rubyでクラス・関数定義してないし(藁
>>432
同じメソッドなのに振る舞いがそんなに異なるってのが原理主義者的には気持ち悪いが。
条件文で振り分けて異なる private メソッドを呼べば多少すっきり書ける。
447446:01/12/18 08:54
>>445
んーでも、オーバーロードが要求されるのは、
String と Integer とかデータに近いオブジェクトを
同じメソッドで処理しようとする場合が多くない?

先にどちらかの型に変換してからメソッドに渡すか、
オーバーヘッドは承知でクラスを定義しそれにラップして使うか、
俺はこのどちらかにしてる。
同じ振る舞いが期待できないオブジェクトを
同じメソッドに渡すのは何か変だと思うので。
448デフォルトの名無しさん:01/12/18 09:02
>>442
AとBに共通部分があるならそれをモジュールにする

module M
def to_s
...
end
end

class A
include M
...
end

class B
include M
...
end

実際にはto_sじゃなくて、
別の本質的な所をMに入れたほうがいいと思うけど。
>def foo(Array arg) # Array用
>def foo(arg) # その他

これがサポートされたら嬉しいな、漏れは。
今まで、これを疑似的に実現する為に、何個もif書いた事があったから。
450446:01/12/18 09:33
失礼。visitor パターンを失念していた。
こんなもんで。

def visit(component)
case component
when Composite
visit_composite(component) #private method
when Leaf
visit_leaf(component) #private method
else
raise "class #{component.type} is not visitable"
end
end
>>449
どっかの外人がやってた気が。
標準に取り込まれるのは大変そうだけど。
こんなのは?

class Hoge
def foo(o)
n = o.type.name
send('foo_' + n, o)
end

def foo_String(s)
return s + '1'
end

def foo_Fixnum(i)
return i * 10 + 1
end
end

h = Hoge.new
p h.foo(123)
p h.foo('123')
453デフォルトの名無しさん:01/12/18 20:46
irb(main):041:0> unko = '\n'
"\\n"

となるのはナゼ!
454453:01/12/18 21:02
あ、なんかわかってきた。

irb(main):014:0> print "\\"
\nil
irb(main):015:0> puts "\\"
\
nil
irb(main):016:0> print "\\n"
\nnil
irb(main):017:0> print '\n'
\nnil
irb(main):018:0> print 'unko'
unkonil
''の中では\nは特別な意味を持たないから。
で、inspectで'\'をエスケープして表現するために'\'を追加する。
>>452
>>437のoverload.rbで書いてみた。

require 'overload'

class Hoge
def foo(s)
return s + '1'
end
overload :foo, String

def foo(i)
return i * 10 + 1
end
overload :foo, Fixnum
end

h = Hoge.new
p h.foo(123)
p h.foo('123')
457453:01/12/18 21:49
完全に理解したYO! ありがとう!>>455
cgi.rbには引数の方を調べているメソッドがありますね。
CGI#headerとか。引数がHashだと引数名と値の組として扱って、
それ以外だと引数の意味を決め打ちしている感じ?(説明下手でスマソ)
>>458
誤: 引数の方
正: 引数の型
寝ます。
>>458
それはオーバーロードというよりは、キーワード引数の代用。
1.8にも入らなそうだから、1.9かなぁ。
461デフォルトの名無しさん:01/12/19 14:27
Windowsで拡張子.rbをruby.exeに関連付けて
環境変数pathextを%pathext%;.rbって設定して
echo hello,world | myfilter.rb
って実行するとgetsでBad file descriptor (Errno::EBADF)
ってエラーが出るけどどうにかならない?
echo hello,world | ruby myfilter.rb
ならちゃんと実行できるのに。

myfilter.rb:
while gets
 puts $_
end
462デフォルトの名無しさん:01/12/19 14:44
require 'net/http'

def post_http(server, path, data)
Net::HTTP.start( server, 80 ) {|http|
response , = http.post( path, data )
#puts response.body
}
end

Rubyで、Webにアクセスするプログラムを書いているのですが、
postするときのRefererの設定の仕方がわかりません。
ご存知の方はいますか?
>>461
PATHEXTがあるってことはNT系?
ruby.exe -vの出力は?
464461>463:01/12/19 15:02
C:\
> ruby -v
ruby 1.6.5 (2001-09-19) [i586-mswin32]

C:\
> ver

Microsoft Windows 2000 [Version 5.00.2195]
です。perlでも同様なのでruby固有の問題でもなさそう??
>>462

Net::NTTP#post(path, data, u_header = nil, dest = nil)
だから、

response, = http.post(path, data, 'referer' => 'http://localhost/')

じゃなかったかな。
466デフォルトの名無しさん:01/12/19 15:21
>>465
サンキューです。
いまから試してみます。
467463:01/12/19 15:39
>>464
PATHEXTで指定しておくと、間にcmd.exeでも入っちゃうのかな。
BADFな話はちょっと前にどっかで出てたような気がするんだが、
見付けられなかった。スマソ。

> ruby 1.6.5 (2001-09-19) [i586-mswin32]

最新では直ってるかも知れないので、できれば1.7で試して欲
しい。つーかWindows対応自体がまだ開発途上の部分があるの
で、1.7を激しく推奨。

ダメならruby-bugs-jaにでも出しといてくれるとありがたい。
464じゃないけど、1.7.2でも駄目みたいだね。
やっぱりEBADFで、「プロセスが、存在しないパイプに書き込もうとしました」
と出る。
時にこのスレってオフィシャルサイト・MLで認知されてるの?
認知ってのは?
>>469
見ている人はいるみたい。
意見は ML に書いてくれたほうが汲み取りやすいのにって感じだけど。

こういう欄もある。
http://www.jin.gr.jp/~nahi/RWiki/?cmd=view;name=ML+Topics
>>471
後は以前も話題にのぼった Rubyist! とか。
http://www.rubycolor.org/r/
単にメンバーが見てるかどうかっつー意味ならもちろんYesだが。
認知というとなんかDNA鑑定でもやってるような。
いっそ構文糖指向言語Rubyに改名しちゃえば
overloadもa++もa +1もすべて実装されるのに
1.7だとa +1はa + 1と同等に扱われる
parse.y が益々悲惨になっていくなあ。
魔窟と化してるな(藁
478デフォルトの名無しさん:01/12/20 02:29
>>474
one-liner書けなくていいし、Perl並みにコードが短かくならなくていいから、
diet-Rubyとか銘打ってサブセットが欲しい。
>>478
速度的にはまだまだだね。

ruby-1.6.5-bcr で example.rb 100回実行
3.78u 2.29s 0:07.81 77.7%
3.88u 2.24s 0:07.79 78.5%
3.78u 2.23s 0:07.73 77.7%

ruby-1.6.5 で fact.rb をいじって Fixnum に faictorial メソッドをつけ、
(1..50).each{|i| puts i.factorial} したものを 100 回実行
2.32u 1.33s 0:04.04 90.3%
2.09u 1.38s 0:04.09 84.8%
2.26u 1.36s 0:04.04 89.6%

Ruby で書かれたライブラリを使っている分遅くなってるのかな。
% cumulative self self total
time seconds seconds calls ms/call ms/call name
11.54 0.03 0.03 3 10.00 46.67 Kernel.require
11.54 0.06 0.03 1 30.00 50.00 Range#each
11.54 0.09 0.03 23 1.30 3.48 Bytecode::Writer#method_mi
ssing
7.69 0.11 0.02 25 0.80 2.00 Class#new
7.69 0.13 0.02 10 2.00 5.00 Bytecode.instruction
7.69 0.15 0.02 52 0.38 0.38 Kernel.puts
3.85 0.16 0.01 35 0.29 0.29 Array#length
3.85 0.17 0.01 83 0.12 0.12 Kernel.kind_of?
3.85 0.18 0.01 8 1.25 1.25 Bytecode::LdLoc#code
3.85 0.19 0.01 23 0.43 1.30 Bytecode::Instruction#init
ialize
3.85 0.20 0.01 8 1.25 1.25 Bytecode::Call#size
>>480
自分でbytecode書かなきゃならんってのからして、実験段階だし。
JITもそうだけど、変換するオーバーヘッドって結構バカにならんのよね。
まーね。α0.0.1 で一応動いているのだから大したものだ。
ゆくゆくは Java のようにバイトコードコンパイルして
好きな VM で実行ということになるのかしらん。
そしてJavaのようにいろんなVMのことを考えながら
ソースを書かないといかんのか。
484デフォルトの名無しさん:01/12/21 14:56
aaa<foo>bbbb</foo>cccc

この様に、HTML風のタグが埋め込んであるテキストから
タグを取り除く処理を書きました。
もう少しRubyらしい効率の良い書き方が
できると思いますが、Ruby使いの方、どうでしょうか。

def conv_mtext_to_ptext(mtext)
 ptext = ''
 pos1 = 0

 mtext << '<>' #番兵
 while true
  pos2 = mtext.index('<', pos1)
  break if pos2 == nil
  ptext << mtext[pos1..pos2-1] if pos2 > 0
  pos1 = pos2

  pos1 = mtext.index('>',pos1)
  break if pos1 == nil
  pos1 += 1
 end
 ptext
end
485デフォルトの名無しさん:01/12/21 15:06
>>484
print str.gsub(/<.+?>/m, '')
>>485
空でもいいんだからこうだろ
print str.gsub(/<.*?>/m, '')
487デフォルトの名無しさん:01/12/21 15:16
>>485
なるほど一行ですんでしまいますね。どうもサンキューです。
488デフォルトの名無しさん:01/12/21 18:56
rubyインタプリタ初期化して
スクリプトの先頭行から再実行するメソッドってないですか?
>>488
そういうメソッドはない。
別プロセスで実行すれば?
490デフォルトの名無しさん:01/12/21 21:35
>>488
>rubyインタプリタ初期化して
> スクリプトの先頭行から再実行するメソッドってないですか?

exec
491デフォルトの名無しさん:01/12/22 00:26
10進数を2進数にするプログラムを書いたんですが、あまり
カコヨクないです。こんなんでいいんでしょうか。

count = ARGV.shift.to_i
count01 = ""

while count > 0
count01 += count.modulo(2).to_s
count /= 2
end

if count01 == ""
puts 0
else
puts count01.reverse
end
puts "%b" % 10
とかじゃだめか?
>>491
printf("%b\n", ARGV.shift.to_i)
494デフォルトの名無しさん:01/12/22 00:52
オウ!やっぱり1行になってしまうのか(>>487さんじゃないけど。。)

ありがとッス
495463:01/12/22 01:23
>>464,468
やっぱ分からん。つーか確認できる環境がない。
ruby-bugs-jaに書くなりメンテナにメールするなり頼む。
たぶん、cmd.exeがstdinを渡してくれてないような気がするが…。
496デフォルトの名無しさん:01/12/22 12:33
p " == foo=bar [foo] = 0".gsub(//, "@") == "== foo@bar [foo] @ 0"

gsubに穴埋めして true になる美しい書き方どうやるん?
単純に /=/ だと == が @@ になってしまうよ
訂正
p " == foo=bar [foo] = 0".gsub(//, "@") == "== foo@bar [foo] @ 0"

p " == foo=bar [foo] = 0".gsub(//, "@") == " == foo@bar [foo] @ 0"
498 ◆RubyOmS2 :01/12/22 14:28
>>496
取りあえず二つ考えてみた。
gsub(/([^=]|^)(?!==)=/, '\1@')
ちと、格好悪いな、、
gsub(/=+/){if $&.length == 1 then "@" else $& end}
もっと格好悪いか、、、でも、ある意味美しい?
正規表現にそんなに詳しくないので、俺が出来るのはこれぐらいか、、、
もっと美しい方法はないのかな〜〜〜
499496:01/12/22 15:52
>>498
> gsub(/([^=]|^)(?!==)=/, '(\1)@')
(=以外または行頭)の後かつ==が前にこない=を=の前の文字と@に置換
ということなのか??? 解読不能(w

> gsub(/=+/){if $&.length == 1 then "@" else $& end}
$&の長さを調べてしまう方法は全然思いつかんかった。
十分美しいと思います。勉強になりましたー
>>499
> > gsub(/([^=]|^)(?!==)=/, '(\1)@')
> (=以外または行頭)の後かつ==が前にこない=を=の前の文字と@に置換
> ということなのか??? 解読不能(w

こう書いたほうが分かるか?
gsub(/([^=]|^)=(?!=)/, '\1@')
(=以外または行頭)の後ろの=でその後が=でない。
Rubyの正規表現にはまだlook behindがないんだよなぁ。
あればgsub(/(?<!=)=(?!=)/, "@")ってできるのに。
>>495
メンテナにメールしても無駄だと思うぞ(w
どうしても気になるならruby-bugs-jaに書くのが筋だろう。
503デフォルトの名無しさん:01/12/23 21:38
Rubyを愛する奴は人生の勝ち組
504独り言クソ:01/12/23 21:42
Ruby、愛してるさ、本もいっぱい買ってきたよ。
でも、1行も書いたことないよRuby。
505デフォルトの名無しさん:01/12/23 22:28
Rubyってコンポーネント仕様はあるのかな?
今日び、他言語や他技術と連携する為のコンポーネント仕様をサポートしてなければ、
あんまし存在価値ないんじゃない?
506デフォルトの名無しさん:01/12/23 22:32
>>505

スクリプト言語にそんなもの必要か?
507デフォルトの名無しさん:01/12/23 22:33
コンポーネントコンポーネントコンポーネントコンポーネント
>>505
Ruby/PerlやRuby/Pythonみたいに
Perl/RubyとかPython/Rubyが欲しいってこと?
509デフォルトの名無しさん:01/12/24 16:33
コンポーネント仕様って何?
OLE だったら使えるけど。
本人もわかってないのだから質問しちゃ駄目w
寒い、寒いよ、みなさん。
なんで敗北者すれでこんなにRuの話してんですか?
別スレ立てりゃいいと思うんですが。
自虐もここまでやると潔いです。
というか、Ru厨の方々はこういったタイトルだと電灯に吸い寄せられる虫みたいに寄ってくるので、逆にこのスレのタイトルの方がよかったりするんですか?
ロシアは雪に覆われてんだろーなー。
とりあえず使い切ってからという貧乏症。
>>511
普通の人間は特定の言語に強烈に愛着もったり嫌ったりしないから、
そういう人にとっては、どうでも良いのでは?
>>511
ここが一番まともなRubyスレで、マターリとやってるみたいだからいいんじゃないの?
スレ新しく立てたって絶対荒れるって。
>>511
「名前は大切だ」というRuby哲学に対する反例だから。
1.6.6あげ
517デフォルトの名無しさん:01/12/27 15:10
HTMLのコメントを取り除くのって、どうすればいいですか?

s.gsub!(/<!--.*-->/m, '')
これだと、コメントが複数あった場合にうまく動かないし、

s.gsub!(/<!--[^>]*-->/m, '')
こうやってみたけど、[<!-- > -->]こういうのがうまく削除できない見たいだし、

うまくいきません。
518デフォルトの名無しさん:01/12/27 15:20
s.gsub!(/<!--.*?-->/m,'')
とかどう?
>>518
うまくいきました。
ありがとうございます。
って、どうしてそれでうまくいくのかはわからないけど(^^;
520デフォルトの名無しさん:01/12/27 15:41
>>519
googleのキーワードとしては、
正規表現 最短一致 .+?
などがおすすめ。
>>520
サンキューです。
ばっちりわかりました。
>ruby-list:33026

>rubyist MLで予告していた通り25日分のRDをまとめたものを
>ruby-man-ja-1.6.6-20011225-rd.tar.gz としてリリースします。

いや、そりゃ大変ありがたいんだけど、これを使うにはどうすりゃいいんだ?
おまけに、"rubyist ML"なんてマイナーなMLの話題をいきなり振られてもなぁ。

いや、RDの使い方は知ってるしインストールもしてるけどさ、htmlに変換しようとするとエラーが出るんだよ。。。
=begin =endはつけた、もちろんな。

こんな厨房質問、恥ずかしくてMLにできないよ。。。
ハァァ・・・
どういうエラー?
524522:01/12/27 19:38
>>523
とりあえず、状況を書いてみるテスト。
最新のRDにアップデートしてください、ってオチかなぁ。。。

rdtool: 0.6.7
racc: 1.3.8
optparse: 0.7.9

$ cat *.rd > man.rd
$ vi man.rd (=begin, =endを入れる)
$ rd2 man.rd > man.html

:442:in `quote': failed to convert false into String (TypeError)
from
:442:in `prev_words_on_error'
from
:430:in `on_error'
from /usr/local/lib/ruby/site_ruby/1.6/racc/parser.rb:97:in `_racc_do_parse_c'
from /usr/local/lib/ruby/site_ruby/1.6/racc/parser.rb:97:in `__send__'
from /usr/local/lib/ruby/site_ruby/1.6/racc/parser.rb:97:in `do_parse'
from
:348:in `parse'
from :32:in `_reduce_12'
from /usr/local/lib/ruby/site_ruby/1.6/racc/parser.rb:97:in `_racc_do_parse_c'
from /usr/local/lib/ruby/site_ruby/1.6/racc/parser.rb:97:in `catch'
from /usr/local/lib/ruby/site_ruby/1.6/racc/parser.rb:97:in `_racc_do_parse_c'
from /usr/local/lib/ruby/site_ruby/1.6/racc/parser.rb:97:in `__send__'
from /usr/local/lib/ruby/site_ruby/1.6/racc/parser.rb:97:in `do_parse'
from 牴
:231:in `parse'
from /usr/local/lib/ruby/site_ruby/1.6/rd/rdfmt.rb:809:in `parse'
from /usr/local/bin/rd2:192
>>524
> 最新のRDにアップデートしてください、ってオチかなぁ。。。
たぶんそれっぽい。

ruby: 1.7.2 20011227
rdtool: 0.6.10
racc: 1.3.9
optparse: 0.8.6
だと動いた。
raccがちと古いが…。

つーか、この文字化け(?)が気になる。raccのバグかruby本体のバグか。
rubyのバージョンは?
> from 牴
> :231:in `parse'
> from /usr/local/lib/ruby/site_ruby/1.6/rd/rdfmt.rb:809:in `parse'
> from /usr/local/bin/rd2:192
526522:01/12/27 20:15
>>525
Very Thanks!
新しくすれば、ちゃんと変換できることがわかれば、最新のものにしようとする気力も出るというものです。
っていうか、MLの人も要求するRDのバージョンを入れといて欲しかった。。。

>つーか、この文字化け(?)が気になる。raccのバグかruby本体のバグか。

もちろん1.6.6ですぜ、旦那。
ruby 1.6.5 (2001-09-19) [i686-linux]
に戻して変換したら、また違うエラーになりました。。。

なお、自分で書いたrdファイルをいくつか変換してみたけど、
1.6.6でも1.6.5でも問題なく変換できてます。

# つーか、RDのエラーってわかりずらいんじゃ、ヴォケ。
# 自分でrdをだーーーっと書いて変換してエラーが出たら、どこかわかんないよーーー。

---
テ:442:in `quote': failed to convert false into String (TypeError)
from テ:442:in `prev_words_on_error'
from テ:430:in `on_error'
from /usr/local/lib/ruby/site_ruby/1.6/racc/parser.rb:97:in `_racc_do_parse_c'
from /usr/local/lib/ruby/site_ruby/1.6/racc/parser.rb:97:in `__send__'
from /usr/local/lib/ruby/site_ruby/1.6/racc/parser.rb:97:in `do_parse'
from テ:348:in `parse'
from 態の
:32:in `_reduce_12'
from /usr/local/lib/ruby/site_ruby/1.6/racc/parser.rb:97:in `_racc_do_parse_c'
from /usr/local/lib/ruby/site_ruby/1.6/racc/parser.rb:97:in `catch'
from /usr/local/lib/ruby/site_ruby/1.6/racc/parser.rb:97:in `_racc_do_parse_c'
from /usr/local/lib/ruby/site_ruby/1.6/racc/parser.rb:97:in `__send__'
from /usr/local/lib/ruby/site_ruby/1.6/racc/parser.rb:97:in `do_parse'
from 精231:in `parse'
from /usr/local/lib/ruby/site_ruby/1.6/rd/rdfmt.rb:809:in `parse'
from /usr/local/bin/rd2:192
---
527522:01/12/27 20:22
ふと思いついて、
/usr/local/bin/rd2の先頭の
#! /usr/bin/env ruby

#! /usr/local/bin/ruby -Ke
にしてやってみた。

またまた違う文字化けエラーにナッタヨ。
エラーメッセージは(略)。

ツールを作ってくれる人には、本当に感謝してるけど、
こういうツールこそ、サクッとなんでも変換してホシイナァ。

あー、俺って駄目人間だなぁ。。。
528デフォルトの名無しさん:01/12/27 21:34
rubyのcgi動かせる無料ISPって無いの?
RD は他のドキュメンテーション言語/ツールでリプレイスすべきだと思うよ。
個人的に RD のようなルーズな書式より
XML のような構造化された書式が好きなだけなんだけどね。
ruby/parse.y と同じで人にとって優しいほど機械にとってややこしいんだろうな。

>>528
http://www.xrea.com/jp/
>>526
> # つーか、RDのエラーってわかりずらいんじゃ、ヴォケ。
> # 自分でrdをだーーーっと書いて変換してエラーが出たら、どこかわかんないよーーー。
新しいrdtoolはエラーメッセージももう少し分かりやすくなってる。たぶん。
$ cat a.rd
=begin
((-aa*))
=end
$ rd2 --version
RDtool -- rd2 0.6.10
RDtool Framework -- Document Tree 0.6.10
RDtool Framework -- Visitor 0.6.10
$ rd2 a.rd
RD syntax error: line 2:
...((-aa *))
 ...
         ^^^
# fixedでないとちゃんと見らんないかも。

> from /usr/local/lib/ruby/site_ruby/1.6/racc/parser.rb:97:in `do_parse'
> from テ:348:in `parse'
> from 態の
> :32:in `_reduce_12'
> from 精231:in `parse'
ああ、>>522じゃ気づかなかったけど、一ヶ所じゃないのか。

手元の1.6.6で試したらちゃんと表示されたけど、これは最近ruby-talkで出て
たruby_sourcefile関連のパッチを当ててあるんで、素のままで試すとたしか
にへんなのが出力されるあたり、本体のバグっぽい。
RDで苦労してるね。
漏れも過去に物凄いハマってRD恐怖症になった。
raccとか、なんとかscanとかrdtoolとか何がどう関係しているのか・・・
最初から完璧に動くパッケージで配布してくれたら
とっつき易かったのに。
rdtoolを標準配付にしようという動きはあるな。
raccのランタイムはもうroughに入ってる。
533522:01/12/28 00:10
>>529
>RD は他のドキュメンテーション言語/ツールでリプレイスすべきだと思うよ。
うーむ、そうですか。
俺はRDって、書くのが楽だし、コード埋め込みのドキュメントが書けるので
結構気に入ってるんで、しばらくこれで行くつもりです。
何かお勧めあります?

>>530
>手元の1.6.6で試したらちゃんと表示されたけど、これは最近ruby-talkで出て
>たruby_sourcefile関連のパッチを当ててあるんで、素のままで試すとたしか
>にへんなのが出力されるあたり、本体のバグっぽい。
ガーソ。
明日はもう仕事しないから、試すのは来年になるなぁ(家にはLinuxが無い)。
それまでに、公式サイトのヘルプが1.6.6対応になるかも。

>>531
うむうむ、俺もかなり苦労した記憶が。。。
>>532さんの言うように、Perlみたく標準配布にしてくれないかなぁ。

俺ってとことん駄目人間かも。ウトゥ
windowsだったら
ActiveRuby.msiインストールしたら
rdtool使えるようなセットになってるはず。
て、linuxって書いてたね。
ごめんなさい
たしかDebianとかVineあたりはrdtool関連のパッケージがあったような気がす
るが。
beyond 討ち死にsage

これを機会に CGI 関連のライブラリを
書き直してほしいなあ。
>>537
> beyond 討ち死にsage
いや、まだまだ(藁。

> これを機会に CGI 関連のライブラリを
> 書き直してほしいなあ。
それは同意。どうするのがいいのかね。
539デフォルトの名無しさん:01/12/29 18:29
>>533
まだ使ったことは無いけど、こんなのもあります。

RDoc http://www.ruby-lang.org/en/raa-list.rhtml?name=RDoc

Rubyスクリプトのclass,module,defなんかの構造をHTMLに吐いてくれます。
(JavaDoc風? Javaは知らないけど)
メソッドやクラスに対するコメントも
付けられるので、便利みたいです。

内部でIRBの字句解析のライブラリを使っているので、
RDocが想定していないIRBのバージョンを使うと、
動かないかもしれません。

# ちなみに私もRDは好きです。
その手の人って隙あらば独自スキームをすぐ作っちゃうからねぇ。
界道編イイネ
この本と widget-demo があれば大抵のもの作れるね
542デフォルトの名無しさん:02/01/01 20:12
des-crypt のラッパーを書いてみたんですが、下のでなんか
マズイとこあるでしょうか。一応うちの環境では動きました。

#include "ruby.h"
#include "crypt.h"
#include "string.h"

static VALUE
rcrypt(self, key, salt)
VALUE self;
VALUE key;
VALUE salt;
{
Check_Type(key, T_STRING);
Check_Type(salt, T_STRING);

return rb_str_new2(crypt(STR2CSTR(key),STR2CSTR(salt)));
}

Init_crypt()
{
VALUE mCrypt = rb_define_module("Crypt");
rb_define_module_function(mCrypt, "rcrypt", rcrypt, 2);

}
なぜ、今更DES。。。
イヤ、トリップを出すやつを自分で作ってみたかったんで。。。ちなみに
こんなんです。
require "crypt"
require "kconv"
include Crypt
key = Kconv.tosjis(ARGV.shift)
salt = key[1,2]
salt.tr!("\x00-\x20\x7b-\xff", ".")
salt.tr!("\x3a-\x40\x5b-\x60", "A-Ga-f")
puts rcrypt(key, salt)[-8,8]
>>542
マズくはないけど、なんでString#crypt使わんの?
546542:02/01/02 11:15
うあああ、知らなかったああ
今度からちゃんとまにある読みます。恥晒しsage
547542:02/01/02 11:15
ああ、ageちゃったよ・・。
548542:02/01/02 11:16
ああ、ageちゃったよ・・
漏れも昔はそうだった。

頑張れ、若造。
550デフォルトの名無しさん:02/01/04 02:45
数値にのみ作用するsuccってないの?
"src001.rb".succ # "src002.rb"
"src009.rb".succ # "src010.rb"
"src9.rb".succ # "src10.rb"
class String
def numsucc
sub(/\d+(?=\D*\z)/) {|s| sprintf("%.*d", s.length, s.to_i+1)}
end
end
552 ◆RubyOmS2 :02/01/04 04:33
>>551
sub(/\d+(?=\D*\z)/{|s| s.succ}
じゃ、駄目なの?
おけ。
そういや素のString#succって使ったことないな
何でこんなのついてんの?
split(1)を簡単に書けるようにするため。
とかいってみる。
556仕様書無しさん:02/01/04 06:21
class Foo
local = 55
@inst
def func
...
end
end
クラス中のローカル変数と、インスタンス変数の
違いはどうちがうのでしょうか?
これ実行してみ。

class Foo
local = 55
@inst = 77
end
class Foo
p @inst
p local
end
558デフォルトの名無しさん:02/01/04 12:14
>>552
sub(/\d+/){|s| s.succ}
でいいんじゃないの?
559551:02/01/04 14:53
>>558
数字列が複数あったときにどうするかということだが、
末尾から変えていくというString#succの仕様に従った。
560デフォルトの名無しさん:02/01/05 15:30
>>554
Range のためだとおもふ
ruby.jpって誰が押さえてんの?
オブジェクト指向の設計法などをきちんと勉強できる
オススメの本はありますか?
>>561
$ whois -h whois.nic.ad.jp ruby.jp
Domain Information: [ドメイン情報]
[Domain Name]          RUBY.JP

[登録者名]           ルビー産業株式会社
[Registrant]          RUBY INDUSTRIAL CO.LT

[Name Server]

[登録年月日]          2001/03/26
[有効期限]           2002/03/31
[状態]             Active
[最終更新]           2001/03/26 00:00:00 (JST)

Contact Information: [公開連絡窓口]
[名前]             ルビー産業株式会社
[Name]             RUBY INDUSTRIAL CO.LT
[Email]             [email protected]
[Email]             [email protected]
[郵便番号]           530-0044
[住所]             大阪府大阪市北区東天満2-3-14
                サンピアフクダビル6階
[Postal Address]        2-3-14 higasi-tenma Kita-ku
                Osaka
[電話番号]           06-6358-3681
[FAX番号]            06-6358-5744
>>562
これ一冊でというのは思いつかない。
XP のピンク本、デザパタ(結城本&GoF本)、リファクタリングくらいは読んでおくとして、
UML 使うなら UML ユーザガイドやユースケース入門が参考になるかな。
JavaWorld を毎月読んでいれば関連記事が結構あるので勉強になる。

なんかピアソンばかりだな。訳書は訳がひどいが我慢しる!
http://www.pearsoned.co.jp/washo/object/index_wa_obj.html
565562:02/01/05 23:36
>>564
ありがとうございます。
フーム、そうですか。まぁ、本屋であさってみます。
でも、まずこれ!!というのはないのでしょうか?>詳しい方
566558:02/01/06 06:40
>>559
そういうことだったのか。納得。
http://freshmeat.net/articles/view/358/
生肉にルビーマンセー記事が出てるよ。
自称言語ヲタのまつもと氏は関数型言語をどう評価してるの?
整数を16進表記に書き換えるにはどうしたらいいの?
いちいちsprintf使わないと駄目ってことはないよね?駄目?
570デフォルトの名無しさん:02/01/09 04:11
ageよう
>>569
1.7ならi.to_s(16)みたいにできる
1.6までだとsprintf("%x",i)か"%x"%iだな
572デフォルトの名無しさん:02/01/10 09:47
apolloをDLしたら、Rubyの apollo/bin/のRubyのバージョンが
1.65だったですが、最新のRubyに置きかえるには、
apollo/binの中にRuby/binのファイルを全部上書きすれば
いいのでしょか?
573デフォルトの名無しさん:02/01/10 12:29
>>572
apolloで思い出したが、TkとかApolloとかのGUIツールって
設計はテキストエディタでシコシコだよね?
HSPにすら、(HSPで作った)GUI設計ツールがあるというのに
これはどうしたものでしょか?
 VisualApolloとかってあるんでしょか?
FormDesignerの出力を共有できるようにすればよい、と思われ。
575デフォルトの名無しさん:02/01/10 15:34
Ruby/Tk 用なら SpecRuby ってのが、
一応有るけど、イマイチ使えない。

http://www.ugcs.caltech.edu/~rise/SpecTcl1.1-for-Ruby.tar.gz
i.to_s(16)とsprintf("%x", i)は負数の扱いが違うらしい。
gtkライブラリのImLibのクラスが消滅していた。
いつの間にかgdk_ImLib.soに引っ越してたらしい。
でも、んなもん標準ではついてこないし。ソースは入手したがコンパイル
出来ないし(cygwin版)…

仕様変更するのはいいけど、もうちょっと考えてやってくれんものかねぇ
つか、その辺のこといっさいドキュメントには書いてないってのはどういうことよ?
>>577
> でも、んなもん標準ではついてこないし。ソースは入手したがコンパイル
> 出来ないし(cygwin版)…
cygwin版だってソースは一緒だろ。
>>576
そりゃバグなんじゃなかったっけ?
580577:02/01/12 03:04
一緒だとは思うんだけど……

extconf.rb内のimlib-configなどのファイルが無かったもんでMakefileすら
作れなかった。
現在Net上で捜索中。
これがないってのは、やっぱうちの環境が悪いのか?(泣
>>580
imlib-configがないってことは、imlib自体がインストールされてないんじゃないの。
582デフォルトの名無しさん:02/01/15 19:42
MSWIN版のRubyでレジストリの読み書きしたいんだけど、
どうするのがいいと思う?
583デフォルトの名無しさん:02/01/15 19:59
. ∧   ∧
( ´ ・∀・`) へー
584デフォルトの名無しさん:02/01/15 22:11
>>582
WSH使え
Windows専用のモジュールをtar.bz2で配布するのは
何かの嫌がらせですか?
rar とか gca 使われるよりいいだろう
>>576
Fixnum か Bignum かで違ってたのがバグで
to_sとsprintfで違うのは仕様(ruby-bugs-ja:PR#180)。
>>582
[ruby-dev:15573]のwin32/registry.rbはどうよ?
どなたか下のソース(cgi.rbの一部抜粋です)が何をしてるか教えてくれませんか?
私ニハ難シクテ...

for env in %w[ CONTENT_LENGTH SERVER_PORT ]
 eval( <<-END )
  def #{env.sub(/^HTTP_/n, '').downcase}
   env_table["#{env}"] && Integer(env_table["#{env}"])
  end
 END
end
>>590
まず、%w[....]の所はわかるよね、、、
["CONTENT_LETNGTH", "SERVER_PORT"]というArrayと同じです。
それを簡単に書くための方法。
つぎに、eval( <<-END )やけど、これはENDと書かれた行までを
Rubyの文として評価するというモノ。
このとき、一度、ENDまでの文字は全て文字列に変換されることに注意。
#<<-ENDってのはヒアドキュメントって言うことです。
つまり、一番始めに、envに"CONTENT_LENGTH"と言う文字列がいれられ、

def content_length
 env_table["CONTENT_LENGTH"] && Integer(env_table["CONTENT_LENGTH"])
end

という、文字列が作られてから、これをRubyの文として、評価するというモノ。
つまり、これで、CGI#content_lengthというメソッドを作っているというわけだ。
俺、、あんまり説明うまくねーなー、、、
592590:02/01/17 20:36
>>591
なるほど!
よくわかりましたm(__)m

私には難しかったですが、ソースの行数をとても節約できそうな方法ですね。
覚エテオコウット...
嫌がらせのような書き方だな。
C のマクロの代わりみたいなもんだ。
俺はこういう書き方は非常に嫌いだが。
文章の中でhttp://www.ruby-lang.org/ja/などのhttp://やttp://で始まるURLらしき文字列を
<a href="http://www.ruby-lang.org/ja/">http://www.ruby-lang.org/ja/</a>
という感じで加工したいんですけど、知恵をかしてくださいm(__)m
ある程度抽出加工できればRFCに乗っ取った厳密なやつでなくていいです。
>>595
str.gsub(%r!http://\S+!, '<a href="\0">\0</a>')
str.gsub(%r!ttp://\S+!, '<a href="h\0">h\0</a>')
597595:02/01/19 01:13
>>596
ありがとうございます。
でもそれだとURLのすぐ後ろに文字が並んでいる時にうまく行きません。
もう少し精度をあげたいです。
598595:02/01/19 01:14
あげちった
死んできます
>>595
Perlメモの正規表現を使えばいいのでは?
600 ◆RubyOmS2 :02/01/19 04:45
>>595
文字列って日本語の文字列だよね?
だったら、nオプションをつければ日本語にはマッチしないはず。
%r!http//\S+!n
ってね。
601595:02/01/19 13:37
>>600
下のようにやってみましたがうまくいきません。
hoge = "http://www.ruby-lang.org/index.htmlここいいですよ"
print hoge.gsub(%r!http://\S+!n, '<a href="\0">\0</a>')
どうして・・・
\Sは空白以外だから、当然ひらがなにもマッチする。
%r(\bh?ttp://[-+/!()\#%&~.,:;?]+)n あたりかなぁ。
確実なのが欲しければRFCとかlib/uri/の下でも読んでくれ。
603デフォルトの名無しさん:02/01/19 17:50
\wが入ってないようにみえるんだけどOK?
あれ、途中までは入ってたんだけどな。
記号を並べ直してるときに消して、そのまま忘れたようだ。
%r(\bh?ttp://[-+/!()\#%&~.,:;?\w]+)n っつーことで。
605 ◆RubyOmS2 :02/01/19 20:54
>>601-602
あれ?nオプションつけても、\Sとかは平仮名もマッチするっけ?
勘違いスマソ、、、
ふと、将来的に日本語ドメインとかに対応が必要になった時は、
どうするのかな〜っておもうんだけど、ほんとどうするんだろ、、、
だから、平仮名は空白じゃないだろ。
日本語ドメインはエンコーディングをそろえて、nオプションを適当に変えりゃ
いいんじゃ。
CVSだとruby 1.6の方にもuriが入ったから
uri/commonの正規表現を使えばいいんじゃない?

今でもIPv6のIPアドレスに対応できてるし、
将来日本語ドメインにもライブラリで
対応してくれそうだし。
608595:02/01/20 20:21
>>602
ありがとうございます。=をつけたして、それでほぼ問題なく動いてます
>>607
ちょっと見てみましたが頭メダパニ状態でした><
また今度チャレンジしてみます。

結局>602さんの方法でhttp://とttp://で二つ正規表現を用意して
j = j.gsub(regurl, '<a href="\0">\0</a>')
j = j.gsub(regurltnasi, '<a href="h\0">\0</a>')として変換しました。_(._.)_
>>608
あ、=も入るんだっけ?

二つ用意しなくたって
j = j.gsub(%r(\b(?:h?t)?tp(://[-+/!()\#%&~.,:;?=\w]+))n, '<a href="http\1>\0</a>')

でも '\0' って使ったことなかったな。
610HSPから乗り換え君:02/01/23 17:38
Apollo(WindowsなRuby御用達のGUI) で ボタンの背景色や
キャプションの文字色を変えるのはどうすりゃいいんすか?
label.colorっていうのは通るんだけど
button.colorって通らないんだな。
どっちかというとVCLの質問だな。
612デフォルトの名無しさん:02/01/24 08:48
質問です。windowsのshift jis環境とunixのeuc環境両方で動く
スクリプトを作りたいのですが、そういうときなんか定石とか
あるんでしょうか。いまのところnkfで変換して起動オプションを
変えてるだけなんですけど、なんかわけわかかいバグとか出そうで
コワイんですけど。。
一般的にいえば、もしソース内に日本語のリテラル(String,Regexp)を埋め込
むなら、今のところ-Kオプションはすべてのソースに同時に効いてしまうので、
すべてのファイルで文字コードを統一すること。
そういったリテラルはランタイムで変換しながら使うという手もあるが、
「nkfで変換して起動オプションを変えてる」つーのがそれか?
もうちっと具体的に書いてくれるとありがたい。
614デフォルトの名無しさん:02/01/24 11:49
Ruby で作られているらしい、2ちゃん型掲示板発見!
http://210.155.146.159/bbs/
http://210.155.146.159/help/faq-mgr.html
>Ruby & Postgres(書きこみ)+ C++(表示)です
>Ruby 部分は、データベースを簡単に扱うために、
>warlus というアプリケーションサーバーを利用しています。

そういやLinux何たらでwarlus特集してたな。
>>609
\0 って \& と同じ?
>>616
同じ。
>>610
DelphiやC++Builderを持っていないなら、
Delphi6 Personalでもインストールしてヘルプを見た方が早いかも。

キャプションの文字色はTLabel.font.colorやTButton.font.colorかな。
TLabel.colorは背景色。TButtonにはcolorプロパティはない。
HSPではボタンに背景色を直接指定できるの?
619HSPから乗り換え君:02/01/25 10:01
>>618
ん〜と、
button.font.color っていうのはエラーになります。
例えば
c = label.font っていうのはフォントを取得できるけど
c = button.font ってするとnilが帰ってくる。
620デフォルトの名無しさん:02/01/25 11:02
おい、漏れはこの板に来て初めてRubyというものを知った厨だが、
Rubyというのは他の言語と比べてどこがどう優れていて、どう劣っているか教えてキボンヌ。

でもRuby厨の説明はいらない。
Perl・Python・Rubyあたりがライバル関係あると思うので、
重点的に比較します。

CやPascalあたりとPerl・Python・Rubyを比較するのはあま
りにも守備範囲が違うので意味ないとか思うので。

○良いところ

スクリプト言語
・簡単に手早く実用的な処理が書ける。
・PerlやPythonが得意とする分野はRubyも得意。
・他のプログラムを呼び出せるのでシェルスクリプトの仕事もできる。

インタプリタ
・コンパイル不要

最初からOOP
・Perlのように使えにくく読みにくいOOPサポートではない

日本人が開発
・日本語(マルチバイト文字)の処理が最初から組み込まれている。

動作がわかりやすい
・Perlのように文脈によって動作が変化することがない

イテレータ
・繰り返しの処理をエレガントに書ける

●悪いところ

遅い
・Perlと比較して、体感時間でわかる程度に遅い

書き方が選べる
・Pythonだと誰が書いても同じようなコードになるがRubyはならない。
・これは利点でもある。Pythonを嫌う人はスタイルを要求されるのを理由にあげがち。

モジュールのインストール手順が不統一
・PerlやPythonはモジュールのインストール手順が統一されているのに。

ドキュメントの整備がいまいち。
・PerlやPythonはしっかりしているのに。


---

個人的にはPerlのUnitTestモジュールが使い物にならないので、
Rubyを愛用しています。RubyのUnitTestモジュールは非常に良い
です。

まあ、最近はUTF-8でコードを書くのにも抵抗なくなってきたので、
Pythonを真剣に使ってみるかとか思っていますが。

# いずれにしてもPerlに戻る気はありません。
>>610
Apolloは知らんのだが、ドキュメントを読むと
Phi::Button < Phi::WinControl < Phi::Control
となっててPhi::Control#colorというのが背景色のようなんだが。

ap-listあたりで聞いたほうがいいと思う我。
http://www.freeml.com/ctrl/html/MessageListForm/ap-list
623HSPから乗り換え君:02/01/25 15:46
>>622
そうなってますね。
だから、Controlの持つプロパティはButtonは継承しているはず、
と思ったのですが。

MLで質問するには、MLに入らないとダメですよね?
そうすると、メールがいっぱい来そうで一寸躊躇してます。
(投書するだけで、読むのは掲示板ってわけにはいかないんですかね?)
624SI:02/01/25 16:10
プログラマー自体、人生の敗北者だろ!!
>>624
仕事で何か嫌なことがあったんだな。
分かる。分かるさ。よーく分かるともさ。ああ、俺には分かる。
自分より格下だと思ってた奴に突っ込まれるのは癪なものさ。
だがな、それはお前の能力が足りないからなんだ。
だがな、それをお前は能力のせいだとは思ってないんだ。
だがな、それがお前の能力の限界をあらわしてるんだ。
少しは勉強しような。明日があるさ。
>>613

えーと、書きかたが変ですみません。

sjisで書かれたスクリプトをダウンロードしてきて
euc環境で実行してみたら端末がなんかヘンになっちゃって
ビビッたことがあったんです。そのときは起動オプションを
-Ke に替えてからスクリプト全体をnkf -eに通したんです
けど、なんかあまりいいやりかたじゃあなさげなので
質問しました。
>>623
ap-listは「誰でも投稿できる」になってる。
つーか流量そんなに多くないし、Apollo使うつもりなら入っといてもいいんじゃない?
>>626
スクリプトもEUCデータもEUCに変換で構わないなら、それでもいいと思うが。

入出力だけEUCにしたいというならこんなのとか。

require 'codeconv'
CodingSystem::Default.reading = :EUC
CodingSystem::Default.writing = :EUC
>>617
\& だと {} で使うときには $& ってことで同じように
使えるけど、\0 だと $0 にはならないから使わないなあ。

人に押しつけるつもりはないので、
俺はこうしてるってことで。
630618 ◆RAdish9. :02/01/26 17:53
>>623
VCLのヘルプを見ると、TControl.Colorはprotected。
ということはTControlを継承するプロパティは自らpublicなりpublishedに
Colorプロパティを置かなければ見えません。
TButtonは TControl - TWinControl - TButtonControl - TButton
と継承されていて、TWinControlの時点で既にColorプロパティはありません。
TLabelは直接TControlを継承していて、しかもpublishedに置かれています。
だから見えるんですね。

以上がTButton.Colorが無い理由なのですが、
Apolloでも同じ様なものだと思いますよ。

ところで、
> だから、Controlの持つプロパティはButtonは継承しているはず、
> と思ったのですが。
Phi::Control.colorがpublicなプロパティなら、そういう可能性もあるかも。
631デフォルトの名無しさん:02/01/26 22:26
>>628
ふーむ、地道にやるしかないということですね。参考になりました
どうもありがとう。

632デフォルトの名無しさん:02/01/27 22:08
Rubyってどんないい所があるの!?
いや、悪口で言ってるんじゃなくて、本当に、何にも知らないんで。。
あまりにも信者が多いので勉強してもいいのかなと思ってるんだけど
VB,VC,Java知ってる限りあんま他の言語の必要性を感じないのですが、、
.NET開発用にC#はやろうと思うけど。。
使ってみればすぐに分かることを聞くな
634デフォルトの名無しさん:02/01/27 22:15
>>632
他の言語に対する優越感。
635 ◆RubyOmS2 :02/01/27 23:28
>>632
Perlみたいなスクリプト言語をやったことないの?
大規模なアプリとかじゃなくて、ちょっとしたテキスト処理や、
簡単なツールをコンパイル言語で作るのは大げさだと思わないか?
そんなときにRubyだったら、手軽にサクサク作って、実行出来る。
それがスクリプト言語の利点だと思うよ。
まあ、それを言ったら、RubyじゃなくてPerlでもPythonでも良くなるんだけど、
それはまた、それと言うことで、、、
Rubyのメソッドの引数は「リファレンスの値渡し」だって意味がやっとわかった。
代入って左辺値が変数じゃないときはメソッドになるのね。
637デフォルトの名無しさん:02/01/28 01:04
> 635
Pythonを使い捨てのスクリプト言語に分類しないでくれよ。歴としたアプリケーション作成言語だぜ。Zopeをはじめ結構な規模のアプリケーションがあるでしょ。初心者向け入門書にまで「グラフィカルなメーラの作り方」が書いてあるし。
638デフォルトの名無しさん:02/01/28 01:10
> 635
Rubyを使い捨てのスクリプト言語に分類しないでくれよ。歴としたアプリケーション作成言語だぜ。
> 635
Perlを(以下略)
640 ◆RubyOmS2 :02/01/28 01:27
>>637-639
別に使い捨てだけに使うなんて言ってないよ。
ただ、使い捨てを作る時は、スクリプト言語の方が楽って言いたかっただけ。
632はVB、VC、Javaを完全に使いこなせているようなので、
それらにない利点の一つとしてそういうのをあげた方がわかりやすいっしょ。
641632:02/01/28 01:51
「ちょっとしたテキスト処理」をするために新しい言語を勉強しようとも思わないですね・・・
PerlはCGIを無理やり書いた事がある程度で、Cファミリ言語しか知らない自分にとって非常にとっつきにくかった。
本当にServletやJSPで書いたほうが自分にとっては断然楽です。

他の言語に対する優越感が味わえるとはどういった点ででしょうか?
1.開発効率がよい
2.出力されるコードが小さい
3.実行速度が速い
4.言語がシンプルで簡単
5.ライブラリが充実

・・etc.、「この言語はよい!」と主張する理由は色々あると思いますが・・・そういう意味でRubyのメリットを教えてほしい

>「ちょっとしたテキスト処理」をするために新しい言語を勉強しようとも思わないですね・・・
もし、全く知らないのなら、一つぐらい勉強してもいいでしょ。
おれは学生時代、grepやawkを知らなかったために(当時、ちょうど
オートマトンの講義を受けていたってこともあって)、自分でCを使って
正規表現を実装してた。Cの勉強にはなったけど、車輪の再発明は
時間の無駄だし、それに既にある機能に比べりゃ縮小再生産も
いいとこだった。
Perl って C ファミリ言語では…
>>642
今は Java にも正規表現ライブラリあるからねえ。
Rubyのメリット…
テキスト処理に強いことと、
やっぱりコンパイル不要ってことかなぁ

Perlとかでもいいんだけど、自分は$が嫌だったんで
646デフォルトの名無しさん:02/01/28 03:13
ちょっと質問の仕方を変えてみます。

Rubyのデメリットはどんな所?
647デフォルトの名無しさん:02/01/28 04:28
無し。異常。
648C:02/01/28 05:27
>>643
if文やfor文が似ているだけ・・・
構造は全く違う・・・・まさに駄言語。あんなのと一緒にしないでくれ。
649HSPから乗り換え君:02/01/28 10:09
>>641
「ちょっとしたテキスト処理」なんだけど手でやると、面倒な例としては、
例えばデジカメとかからの画像ファイル名が
img1.jpg 〜 img9.jpg img10.jpg とかなっていたときに、これを
img01.jpg .. img09.jpg ってリネームしたり、って所ですかね。
650HSPから乗り換え君:02/01/28 10:29
あ、失礼。Cは書けるんなら上の例はなんて事ないですよね。

スクリプト系言語の連想配列はどうでしょうか?

sdic = {}
sdic["apple"] = "りんご"
sdic["oragnge"] = "みかん"

print "索引: "
sdic.keys.each do |s|
print "#{s},"
end
print "\n\n"

s = "apple" ; print "辞書引き -- ", sdic[s] , "\n"
s = "みかん" ; print "逆引き --", sdic.index(s), "\n"

----------------------------------------------------------
実行結果
>ruby sample.rb
索引: apple,oragnge,

辞書引き -- りんご
逆引き --oragnge
>>641
> 1.開発効率がよい
> 4.言語がシンプルで簡単
このへんかなぁ。
動的さとブロックが強力。
ブロックを使えばJavaなら無名クラスを使うようなところなんかはずっときれいに書ける。

> 2.出力されるコードが小さい
> 3.実行速度が速い
コンパイラではないんで、これはない。(rb2cというのがあったけど)

> 5.ライブラリが充実
Perlとかに比べるとやっぱり劣るようだ。つーかRAAが探しづらいような。
たぶん、スクリプト言語の価値がわからない人って、
「いわれたことを淡々とやる」タイプなんだと思うね。
それはそれで個性だし、そういう個性に合った仕事も
あるんで、そういう人は淡々とCとかVBとかで仕事し
てれば良いんじゃないかな。

653デフォルトの名無しさん:02/01/28 12:06
TurboLinuxを入れるとrubyが入りますが、
これって日本のディストリビューションだけ?
オリジナルから入ってるが、古いな。
ftp://ftp.turbolinux.com/pub/TurboLinux/turbolinux-updates/7.0/RPMS/
ruby-1.6.4-1.i586.rpm
ruby-MySQL-2.3.2a-2.i586.rpm
ruby-gtk-0.25-1.i586.rpm
ruby-ldap-0.3.5-2.i586.rpm
ruby-optparse-0.8.2-1.i586.rpm
ruby-postgres-0.6.4-2.i586.rpm
ruby-python-0.3.3-3.i586.rpm
ruby-qt2-0.13-2.i586.rpm
ruby-racc-1.3.9-2.i586.rpm
ruby-rdtool-0.6.9-2.i586.rpm
ruby-uconv-0.4.6-2.i586.rpm
ruby-xmlparser-0.6.1-2.i586.rpm
ruby-zlib-0.4.0-2.i586.rpm
>>646
Ruby作者のまつもとはオウム真理教の教祖。
Ruby信者=オウム信者。
つまり社会のゴミ
656デフォルトの名無しさん:02/01/28 13:26
>>653
なぜかTurboLinux7WSのインストール時のパッケージ選択でRubyだけは独自のカテゴリに分類されている。
無性にむかついたのでチェックをはずした。
657656:02/01/28 13:29
あ、、、独自のカテゴリに分類したのはまだまだRubyがPerlやPythonと同じ位置にいるとTL社が認めていないからかな?
スクリプト言語の価値がわからない人は、それを必要とする場面に
出会うことがほとんどない人なんだろうね。
そりゃ、ちょっとしたテキスト処理を一回やるのにわざわざ新しい言語を
覚える必要はない。しかし、ちょっとしたテキスト処理をすることが何度も
あるようだと perl や ruby はすごく便利。
UNIX のユーザならまず使うと思うが。
BCCで、Rubyの拡張ライブラリ作りたいんだけど、
参考になる資料なんかないですか?
チャレンジしたけど、よく分からなかった。
661デフォルトの名無しさん:02/01/28 23:36
>>659
同意。

>>632 はWindowsユーザみたいだが、正直Windowsでスクリプト言語って
あまり役に立たない気もする。
>>660
BCC は本体がコンパイルに成功してない。
cygwin か mingw 使うことを薦める。
>663
660は、BCCでCOMなライブラリを作るのが
一番はやい、ってことか(w
665660:02/01/28 23:57
情報ありがと。
ちょうどcygwinもインストールしてあるし、
cygwinで行こうかと思ったんだけれども、
Ruby本体がMSWin32版でもOK?
mswin32版から使うならmingwでコンパイル。
>>663
よく知らないが、こういうのこそ VB とか VBA でやるもんなんじゃ
ないの?
VBAでできるのなら、ruby覚えるよりVBAでやっちゃうと思うな。
668デフォルトの名無しさん:02/01/29 10:39
>667
 勿論、 VB や VBA でも出来るし、そうするのが当然だと思っている
人が結構居るとも思うけれど、先の page で挙げられているような、処理の
本質は text 処理なわけで、その部分では ruby や perl に分が有ると
思うのだが。
669デフォルトの名無しさん:02/01/29 12:30
text処理も、 , で区切ってあるコードだったら別にCでもなんでもいいんだが、 
FILE=hoge , kind:データ
みたいに、色々な区切り記号で書かれたものだと
正規表現をサポートしている言語の方がプログラムしやすくて、
一般のスクリプト言語だと、まぁ大抵正規表現をサポートしている
のだが、rubyは初めから漢字をサポートしているので安心
って事でrubyを使ってます。
あと、Perlの「変数は普通グローバル」っていうのがちょっとイヤだった。
あ、変数のプレフィックスが$, @ とか色々覚えなきゃならないのも鬱。
670デフォルトの名無しさん:02/01/29 12:59
 大体、仕様書を MS-word の file で送って来るような連中は、
1byte 文字と 2byte 文字の違いも分かってなくて、空白や記号が
不統一だったりするので、そう云う場合は ruby が一番楽だと思う。
適当に思いついた利点と欠点を並べてみました。


利点

* 日本語のネイティブサポート
簡単に使いたいんだから重要。これが理由でJPerlの次に
Perl5ではなくRubyをメインに使うようになった。

* マルチスレッドが楽。
ブロックが簡単にスレッドになる。

* ソケットの扱いが楽。
ThreadとTCPServerをあわせれば簡単なサーバは
楽々書ける。

* マーカインタフェースが不要。
メソッドが呼べればいいので、Javaのマーカ
インタフェースのようなものが不要。

* いろいろと動的。
メソッド一覧がとれたり、組み込みクラスの
挙動も(jcode.rbやmathn.rbのように)変更可能。


欠点

* スレッドの実装にバグが残ってそう。
大量のスレッドを使うと挙動があやしい。

* システムコールでブロックする。
ネイティブスレッドじゃないので、DNSの名前解決で
止まるとtimeoutできないというような件。
(名前解決についてはresolv.rbでなんとかできる。)

* 型チェックができない。
変数に型がないので、コンパイル時に型のチェックが
できない。
672デフォルトの名無しさん:02/01/29 15:56
俺は愛してるぞー
673デフォルトの名無しさん:02/01/29 16:08
今から始めてみようかと思ってるんですが。
何か、アドバイスお願いします。
環境は?
675デフォルトの名無しさん:02/01/29 16:19
>>674
win98です。
676デフォルトの名無しさん:02/01/29 17:19
「Rubyは日本語サポート」と聞いたのでやってみたけど
s = "1 2 3" # 1 半角スペース 2 全角スペース 3
ss = s.split
で "1","2", "3" にならないんですが?
("1","2 3")になっちゃう。
677利点:02/01/29 17:21
Windows環境のGUIで、Perl/Tkを使っても、日本語の入出力は面倒だけど
Apolloなら一発。
>>676
日本語サポートとは、正規表現に日本語が使えるという意味。

$ruby -Ke foo.rb
s = "1 2  3"
p s.split(/[\s ]/)
#=> ["1", "2", "3"]
679デフォルトの名無しさん:02/01/29 17:44
ttp://www.s99.co.jp/~kawauchi/ytv/ytv-ruby.html

このページのソフトですけど、Gコードのページをダウンロードするように
改造するのは大変でしょうか?

make_uriってあたりがあやしいようなきがするんですけど。。。
>>679
make_uri メソッドの '/table/' の部分を '/gcode/' にすれ
>>680
ありがとうございます。
682デフォルトの名無しさん:02/01/29 23:04
敗北者あげ
683デフォルトの名無しさん:02/01/29 23:20
まあ、ただでできるんだから、何も言う事は無いよ、
ただ。それだけで充分。それだけで…。
金がかからなくても、貴重な時間を浪費することになるぞ。
2chにいるだけでかなりの時間の浪費だ
このスレのPart10が立つ頃には、
Rubyを愛する奴は人生の勝者となるだろうね。
>>686
こういう発言ばかりする奴がいるからrubyが叩かれるんだよな。
688577:02/01/30 23:24
>687
禿同。>686みたいなの見るとrubo(w 呼ばわりも仕方ないかと思えてくる。

べつに、数ある選択肢の中の一つでいいじゃないか。
個人的にはruby、大好きだが。
689デフォルトの名無しさん:02/02/04 20:33
るび
690デフォルトの名無しさん:02/02/05 04:19
正直perlからの乗り換えを考えているんだけど、
perlで出来てrubyで出来ない事ってある?
微妙な表現の差が混乱を招きそうなので、
双方を共存させて使っていくのは危険かなと思ったんです。

メインの用途はCやC++等を持ち出すほどでもない、
簡単なツールやテキスト処理をサクサク捌くのに使ってます。

ドキュメントを斜め読みして良いなと思ったのは、
・OOP
・国産
・perlから乗り換える人が多いとの記述を発見。
の部分です。
PerlからRibyにのり変えてしばらく立つけど、今のところ不自由してないな。
ただ、CGI作ろうとしても、サーバーにインタプリタがインストール
されてないことが多いので、その点ちょっと歯がゆいかなと。
692デフォルトの名無しさん:02/02/05 04:37
Tcl使ってる奴ってバカっぽい
693電波5号:02/02/05 05:13
国産といっても
perlのほうが日本語ドキュメント多いとおもう
>>691
それあるよね、、、
友達にPerlよりRubyの方がいいよ!って勧めたときに、
使える鯖がほとんど無いって言われちゃうと、反論できないんだよな。
でも、最近の新しい鯖は勝手に(?)入っていることが多いらしいよ。
鯖仕様には明文化されて無くても、入っているかどうか
調べてみると、実は入ってました、(゚д゚)ウマーってなるかも、、、
695デフォルトの名無しさん:02/02/05 09:26
Rubyに変わるインターネット言語が登場?
http://www.atmarkit.co.jp/fjava/column/andoh/andoh06.html
696デフォルトの名無しさん:02/02/05 09:27
■curlの世界

 curlの売り文句として以下の点が挙げられる。


クライアントサイドで高速に動作する

素早く習得でき、速いペースで開発できる

拡張、メンテナンスが容易

 curlは取っつきやすく奥の深い言語である。初心者はすぐに使えるようになり、エキスパートは、より複雑なコーディングを効率良く行える。
>>696
>現在の最新版はWindows 用の実行環境がVersion 1.2、Linux版の実行環境であるPreview版、開発環境であるSurge Lab IDE Version 1.0が公開されている。
Windows主体ってのがいいね。
ん、まあいいんじゃない?
だって、rubyって「GUIやインタラクティブで見栄のするコンテンツ」
にはあまり向いているとはいえないもの。

なんか、かなり守備範囲が違いそうだ。

普及するかどうかはさておき、新しい言語の選択肢が増えることは
悪いことではない。
>>698
全く同意。

○○vs○○って、そもそも守備範囲の違うものを無理やり比べて
周りを煽ってるのって多いよね
>>690
(?<=pattern)とかの正規表現はrubyで使えない。
逆にSJISの日本語をそのまま使えるのはrubyのみ。
lookbehindはたしかに欲しいよな。
>>700
前の文字がaでないbをcに変えるとかってみんなどうやっている?
str.sub(/(^|[^a])b/, '\1c')
オレはこんな感じにするんだけど、何か格好悪いよな、、、

半角カタカナが使える掲示板を作る時に、SJISじゃないといけないけど、
SJISがそのまま使えるRubyでは気軽にソースが組めるよ。
そう言うこともあって、CGIにRubyを勧めても、いかんせん鯖がない、、、
それしかないかも。
マルチバイトの通るlookbehindコードをcontribしてくれ。
ruby ってどういう処理やらせるのに向いてるのだろう?
やはりテキスト処理?
ネットワークも向いていそうに見える。
xrea なら ruby 使えます。
>>704
そのへんかな。
あとは、GUIのフロントエンドに使う人も意外といるようだ。
707デフォルトの名無しさん:02/02/10 23:14
GUIのフロントエンドって何さ?
「GUIを持つフロントエンド」とでも読んでたもれ。
悪かったよ、日本語が不自由で。
盆栽的プログラミングはどうよ?
http://www.ba.wakwak.com/~fuchi/
710デフォルトの名無しさん:02/02/11 14:58
RubyでGUIっていろいろあるけどどれがいいんでしょうね。
Ruby/Tkが手軽そうなんだけどRuby/GTKのほうが見た目がかっこいいし
将来性もありそう。
>>710
Bridge パターン使ってどっちでも良いように設計したら
TK の非共通性に悩まされる罠
Ruby GUI API を作るという話もあったが進んでいるのかどうかは謎。
712デフォルトの名無しさん:02/02/11 19:36
クラス変数
インスタンス変数ときて、
クラスのインスタンス変数というものまでありますが、
これはどういうときに使うと便利なんですか?

>>711
sgmailの作者が、それを試みようとしてすぐにやめたと書いてたと思う。
tkとgtkってかなり違うものだし。
ラッパーかぶせて抽象化するとわかりにくくもなる。
人間は抽象より具体的なもののほうが理解しやすい。
714デフォルトの名無しさん:02/02/16 00:03
>>712
順番的には、インスタンス変数は昔からあって、クラス変数が最近(ver 1.6以降)
できた。クラスはClassクラスのインスタンスだからクラスのインスタンス変数って
のも昔から使えた。と思う。でも便利な使い方は知らない。
715712:02/02/16 11:42
>>714
ありがとうございます。
最初クラスのインスタンス変数の存在を知らなくて,

class Foo
@x = true #インスタンス変数に初期値をあたえたつもり
def x
return @x
end

f = Foo.new
p f.x #結果はtrue じゃなくて nil

なんでtrueにならないのと激しく悩んでました。
メソッドから操作できないとするとどうやって操作するんでしょうか?
>>715
クラスメソッドからは参照できる

class Foo
  @x=1
  def Foo.foo
    @x
  end
end
Foo.foo #=> 1
717デフォルトの名無しさん:02/02/16 14:50
クラスメソッドはもう出てしまったので、いんちき技で(w

Foo.instance_eval {@x} #=>1
ruby -ne '/perl|ruby|java/ && print' /usr/share/dict/words
perl -ne '/perl|ruby|java/ && print' /usr/share/dict/words
この二つを比べると ruby の方がずっと速い。
だから何?って?
いや、そんだけです。
言語によって得意不得意があるのは当然なんで。
>>718
Ruby の方が速いとは信じがたいが。
time の値もよろしく。
当方 Ruby ユーザ(w
720719:02/02/16 15:36
721デフォルトの名無しさん:02/02/17 22:19
ちょっと調べてみたらこんなのも出てきました。
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/14408

perlもfastmap使えばいいのに。
速度の話は正直どうでもいい。
そだね。計算速度なんてどんどんあがっているもんな。
それにくらべて人間の生産能力はたいして変化できないから、
より生産性の高い言語がいいんだよなあ。
724デフォルトの名無しさん:02/02/20 09:58
 rubyスクリプトから非ruby環境
でも動作する実行可能なファイル
を作ることはできますか?

 
725デフォルトの名無しさん:02/02/20 17:42
>>724
ruby-listをruby2exeで検索
>>724,725
rb2exe だったような気がするが。
exeファイルの中にrubyインタプリタごとスクリプトを封じ込めるやつ。
unix用のを誰か作らんかなあ。
727魂の救済:02/02/21 15:40
>>726

rb2c の開発が止まってるのが悲しい。
728デフォルトの名無しさん:02/02/23 01:30
たしか JIT みたいなのもあったなあ。
さげ
あげ
JITってタバコと関係あります?
732725:02/02/23 15:35
>>726
あぅ…。
氏ぬ。3回くらい氏んでくる。
rb2c は parse.y などからコピペでコードを引っ張ってきてたから
本体のバージョンアップに追随するのが大変だったのだと思う。
Ruby の Parser 自体を組み込みクラスにできれば
それを使って色々遊べそうだ。
>>731
おれ、タバコは吸わないから何のネタかわかってあげられないよ。
すまんな。
735デフォルトの名無しさん:02/02/24 23:54
rae
>>734
日本タバコ = JT では。。
俺もタバコ吸わないけど。
737デフォルトの名無しさん:02/02/25 01:15
>>731
マジレスすると、Just in Time コンパイラ、な。
javaでは割と普通の技術らしい。
738デフォルトの名無しさん:02/02/25 23:52
誕生日だったらしい。
lispだと昔からふつーの技術だね
Ruby Gem Box 購入さげ。手を抜いた原稿はどれだ?

ついでに短評
Ruby Developer's Guide $49.95
GUI、DB、XML、Webサービス、分散、ネットワークなど
現在のプログラミングの主分野をターゲットにして
それぞれどの Ruby のライブラリを使用すれば良いかをガイドしている。
700ページあるが基本的に広く浅く。RAA を片っ端から試す暇のない人向け。

The Ruby Way $39.99
コードの見本市。PoLS に則った Ruby 流なコードが学べるでせう。
Ruby Gem Box ってオーム社なんだよね。
金光さんもいるのにASCIIから出さなくていいんだろうか?
Gem Box、そこはかとなく256倍ちっくな体裁だな。
なにも、あの読みにくいつくりをマネしないでもいいのに。
<<740
Namazuだろ。
744740:02/02/26 18:31
>>743
740 書いた後に読んだ。どうやらそのようだ。
configure や make の結果は載せんでいい……
>>740
PoLSって何?
746740:02/02/27 00:29
747745:02/02/27 00:58
>>746
サンキュ
そういえば聞いたことがある。
748デフォルトの名無しさん:02/03/02 11:33
ageeee
749Seisei_Yamaguchi:02/03/09 16:40
ビットフィールド ( 1bit単位で可変長 , 挿入削除自由 ) をお手軽に使iいたいんですが
ビットフィールドクラスみたいな奴ってないですか .
750デフォルトの名無しさん:02/03/09 20:54
ルビーを使うとオブジェクト志向プログラミングを自然に体得できますか?
何度も勉強したんだけどいまいちぴんとこないもので。
>>749
RAA entry - BitVector
http://www.ruby-lang.org/en/raa-list.rhtml?name=BitVector

なんてどうすか?
752Seisei_Yamaguchi:02/03/10 00:17
>>751
サンクソ . 調べてみる .
>>750
オブジェクトを肌で感じる Smalltalk がお勧め。
Squeak のデモやクラスブラウザを弄ってみると楽しいよ。
http://www.kk.iij4u.or.jp/~y-kamite/squeak/index_squeak.html

あ、Ruby なら irb を電卓代わりに使ってみるとか。
754デフォルトの名無しさん:02/03/10 17:28
抽象クラスって ruby じゃ作れないんですか?
>>754
言語仕様には存在しない。
module を使うか、コメントに抽象クラスだと書いておく。

class AbstFoo
instance_eval "undef new"
end

class AbstFoo
def AbstFoo.new; raise Exception; end
end
などとしてインスタンス作れなくはできるけど、
継承したクラスで new を作り直すのが大変。
>>754
探しているものとは少し違うかもしれないけど、
Module#abstract? というのはある。

ttp://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/15841

これを使えば抽象クラスのようなものも作れるんじゃないかな。

>>755
インスタンスを作らせないだけなら、これで良いんじゃない?

class AbstFoo
class << self
private :new
end
def initialize
@foo = 'foo'
end
def foo
p @foo
end
end

begin
a = AbstFoo.new
rescue NameError
print "can't create object\n"
end

class AbstBar < AbstFoo
class << self
public :new
end
end

a = AbstBar.new
a.foo

757デフォルトの名無しさん:02/03/12 12:26
>>755
undefじゃなくてModule#remove_methodだとどう?
鬼車期待sage
759デフォルトの名無しさん:02/03/12 19:14
例えば C++ とかだと、純粋仮想関数を継承先で実装し忘れるとエラーになりますよね。
(継承先のクラスのインスタンスを作りたいとして)

でも ruby だとそれがないから、抽象クラスのつもりで作った基底クラスの
メソッドを継承先で継承し忘れてもエラーにならない。
これだと、ある抽象クラスをインタフェースとして継承するときに
どれを継承先で実装すればいいのかがわかりにくくないですか?

オブジェクト指向自体あんまり自身がないので全然ずれたことを言ってるかもしれませんが…
>759
なにがききたいんだよ
>>759
基底クラスのメソッドを,常に例外を発生するようなやつにしといたら?
Delphiでプログラムするときはよくやるけど……
こんな感じ?

class Foo
 def bar
   raise "No implementation :function Foo::bar"
 end
end

class Foo2<Foo
 def bar
   ……
 end
end
762デフォルトの名無しさん:02/03/13 07:01
>>761 を自動化するメソッド(Walrusのソースよりコピペ)

class Module
def subclass_responsibility(*methods)
methods.each do |m|
m = m.id2name
type_msg = '#{type}'
module_eval <<END
def #{m}(*args)
raise "subclass resposibility: should define method #{m} in #{type_msg}"
end
END
end
end
end

# 使用例
class Foo
subclass_responsibilty :bar
end
763761:02/03/17 04:42
>>761
よくよく考えたら,Rubyの場合は同じメソッド名なら「どのクラスでも」
実行できるから,わざわざ基底クラスにメソッドを作ることないじゃん.
#場合によっては基底クラスそのものが不要かも
764デフォルトの名無しさん:02/03/17 20:41
Ruby >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 俺
765!
継承は最後の武器だ。
777ゲット!
私の名前は中野です。
Regurl = %r(\b(?:h?t)?tp(://[-+/!()\#%&~.,:;?=\w]+))n
tmp.sub(Regurl) {
 tmp0 = '\0'
 tmp1 = '\1'
}
tmp = tmp.sub(Regurl, '<a href=http' + tmp1 + '>' + tmp0 + '</a>')
というコードでhttpから始まる文字列にリンクを張ってるのですが(以前ここで教えてもらいました)URLをエスケープしたくて最後の行を
tmp = tmp.sub(Regurl, '<a href=http' + CGI.escape(tmp1) + '>' + tmp0 + '</a>')
とすると結果が
<a href=http%5C1>http://www.2ch.net/</a>
となってしまいます。
何がいけないんでしょうか?
知恵を貸してもらえないでしょうか。
770デフォルトの名無しさん:02/03/27 17:30
るびきちさえいなければ
771デフォルトの名無しさん:02/03/27 17:35
世の中に 絶えてるびぃの なかりせば 春の心は のどけからまし

古今和歌集 春上五三 在原業平
772hehe:02/03/27 19:51
>>769 いろいろツッコミ所満載ではあるが、

 Regurl = %r(\b(?:h?t)?tp(://[-+/!()\#%&~.,:;?=\w]+))n
 tmp.sub!(Regurl) do |i|
  '<a href=http' + CGI.escape($1) + '>' + i + '</a>'
 end

で、CGI::escapeって

% ruby -r 'cgi' -e 'p CGI.escape("http://www.2ch.net/")'
"http%3A%2F%2Fwww.2ch.net%2F"

こういうもんなんで、uri.rbとか使った方がいいと思われ
773769:02/03/27 21:14
>>772
> いろいろツッコミ所満載ではあるが、
ソフトにつっこんでくださってありがとうございます(藁

おかげでうまく動いてます♪
#でもどうして私のショボコードで駄目なんだろう...

> uri.rbとか使った方がいいと思われ
えと、実際には
<a href="http://www.2ch.net/utuda.cgi?http%3A%2F%2Fwww.2ch.net">http:..www.2ch.net</a>という文字列を作りたかったのでエスケープしたんです。(CGIに渡したかった)でもuri.rbも使ってみようかな....と思ったらドキュメントがないですね。
私のレベルではドキュメントがあがるのを待ちかなw
いちおうポインタをばhttp://arika.org/ruby/uri.html
774hehe:02/03/28 16:50
>>773 まず、

 Regurl = %r(\b(?:h?t)?tp(://[-+/!()\#%&~.,:;?=\w]+))n
 tmp.sub(Regurl) {
  tmp0 = '\0'
  tmp1 = '\1'
 }

ここだけど、subをイテレータで使ってる時は \0 じゃなくて
$& とか $1 とか使わないと駄目。

実際には、上のコードの動作は、最初にRegurl使ってマッチを行い、
マッチしたならば、次にその結果を一度も使わず単に捨てて、
tmp0に文字列 \0 を、tmp1に文字列 \1 を代入する、
というのと同じ意味。マッチの結果は決して tmp0 tmp1 には入らない。

 tmp = tmp.sub(Regurl, '<a href=http' + tmp1 + '>' + tmp0 + '</a>')

次にここだけど、tmp0、tmp1にはそれぞれ\0 \1が入っているので、
上のコードを展開するとこうなる。

 tmp = tmp.sub(Regurl, '<a href=http\1>\0</a>')

このコードが一見うまく動いているように見えたのは、
subが\0 \1の部分をRegurlのマッチ結果から展開してくれてたからだ。
CGI::escapeを使う必要がなければ、そもそもこの二行だけでいい。

 Regurl = %r(\b(?:h?t)?tp(://[-+/!()\#%&~.,:;?=\w]+))n
 tmp = tmp.sub(Regurl, '<a href=http\1>\0</a>')

さて、今度は

 tmp = tmp.sub(Regurl, '<a href=http' + CGI.escape(tmp1) + '>' + tmp0 + '</a>')

について考える。
まず、tmp.subに引数を渡すため、変数の展開が行われる。

 tmp = tmp.sub(Regurl, '<a href=http' + CGI.escape('\1') + '>' + '\0' + '</a>')

次にCGI.escape('\1')が評価される。
ここで、バックスラッシュのアスキーコードは0x5c、という事に
気が付くとなおよし。(man asciiな)

 tmp = tmp.sub(Regurl, '<a href=http' + '%5C1' + '>' + '\0' + '</a>')

で、最終的には以下の形でtmp.subが呼ばれる、ってこった。

 tmp = tmp.sub(Regurl, '<a href=http%5C1>\0</a>')
775hehe:02/03/28 16:52
>>774続き。
意図どおりに動作させたいんだったら、本来ならば

tmp = tmp.sub(Regurl, '<a href=http' + CGI.escape($1) + '>' + $0 + '</a>')

とかって書ければいいんだけど、
http://www.ruby-lang.org/ja/man-1.6/?cmd=view;name=String#gsub
を読むと、正規表現のマッチが行われるのは、subに引数が渡った後、
つまり引数を評価しているときは $0、$1 は空っぽか
前回のマッチ結果が入ってる、ってことなのでうまくいかない事がわかる。

かといって \0 \1 をCGI.escapeに渡しても、これを展開するタイミングは
subに引数が渡ってマッチが終わった後、つまりCGI.escapeの評価が
すっかり終わった後なので、これもうまくいかない。
そこでイテレータとしてsubを使って、$1とか使う必要があるわけだ。
(イテレータの中では逆に \0 \1 は特別扱いしないので注意)

で、ここまで考えると、この手の s/// を駆使するスクリプトは
Perlの方が全然楽じゃん、とか思ってくるんだよな。
つーか漏れならPerlで書くと思う。

> えと、実際には
> <a href="http://www.2ch.net/utuda.cgi?http%3A%2F%2Fwww.2ch.net">
> http:..www.2ch.net</a>という文字列を作りたかったのでエスケープしたんです。

なるほど。じゃuri.rbとか使う必要はなかったね。
つーか偉そうに言っといてなんだが漏れもurl.rbの使い方わからん(藁
昨日はURI::splitだけ覚えて寝た。

% ruby -r 'uri' -e 'p URI.split("http://unko.jp:8080/test.pl?param=value")'
["http", nil, "unko.jp", "8080", nil, "/test.pl", nil, "param=value", nil]

配列からURL文字列作るのはどうやるんだろ。
やっぱURIオブジェクトとか作って、ちまちまメソッドで操作せんと駄目?
つーかこんなのPerlでいいんだよPerlで。的気分が盛り上がってきたよ。
男ならAWKを使え
PerlやRubyなんてquiche eaterの使うものだ
777生徒A(769):02/03/28 19:22
>>774-775
先生、わかりやすい説明ありがとうございます!

聞いてばっかりなのに貢献できないのでテンプレぺたぺた作ってみました。
こうしてみるとRubyスレって乱立してますね。

Ruby スレ
最強のプログラム言語はRubyです!!
http://pc.2ch.net/test/read.cgi/tech/1004894035/l50
ruby撲滅スレ その2
http://pc.2ch.net/test/read.cgi/tech/1009193707/l50
Ruby v.s. Phtyon
http://pc.2ch.net/test/read.cgi/tech/980786239/l50
Rubyについて
http://pc.2ch.net/test/read.cgi/tech/1012096319/l50
Rubyの実装に疑問あり!
http://pc.2ch.net/test/read.cgi/tech/1004873294/l50
●●Rubyって死滅しちゃうの????●●
http://pc.2ch.net/test/read.cgi/tech/1007911058/l50

参考ポインタ
Ruby Home Page
http://www.ruby-lang.org/ja/
WATANABEさんの Ruby あれこれ
http://homepage1.nifty.com/~tetsu/ruby/
ruby.freak
http://ruby.freak.ne.jp/
Just Another RD Site
http://www2.pos.to/~tosh/ruby/rdtool/ja/
あんまし展開順とか考えるより、イテレ−タ−でもつかったらどうよ?

Regurl = %r(\b(?:h?t)?tp(://[-+/!()\#%&~.,:;?=\w]+))n
tmp.gsub!(Regurl) do
%Q[<a href="foo.cgi?#{CGI.escape($1)}">$1</a>]
end
779滝男 ◆f40.jKUw :02/03/29 20:10
「たのしいRuby」を買って来ました。
これでダメなら諦めます・・・。
>>779
それって maki さんの?
感想聞かせてね。
sage
sage
785滝男 ◆f40.jKUw :02/03/30 18:16
>>780
全然、ダメ。オブジェクトだのメソッドだのと言った用語が、何の解説も
なく出て来る。
また、/^なんとか/との正規表現が、解説なしで出て来るのも同じ。
入門書としてはお勧めしません。
「プログラミングPerl」のような本が出ない限り、Rubyの未来は暗い。
786デフォルトの名無しさん:02/03/30 18:20
結局、Programming Rubyが今のところ一番良いの?
>>785
プログラミングPerlが入門書ってことはないだろ?
Rubyの入門書ならオーム社の Rubyプログラミング入門ってのがあるし、
プログラミングPerlに相当するものが欲しいのならプログラミングRubyという
本がある。

「たのしいRuby」は読んだことが無いから知らないけど、何でその本を買って
きたの?

あと、このスレじゃなくて
http://pc.2ch.net/test/read.cgi/tech/1012096319/l50
のほうへ行ったほうが良いと思う。
>786
はい。
789滝男 ◆f40.jKUw :02/03/30 18:39
>>786
私の場合、「RubyによるCGIプログラミング」が一番わかりやすかった。

>>787
すまん。
「プログラミングPerl」ではなくて。「初めてのPerl」だった・・・。
>>789
Rubyプログラミング入門って本はまあまあ良い本だと思う。

RubyによるCGIプログラミングって、Ruby関連本の中でも最悪の
ものだと思うけどな。かなり嘘というか誤解を招く内容だし。
まあ人によってわかりやすい基準というのは違うからな。
791sage:02/03/31 13:49
sage
792名無しメソッドさん:02/04/01 20:13
>>333
>(0..max).each do |i|
> p i
>end

>iのスコープがループの中だけになるからね(forはループの外でも残ってる。
>つまりループに入る前にiがあったら、その値を壊しちゃう)。

おうおう。それだそれ。
lambda式っぽいクセに、スコープの出入りで保存・復帰してくれないヘボ仕様。

(0..max).each do |i|
 j = i + 1
end

とかしたときに、それまでのjが壊されるのは解るよ。だって宣言がないんだか
らさ。
でも、なんでiまで壊すのが仕様なわけ? 保っとけや。

a = [2, 1, 3]
a.sort {|a, b| a <=> b}

の結果、aはFixnumですときたもんだ。
ブロック引数なんだから、宣言と見なすべきだろうが。
引数なのに、外部スコープの名前衝突に気を使わせんなよ。

とかいうと、 {|i.math|}で 「i.math=」メソッドが使えますとかぬかす。
要らねーよそんなもん。 {|a| i.math = a}でいいじゃねえか。
それがどーにも納得いかねぇ。
>>792
たしかにヒドい。
ここらへんの微妙な落し穴って、
「互換性のため」とかいって直されないのが嫌。

Ruby 4.0 あたりで、後方互換性を切ってでも整合性を求めて欲しいな。
795デフォルトの名無しさん:02/04/01 22:38
>>794
Ruby 4.0が出るころには、マツモロ氏がガーベッジコレクションされています。
>>792
Rubyでは変数のスコープはネストしない。これはこれでありだし整合性も
とられている。
あんたが勝手にこうあるべきだと思っている仕様と、Rubyの仕様が違っている
ってだけのこと。

もっとも俺もこの Ruby の仕様はあまり好きではない。ただし、792がいうような
仕様にするともっと複雑で落とし穴がありそうな気がするが。
797792:02/04/02 01:13
>>796
「とにかく違うんだ」と鵜呑みにして、その優劣は問うことを避けるのはなんでよ?
とか言いつつ「オレは好きじゃないけど」とか言ってるし。 言おうや。はっきりと。
まつもと氏も2.0で考えたいと言ってるわけだしさ。 より良くなることは悪いことじゃないじゃん。

じゃあ今のRubyの仕様だと、どういうときに良いのさ?

納得いく理屈が出たら、「なるほど!わかった!」と叫ぶ気ありまくりよ? 言っとくけど。
798デフォルトの名無しさん:02/04/06 00:03
Rubyを使い始めてから1年が経過.
この1年ほど,プログラミングが楽しいと思ったことはなかった…
799 :02/04/06 03:11
>>775
>で、ここまで考えると、この手の s/// を駆使するスクリプトは
>Perlの方が全然楽じゃん、とか思ってくるんだよな。

激しく同意。

>>798
今まで何使ってたの?

800798:02/04/06 12:38
もっぱらC
でもPascal(Delphi含む)の方が好きだった

RubyとLispを同時期に習得したのが刺激的だったのかなぁ
>>800
かなり感性が普通の人と違うと思われ。
普通の感性しか持ち得ない人がかわいそう
>>792に取り上げられていた>>333のforとeachって
今まで逆だと思っていました。あまり変数名をダブらないように
使っていたので気付きませんでした…。

a.sort {|a, b| a <=> b}という書き方も(変数名がダブるということ自体を)
したことがないので、気付きませんでした。

この二件って仕様なんですか? 実はみんな気付いていないだけとか
気付いていても誰かに聞く前に「こういうものだな」と一人納得しているとか。

あと、{|i.math|}はこれは今まで意味不明でしたが>>792の説明で
納得しました。なるほど…。
ブロックの引数は引数というより代入と同じ。
と覚えておくと良い。
rubyでグラフを描いてpngにしたいのですがよいライブラリはありませんか。
環境 win2k & cygwin
PerlのPngGraph見たいなやつがあれば良いなあ

gdchartというやつがあるみたいなんだけど、makeできない。

>>805
はき出したデータをgnuplotに,ってのはダメなのね…
807805:02/04/06 23:24
gnuplotって使ったことのないのですが
cygwinに含まれていないですよね。
コンパイルできないだろうな・・・
どこかに方法とか書いてありますかね?
>>807
Linuxでもいれれば?
HDの容量、あいているだろ?
809805:02/04/06 23:37
win2k使わなきゃいけないんですよ。
でも不便だから
tcshやら、grepやら使えるcygwinを入れているということなんです。
>809
Win版gnuplotあるよ。探してみ
俺ならCSV吐かせてEXCELでグラフ描くけど
あのアスキーの本使いにくい。
図書館から借りてみてるが、
プログラミングの前に、もちょっと文章構成勉強しろと言いたい。
>811
アスキーの本ってたくさんあるんだけどどれ?
>>812
たぶん最初に出たでかい本だと思われ。
それしかなかった頃ならともかく、今はプログラミングRubyとかがあるから
そっち嫁。
814デフォルトの名無しさん:02/04/07 16:51
>>813
禿同。最初のあれはこれまで出たRuby本の中で最悪。
個々の章は読める所もあるが、811の言うように構成がだめだめ。
外人の書いた「プログラミングRuby」が最強。
まつもとはLarryのように参考書を書かないの?
まつもと氏の書いた本=>>811
プログラムを書く能力と本を書く能力は違うからやむを得ないところでしょう。
最初に出た本は、もう役目を終えたってことでいいんじゃないの?

あの本のせいで Ruby に対する誤解が広まっているのかもしれないけど。
>>815
プログラミングPerlだって、読みやすい本とは決して言えないと思うぞ。
819デフォルトの名無しさん:02/04/07 20:58
>>811
http://www.amazon.co.jp/exec/obidos/ASIN/4756132545/249-4544297-2594711
これ?表紙のデザインがださいね。
820デフォルトの名無しさん:02/04/07 21:25
そんなにダメだと、いうならRubyの本を自分で書いたら?
儲かるかもよ。

もうちょっと建設的な話したら?
rt (rt2) って使えてます?
自分が使おうとするとなぜか全く出力がされないんですが…
822デフォルトの名無しさん:02/04/08 01:01
>>820
だから「プログラミングRuby」嫁って言ってんじゃん
まつもと氏の本は「プログラミングRuby」を読んだあとのほうがいいですね.
細かい情報があったりして,役に立つことは立つのだけど……
>>822、いちおー、リストしてみる。

プログラミングRuby―達人プログラマーガイド
デビット トーマス (著), David Thomas (原著), アンドリュー ハント (著), Andrew Hunt (原著), 田和 勝 (翻訳), まつもと ゆきひろ (著)
価格: ¥4,800
単行本 - 665 p (2001/09/01)
ピアソン・エデュケーション ; ISBN: 4894714531 ; サイズ(cm): 23 x 19
その他のエディション: ペーパーバック (英語版)
Amazon.co.jp売上ランキング: 4,508
おすすめ度: *****


たのしいRuby―Rubyではじめる気軽なプログラミング
高橋 征義 (著), 後藤 裕蔵 (著)
価格: ¥2,600
単行本 - 467 p (2002/03/01)
ソフトバンクパブリッシング ; ISBN: 4797314087 ; サイズ(cm): 21


Rubyプログラミング入門
まつもと ゆきひろ (著), 原 信一郎 (著)
価格: ¥2,800
単行本 - 358 p (2000/10/01)
オーム社 ; ISBN: 4274063852 ; サイズ(cm): 26 x 18
Amazon.co.jp売上ランキング: 15,476
おすすめ度: ****+


オブジェクト指向スクリプト言語 Ruby ASCII SOFTWARE SCIENCE Language〈11〉
まつもと ゆきひろ (著), 石塚 圭樹 (著)
価格: ¥4,000
単行本 - 575 p (1999/10/01)
アスキー ; ISBN: 4756132545 ; サイズ(cm): 26 x 18
Amazon.co.jp売上ランキング: 34,359
おすすめ度: *****

Programming Ruby 以外に、英語の本でおすすめってありますか?
825デフォルトの名無しさん:02/04/09 08:32
Ruby Wayはイイらしい。
Windows上でやるとこうなるんだけど?

> ruby -Ks -e 'require "kconv"; p Kconv::tosjis(Kconv::toeuc("翔"))'
"稍"

どうしたらいいかな。
>>826
自分で解決しました。
Kconv::kconv("翔", Kconv::EUC, Kconv::SJIS)
のように明示的にコードを示せばいいんですね。
>>826-827
今なら require 'nkf' を使ったほうがいいと思われ。
>>828
そなの?
なんで?
>>829
Kconv があまりよくなかったから NKF が新しく入ったと理解していますが。
そうなの?

Kconv: 細かいところまで指定しないかわりにお手軽に使える
NKF: 細かいとこまで指定可能だが使い方が少し複雑

という立場の違いだったと思ってたんだけど
>>830
kconv.rbの一行目。

require 'nkf'

なんだけど。
nkfの方が後なの?逆だと思っていた…。
(なら、以前のKconvってどんな実装だったんだろう…)
>>832
kconvは最初は同名のコマンドのソースを使ってたんだけど、
ライセンスがらみが怪しいのでnkfに切り替え、kconvは
(互換性と利便のために)nkfのラッパーとして残した、と
いうのが歴史的経緯。
834デフォルトの名無しさん:02/04/29 11:25
age
835デフォルトの名無しさん:02/05/04 15:31
なんだかRubyスレが乱立したおかげで,本スレが廃れたね…
スレタイが悪いから,っつーのもあるんだろうが.
836 :02/05/05 15:44
本スレはどれ?ここなの?
それともRubyについての方?
ここが本スレだったんだけど、Rubyについてに移った。
まあ、荒れまくったあの頃よりはマシだろ。
ここは頑張って消費しる
838デフォルトの名無しさん:02/05/06 16:16
>>792
そうなんだ.知らなかった.かなりやな仕様だなあ.lambda とか思わ
せぶりなキーワードのくせに & や yield による妙な扱い.
Rubyって何が出来るの?
840デフォルトの名無しさん:02/05/06 16:47
>>839
http://ssl.ohmsha.co.jp/cgi-bin/menu.cgi?ISBN=4-274-06461-1
Rubyアプリケーションプログラミング
よめ。
841839:02/05/06 16:51
>>840
サンクス!
>>838
本スレじゃないっていってるのにわざわざ古い話を持ち出してきてageるのは
なぜだろう。

まあわざとだろうな。
   || ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄||
   || ★★荒らしは放置が一番キライ!★★
   ||    〜 荒らしは常に誰かの反応を待っています 〜
   ||
   || ●重複スレには誘導リンクを貼って放置!
   || ウザイと思ったらそのまま放置!
   ||
   || ▲放置された荒らしは煽りや自作自演であなたのレスを誘います!
   || ノセられてレスしたらその時点であなたの負け!
   ||
   || ■反撃は荒らしの滋養にして栄養であり最も喜ぶことです
   || 荒らしにエサを与えないで下さい
   ||
   || ☆枯死するまで孤独に暴れさせておいて
   || ゴミが溜まったら削除が一番です 。   Λ_Λ
   ||                       \ (゚ー゚*) キホン。
   ||________________  ⊂⊂ |
      ∧ ∧    ∧ ∧    ∧ ∧    | ̄ ̄ ̄ ̄|
      (  ∧ ∧ (   ∧ ∧ (  ∧ ∧ |      |
    〜(_(  ∧ ∧ __(  ∧ ∧__(   ∧ ∧ ̄ ̄ ̄
      〜(_(  ∧ ∧_(  ∧ ∧_(   ∧ ∧  は〜い、先生。
        〜(_(   ,,)〜(_(   ,,)〜(_(   ,,)
          〜(___ノ  〜(___ノ   〜(___ノ
>>840
目次しか見てないけど、正直なところ「またこの話?」って印象を受けたんだけど
中身はそうでもない?
   || ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄||
   || ★★荒らしは放置が一番キライ!★★
   ||    〜 荒らしは常に誰かの反応を待っています 〜
   ||
   || ●重複スレには誘導リンクを貼って放置!
   || ウザイと思ったらそのまま放置!
   ||
   || ▲放置された荒らしは煽りや自作自演であなたのレスを誘います!
   || ノセられてレスしたらその時点であなたの負け!
   ||
   || ■反撃は荒らしの滋養にして栄養であり最も喜ぶことです
   || 荒らしにエサを与えないで下さい
   ||
   || ☆枯死するまで孤独に暴れさせておいて
   || ゴミが溜まったら削除が一番です 。   Λ_Λ
   ||                       \ (゚ー゚*) キホン。
   ||________________  ⊂⊂ |
      ∧ ∧    ∧ ∧    ∧ ∧    | ̄ ̄ ̄ ̄|
      (  ∧ ∧ (   ∧ ∧ (  ∧ ∧ |      |
    〜(_(  ∧ ∧ __(  ∧ ∧__(   ∧ ∧ ̄ ̄ ̄
      〜(_(  ∧ ∧_(  ∧ ∧_(   ∧ ∧  は〜い、先生。
        〜(_(   ,,)〜(_(   ,,)〜(_(   ,,)
          〜(___ノ  〜(___ノ   〜(___ノ
>>844
>目次しか見てないけど、正直なところ「またこの話?」って印象を受けたんだけど
>>839
>Rubyって何が出来るの?
このひとは明らかにRuby(プログラミング)初心者でしょ
書き方が悪かったかも。
>>840の本自体の書評を聞きたいと思って。

拡張ライブラリの書き方とかはあんまり話題になったことなかったと思うけど、
その他の話題はどれも既に書籍で出たことがあると思ったんで。
既出の本以上の記述があるかな?ってところが知りたい。

って立ち読みしに行ったほうが早いか。
848デフォルトの名無しさん:02/05/20 20:12
age
849デフォルトの名無しさん:02/05/21 00:24
 
(´-`).。oO(アフォなスレだなぁ)
あげ
868デフォルトの名無しさん:02/05/22 00:33
ruby を愛する人は 心清き人
すみれの花のような
ぼくの友だち

C++ を愛する人は 心強き人
岩をくだく波のような
ぼくの父親

Delphi を愛する人は 心深き人
愛を語るハイネのような
ぼくの恋人

Java を愛する人は 心広き人
根雪をとかす大地のような
ぼくの母親
 
     
874るびきち:02/05/22 01:07
877るびきち:02/05/22 11:15
るびびびびっ
このスレキモい。
 
    
  
   
 
変なの。でもまあいいか。
次のスレは作るんですか?
>914
いらん
928るびきち:02/05/24 20:07
いいかげんやめれ
# おれモナー
るびきち☆
>>928
オマエモナー
930ん?:02/05/24 23:05
ん?
sage
1000!
952?
(;´д⊂)このスレは不気味で怖いよー
美・silent
.
970るびきち:02/05/27 13:12
700get!
次スレは

Rubyについて
http://pc.2ch.net/test/read.cgi/tech/1012096319/