5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

Rubyについて

1 :デフォルトの名無しさん:02/01/27 10:51
教えてくれませんか? なんか、どのすれ見ても結構Rubyがいいみたいな事かいてるし
ちょっと前のCマガにもRubyを薦めてるような記事が載ってたんで
興味ありです Rubyの魅力を教えてください

2 :デフォルトの名無しさん:02/01/27 10:53
ならRubyのスレに書け
荒しとしかおもえんわ

3 :デフォルトの名無しさん:02/01/27 10:55
Cマガ野記事読めばいいじゃん。それか今月のUNIX USER。後検索もしろよ。

4 :デフォルトの名無しさん:02/01/27 10:57
Ruby以外の言語は糞。何度言ったら分かる?

5 :デフォルトの名無しさん:02/01/27 10:59
どこがどのように糞で
Rubyのどこがいいのか
具体的におしえていただきたい。


6 :1:02/01/27 10:59
>>2さん>>3さんごめんなさい 初心者な者で…

7 :デフォルトの名無しさん:02/01/27 11:01
俺が2ch初心者の頃は
恐れ多くてスレなんてたてられなかったけどな。

8 :デフォルトの名無しさん:02/01/27 11:18
Ruby >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 2ch

9 :デフォルトの名無しさん:02/01/27 11:41
Ruby>>>>>>鈴木ムネオ

10 :デフォルトの名無しさん:02/01/27 12:16
Rubyこそ最高の言語!

11 :デフォルトの名無しさん:02/01/27 12:27
わかってると思うけどRubyがいいって言っているのはみんなネタなんだよ。
マジレススマソ

12 :デフォルトの名無しさん:02/01/27 13:13
>1
>なんか、どのすれ見ても結構Rubyがいいみたいな事かいてるし
簡単にだまされるなよ(w

13 :デフォルトの名無しさん:02/01/27 13:48
Rubyを批判する奴はサヨク

14 :デフォルトの名無しさん:02/01/27 13:49
Rubyを批判する奴はサヨクという奴がサヨク



15 :デフォルトの名無しさん:02/01/27 14:10
Ruby作者のまつもとはオウム真理教の教祖。
Ruby信者=オウム信者。
つまり社会のゴミ

16 :デフォルトの名無しさん:02/01/27 14:32
Rubyはユーザが主に厨で構成されていることをのぞけばかなり魅力的だと思う。

17 :デフォルトの名無しさん:02/01/27 14:38
PerlとRubyとPythonを比べると、
書籍の数 Perl > Ruby > Python
雑誌の記事の数 Ruby >= Perl > Python (最近Rubyの記事が多い)
出来ること Perl > Python >= Ruby
ってとこか(恣意的意見)。

スクリプト言語をやりたければ、全部かじってみて、好きなのを選ぶといいと思うよ。

18 :デフォルトの名無しさん:02/01/27 14:44
>>17
出来ることはPerl = Python = Rubyだと思うんだけど、
Perlには出来るけど、Python、Rubyでは出来ない事ってあるの?

19 :17:02/01/27 15:01
>>18
ライブラリの数で見ると、です。

20 :デフォルトの名無しさん:02/01/27 15:13
Ruby >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

21 :デフォルトの名無しさん:02/01/27 15:47
Rubyが電磁波を放射している様子ですか?


22 :JustStupidRubyist:02/01/27 18:15
>>1
スレ立てないで。いいかげんうんざりする。

Rubyを愛する奴は人生の敗北者 Part3
http://pc.2ch.net/test/read.cgi/tech/1001829961/

23 :18:02/01/27 18:36
>>19
なる、それなら納得。
ライブラリがなかったら自分で作ればいいと思うけど、
まあ、手間がかかるという意味では大変かな、、、

24 :デフォルトの名無しさん:02/01/27 22:35
>>22 はぁ? あんたがうんざりする亊と何か関係でも?


25 :デフォルトの名無しさん:02/01/27 23:09
>>24 sageで煽るお前がuzeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee

26 :デフォルトの名無しさん:02/01/28 05:47
Ruby!

27 :デフォルトの名無しさん:02/01/28 07:06
俺もrubyの魅力が知りたい

28 :デフォルトの名無しさん:02/01/28 07:37
Rubyを習得すれば、他の言語を見下せるようになる。以上。

29 :デフォルトの名無しさん:02/01/28 08:47
答えになってないYO
もっと詳しく教えてYO

30 :デフォルトの名無しさん:02/01/28 08:57
>>29
Ruby作者のまつもとはオウム真理教の教祖。
Ruby信者=オウム信者。
つまり社会のゴミ


31 :デフォルトの名無しさん:02/01/29 06:45
:-/


32 :デフォルトの名無しさん:02/01/29 08:00
初心者のオレから超初心者のアナタにアドバイス

256本は最初に買うと死にます。とりあえず

プログラミングRuby (ピアソンエデュケーション) か

Rubyプログラミング入門 (オーム社) を買おう。

33 :デフォルトの名無しさん:02/01/29 13:50
>>32に横やり補足。
オブジェクト指向スクリプト言語Ruby(アスキー)は
まつもとさんが書いてますが、一般へのRubyの紹介及び解説みたいな本です。
初心者にはお勧め出来ない。
256本は興味のある分野に書かれているものなら、読んでおくといい。
オレは極道と界道を買ったけど、とてもためになった。

34 :デフォルトの名無しさん:02/01/29 16:07
>>33
> オブジェクト指向スクリプト言語Ruby(アスキー)は
> まつもとさんが書いてますが、一般へのRubyの紹介及び解説みたいな本です。
いや、むしろRubyの実装とかにも踏み込むマニアックな本だとおもう。
石塚さんのOO設計とかも入ってるし。

> 初心者にはお勧め出来ない。
それは同意。


35 :デフォルトの名無しさん:02/02/19 18:24
(;´д`).。oO(むんむんむ〜れむ〜れ腋の下ぁ…)
Windows 98 SE にて、rubyw.exe 1,6,4,0 を使ってます。

最初に、スクリプトを書いた hoge.rb のショートカット(アイコン)を作って、
あとで、入力したいデータが入ったアイコンをショートカットの上に
ドラッグ&ドロップしてやる、なんてことができるでしょうか?
何をどうやって試してみてもうまくいかないので、極めて討つ討つ討つ…。

Windows のショートカットアイコンのプロパティに "%1" とか入れてみたり、
hoge.rb では $_ や $* から入力を拾ってみようとしてみたり、
ためしにテキストファイルに fp.print strHogeHoge してみたり。
たまに print できても「nil」なんて書かれたりしてガックリ。

(;´д`).。oO( どうしたら井〜の頭?)

36 :デフォルトの名無しさん:02/02/20 23:48
>>35

rubyw.exe へのショートカットをつくって、
そのパラメータにスクリプト名を書けばよかったりしません?
パス名が \ 区切りになるので cygwin版じゃなくmingw版とかのほうが
よかったりはするかも(未確認)

37 :デフォルトの名無しさん:02/02/21 17:38
>>36
(´−`).。oO( スクリプトと入力データ。2つのファイル名を与えたかった。)

しかし、なんとなくわかってきました ヽ(;´д`)ノ゙(((○ ソリャソリャ

問題点
1. Windows のアイコンの仕様:
  *.exe, *.bat,... = D&D のターゲットになれる
  上記以外(*.exe に関連付けしてあっても)= D&D のターゲットになれない2. Windows のパス名の区切り文字が逆スラッシュなのはイヤだ
3. Ruby インタプリタに複数のファイル名や文字列が与えられるだけでは
スクリプトと単なる文字の羅列との区別がつかない
(というより、Windows が *.rb とかのスクリプトのファイルを
実行権限つきで動かせない。しかも #!C:\Progra~1\ruby.exe などの
型式でインタプリタを指定できない)

↓ダサい方法ですが、なんとかいけます (´д`)ノ 

解決策
droptarget.bat の中身:
TYPE %1 | START "E:\Program Files\hogehoge.rb"

hogehoge.rb の中身:
strText = STDIN.read
(以下略)

そして、droptarget.bat の(ショートカット)アイコンに
なにか好きなものをドラッグ&ドロップする

…という感じでうまくいきました。
ありがとうございました〜♥>>36


38 :デフォルトの名無しさん:02/02/21 19:35
>>37

手元のWindows2000だと、リンク先を

c:\path\to\ruby.exe c:\path\to\script

にしておけば、ドロップしたファイル名が受け取れてます。
Windows98だとダメなのかもしれないですね。。。

ところで、droptarget.bat の %1 はスクリプト名、%2が
ファイル名のほうが便利じゃないです?ってこれも
うまくいかない?

39 :デフォルトの名無しさん:02/02/21 20:32
最近Ruby厨がかわいくてしょうがない・・・

40 :デフォルトの名無しさん:02/02/21 21:57
ときどき、大声で「Ruby!」と突然叫んでみたくなりませんか?


41 : ◆RubyOmS2 :02/02/22 06:02
>>37
ARGFを使った方がスクリプトが汎用的でいいと思うんだけど、、、
Rubyのスクリプトを実行形式(.exe)にかえるツールがいくつかあるらしいので、
それを使ってもできると思う。
詳しくはどれなのかオレも忘れちゃったので、MLなどで検索してみてください。(ごめんなさい)

>>40
一日一回は「Ruby!」と叫ばないと禁断症状が現れます。w

42 :デフォルトの名無しさん:02/02/24 09:23
Ruby!

43 :デフォルトの名無しさん:02/02/24 14:03
病人が居るスレに認定

44 :デフォルトの名無しさん:02/02/27 17:55
Rubyでオブジェクトをシリアライズする方法を教えてください。オブジェクトをファイルに保存したいんです。Googleでさがしたけど、方法がわかんないんです。

45 :デフォルトの名無しさん:02/02/27 19:43
>>44
Rubyはできません。

46 :デフォルトの名無しさん:02/02/27 21:10
obj.dump

47 :デフォルトの名無しさん:02/02/27 22:35
こっちを本スレにしよう。


48 :デフォルトの名無しさん:02/02/27 22:36
>>44
ネタ?
組み込みモジュールの Marshal を使う。

49 :デフォルトの名無しさん:02/02/27 22:37
>>44
Marshal.dump を使おう
http://www.ruby-lang.org/ja/man-1.6/?cmd=view;name=Marshal

だたし、特定のオブジェクトの dump ができなかったり、
Marshal フォーマットがいつの間にか変わっていて
load できなかったりすることもある。
後者は Changelog や ruby-list で情報が得られると思う。

50 :デフォルトの名無しさん:02/02/27 22:38
Pstoreでも良いんじゃないかね。>>44

51 :デフォルトの名無しさん:02/02/27 23:34
>>49
Marshalのフォーマットは基本的には上位互換でしょう。
ただし、一時期バグのせい(?)で互換性がなくなってしまったことが
あったみたいです。


52 :デフォルトの名無しさん:02/02/28 09:52
>>49
ああ、そっか。Ruby界隈ではマーシャリングって言葉の方が多く使われてるんですね。ありがとうございました。

53 :デフォルトの名無しさん:02/02/28 12:01
>>51
>>49 のMarshalのドキュメント読んだ?

1.7以降はMarsharl::MAJOR_VERSIONが違うとエラーになるみたい。


54 :デフォルトの名無しさん:02/02/28 12:06
>>53
Marshalのつづりを間違えた。
すまん、逝ってくる。


55 :デフォルトの名無しさん:02/02/28 22:54
>>53
がーん
古いのは読めないの?

56 :デフォルトの名無しさん:02/03/01 00:53
>>55
データをファイルに書き出したいならテキスト形式にするのが
互換性問題もきにしなくていいし一番長持ち。

57 :デフォルトの名無しさん:02/03/01 01:05
そりゃそうだけど大きさと速度考えたらどう考えてもテキスト不可でしょ。

58 :デフォルトの名無しさん:02/03/01 01:18
>>57
もちろんケースバイケースなんだけど、いまどき大きさや速度を
気にしなければいけないケースはあまりないのでは?
それよりもデータをテキストに変換、テキストをデータに変換、
という部分を作らなければいけないのが面倒かも。
でも Marshal されたものに比べテキストなら他言語でも読めるし
にんげんにも読めるしメリットも多い。

なんかあたりまえのこと書いてるなあ。おもしろくなくてスマソ。

59 :デフォルトの名無しさん:02/03/01 20:10
言語仕様的にどうよ?
悪くないんなら、ちょっとしたShellでも
作りたいんだが。

60 :デフォルトの名無しさん:02/03/01 21:47
>>58
ぜんぜんおもしろくない。オブジェクトで保存、オブジェクトで通信、なんでもオブジェクトしてこそのオブジェクト指向だろうが。一々テキストに書き出して正規表現で処理するならPerlと同じじゃん。

61 :デフォルトの名無しさん:02/03/01 21:52
>>58
現実にはテキストクソ遅せーとのたまう信者が多数なので不可。
それよりもディスアセンブラみたいに、何が書かれているのか
入出力するフィルターがあれば十分。

62 :デフォルトの名無しさん:02/03/01 21:58
Sather!

63 :デフォルトの名無しさん:02/03/01 22:30
Rubyってオブジェクトをテキスト形式で書き出せないの?XMLは?

64 :デフォルトの名無しさん:02/03/01 23:31
クソムルで書くなんて、アホ。

65 :デフォルトの名無しさん:02/03/02 00:48
>>64
アホはおめーだよ。普通まともなオブジェクト指向言語なら、オブジェクトをXMLに吐き出せて当然。

66 :デフォルトの名無しさん:02/03/02 00:50
できるのかできないのかはっきりしろ

67 :デフォルトの名無しさん:02/03/02 00:51
65は「おまえだよ」使いに認定〜

68 :デフォルトの名無しさん:02/03/02 01:05
Marshalのことを言っている人、このページを読んだ事はある?

http://www.jin.gr.jp/~nahi/RWiki/index.cgi?cmd=view;name=Marshal%A1%A3

XMLに吐き出すならXMarshalがある。(制限はあるけど)
試したわけじゃないけど、AMarshalが一番色々できそう。

69 :デフォルトの名無しさん:02/03/02 01:06
>>67
ありがとう。ところで、できんのか、できないのか、今作ってるとこなのか、どうなんだ?

70 :デフォルトの名無しさん:02/03/02 01:08
読むのめんどくせえからこんなとこできいてるんじゃねえか、ぼけ>>68

71 :デフォルトの名無しさん:02/03/02 01:10
あ、お礼言うの忘れてた。どうもありがとう。>>68

72 :デフォルトの名無しさん:02/03/02 01:10
satherか。
イテレータとかsatherから持ってきてるんだっけ。

73 :デフォルトの名無しさん:02/03/02 01:22
>普通まともなオブジェクト指向言語なら、オブジェクトをXMLに吐き出せて当然。
クスッ。初学者さんですねえ。

74 :デフォルトの名無しさん:02/03/02 01:27
先月創刊のNEXT ENGINEERに未踏ソフトウェア事業の
天才プログラマネタが載ってるね

75 :デフォルトの名無しさん:02/03/02 01:28
>>73
だからこんなとこできいて、礼儀正しくお礼までのべてるんじゃねえか、ぼけ。

76 :デフォルトの名無しさん:02/03/02 02:29
>72
CLUじゃないの?

77 :デフォルトの名無しさん:02/03/02 03:27
>>59
個人的には書きやすくて好きだけど。
shell って何やりたいかよくわからないけど、標準で入っている shell.rb とか
おもしろい。
注: インタラクティブな Shell ではないよ。

78 :デフォルトの名無しさん:02/03/02 08:29
>>77
シェルじゃなくて、なんていうかemacsのスクラッチバッファみたいなの
作ってみたい。とりあえずそのshell.rbでも見てみるわ。サンクス。

79 :デフォルトの名無しさん:02/03/02 11:10
>>78
対話的に Ruby のコードを実行したいなら、
irb(Interactive Ruby)が標準で添付されているよ。

Emacsといっしょに使うなら RAA にあるirbshかな。

80 :デフォルトの名無しさん:02/03/02 12:44
>78
スクラッチバッファ相当を作りたいのなら shell.rb は全然関係ないね。
79が言うとおり irb がついてる。

irb って何であんなに複雑なんだろう。

81 :デフォルトの名無しさん:02/03/02 13:11
>>79-80
成るほど。そっちを見たほうがいいのか。
ていうか既にあるのか。
じゃあ視点変えて、例えばエディタ等の
マクロ言語として使用する場合の
メリット・デメリットを教えてくれない?
非常に興味あるんだけど。

82 :デフォルトの名無しさん:02/03/02 13:28
>>81
はぁ?emacs使えば?

83 :デフォルトの名無しさん:02/03/02 14:02
>>80
Rubyがそのたぐいの処理に向いてないからです。しょせんPerl オブジェクト指向地方の方言じゃん。

84 :デフォルトの名無しさん:02/03/02 14:14
>>81
Lisp のかわりに Ruby を積んだ Emacs みたいなイメージですよね。
おもしろいんじゃないでしょうか。
Ruby はもともと文字列処理は得意だし、悪くないと思いますよ。

JED というエディタに Ruby を組み込んだものは既にある(あった?)みたい。

85 :デフォルトの名無しさん:02/03/02 15:01
あたまわるいひとばっかりなのはなんでえ?

86 :デフォルトの名無しさん:02/03/02 15:06
>>80
irb は、Rubyの字句解析に相当する部分を全部自前でやっているから。

87 :デフォルトの名無しさん:02/03/02 16:14
ruby 1.6.7 がリリースされているようです。アナウンスは月曜?

88 :デフォルトの名無しさん:02/03/02 16:30
だって、くるなっていってんのに、きみみたいのばっか集まってくるんだもん。>>85

89 :デフォルトの名無しさん:02/03/02 18:19
>>84
エディタのマクロ言語としてRubyを使いたい場合、
エディタにRubyを組み込むという手と、
Rubyでエディタを書いてしまうという手が考えられるけど
どっちがいいだろう。

90 :デフォルトの名無しさん:02/03/02 20:01
>>89
Rubyで書いちゃう方が(使う方としては)面白いと思う。
その方が触ろうとする時サンプルソースも多いし、Squeak(Smalltalk)みたいに色々弄れるんじゃないかな、と思うけどEmacsはどんな感じ?
速度としては
http://www.bagley.org/~doug/shootout/craps.shtml から
http://www.bagley.org/~doug/shootout/lang/xemacs/ xemacs
http://www.bagley.org/~doug/shootout/lang/ruby/ ruby
うーん?
まぁ、2.0になれば速くなるだろうし、このままでもあまり問題では無いだろうけど。

91 :デフォルトの名無しさん:02/03/02 20:21
>>91
ねぇ、ねぇ。Rubyで書かれたエディタなんていくらでもあるよね。昨日、今日できたプログラム言語じゃないんだし、真のオブジェクト指向言語で、とっても素晴らしいんだから、エディタなんか、みんな自分で作っているよね。

92 :デフォルトの名無しさん:02/03/02 20:26
>>91
ハァ?
Rubyで疑似OSもつくれるよ。

93 :デフォルトの名無しさん:02/03/02 20:31
RUNIXを作ろう。
プロセッサはRubyのコードをそのまま実行できるCPUを採用。

94 :デフォルトの名無しさん:02/03/02 20:31
>>91
まあ tk や gtk でテキストウィジェッと出せばできたも同然だからな。
でも常用できるレベルにするのは大変でしょ。

95 :デフォルトの名無しさん:02/03/02 20:32
ごたく並べてねぇで、エディタ出せよ、エディタ、ぐぉらあ!>>92

96 :92@低能:02/03/02 20:34
>>95
Rubyでコーディングなんてできません<(`^´)>

97 :デフォルトの名無しさん:02/03/02 20:44
>>94
それは実用性のあるプログラムをRubyで書くのは無理だから止めた方が良いというアドバイスか?それとも実用レベルのプログラムを書けるやつがRuby界隈にはいないということか?

98 :デフォルトの名無しさん:02/03/02 20:56
>90
その速度の比較だけど、比べにくくてよくわからんのだが Ruby って
Emacs Lisp より遅いの?
まあ lisp なんて処理系が単純だから高速であたりまえの気もするが。

99 :デフォルトの名無しさん:02/03/02 20:57
>>97
単に「自分はコーディングできません」ってことじゃないですか?


100 :デフォルトの名無しさん:02/03/02 20:58
実用レベルのエディタを作るのは言語に関係なく大変だろ。
既存のエディタが無数にあるのだから組み込めば良し。

101 :デフォルトの名無しさん:02/03/02 21:01
>>92
おまえの書き込み低脳過ぎてこっちが恥ずかしくなるから
もう少し勉強してしゃべってくれませんか?

102 :デフォルトの名無しさん:02/03/02 21:02
>>98
数値計算が絡むのは遅いよ

103 :デフォルトの名無しさん:02/03/02 21:05
>>100
素直になれよ。ちゃんと認めたらどうだ。「Rubyじゃエディタはもちろんこれといったアプリケーションは何も作れません。現に何ひとつ目玉となるようなアプリケーションがありません。」って。


104 :デフォルトの名無しさん:02/03/02 21:06
今の流れ、雰囲気でいくと
>>103の方が恥ずかしいね。

105 :デフォルトの名無しさん:02/03/02 21:09
>>100
誰か Emacs に Ruby を組み込んでくれないかなあ。lispでなんか
書きたくないよ。lisp は残しとくのは構わないから。
RubyじゃなくてPerlでも良いけど。

106 :デフォルトの名無しさん:02/03/02 21:11
>>101
ネタにマジレスしているんだか、ネタと分かって煽っているのかよく分からないな。

107 :106:02/03/02 21:12
ネタ禁止スレだったらごめん。

108 :デフォルトの名無しさん:02/03/02 21:22
>>105
自分でやれ。俺はlispのほうが好きだ。

109 :デフォルトの名無しさん:02/03/02 21:24
>>105
Emacsに変なもの持ち込まないでくださいね。

110 :sage:02/03/02 22:06
みんなして黙っていてもしょうがないよ。Rubyで作ろうよ、ね、エディタ。時間はかかるけどね。今のままだと、一生日陰者だよ。がんばってみんなを見返してやろうよ。絵に書いた餅じゃない、「これがRubyで作ったエディタだ、使ってみろ!」って。

111 :デフォルトの名無しさん:02/03/02 22:17
WindowsアプリのマクロにRubyを組み込む為の分かりやすい
キットが有ればいいのに、とPythonが組み込まれたIriaを見て思った。
どう?


112 :デフォルトの名無しさん:02/03/02 22:34
>>109
よりも
>>108の方がずっと好感が持てる。

113 :デフォルトの名無しさん:02/03/02 22:36
>>111
そういえば Becky! に Ruby を組み込んだものってあったなあ。

114 :デフォルトの名無しさん:02/03/02 22:42
>>110
別にそこまで卑屈にならんでもいいんじゃない?
エディタを作ってみようってのは悪くないけど、誰かが音頭をとって
ある程度たたき台を作らないとすすまないよ。
君がやってくれると嬉しいんだけど。

115 :age:02/03/02 22:43
>>113
そんな話ばっかりでお茶を濁しているから、Ruby全体がしぼんだちんちんみたいになっちゃうのよ。

116 :デフォルトの名無しさん:02/03/02 22:59
>> 111
ttp://www.jin.gr.jp/~nahi/RWiki/index.cgi?cmd=view;name=ML+Topics%3A%3ARuby%A4%CB%A4%E8%A4%EB%B3%AB%C8%AF

が参考になるかも。

117 :デフォルトの名無しさん:02/03/03 00:00
>>114
洩れのティムポは真のオブジェクト指向。だけど、彼女を最後までいかせたことは一度もないの。

118 :sage:02/03/03 00:09
>>110
一番楽そうなのは Apollo の Phi::Editor か VisualuRuby + Scintilla かな。
どっちもRubyスクリプトの色付けが可能みたい。

Scintilla(http://www.scintilla.org/) は gtk+ でも使えるけど、
誰かRuby/GTKから使えるようにした人はいる?


119 :デフォルトの名無しさん:02/03/03 02:39
>>118
いないんだって。真のガベージコレクションとイテレータを駆使しても解決できないみたい。

120 :デフォルトの名無しさん:02/03/03 03:02
まともなエディタの規模になるとソースの可読性が問題になるからな。Rubyの可読性はPerlとさして変わらんでしょ。作るならJavaかPythonにしとけよ。

121 :デフォルトの名無しさん:02/03/03 12:15
>>118
Scintilla はプログラミング言語の編集に特化したものみたいですね。
なかなかおもしろそう。
他にもいろいろ GUI ツールキットがあるから、wrapper になるクラスを
用意して、編集作業はそれを経由してやるようにするのが良いだろうか。

122 :デフォルトの名無しさん:02/03/03 12:51
Scintillaじゃないけど、SciTeはPragProgのWindows Installerにもついてくるんだったっけ? これでRubyが編集できるから、みんなそれで事足りてるんじゃないのかな。

123 :デフォルトの名無しさん:02/03/03 13:06
>>121
そのGUIのラッパというのもさんざん聞き飽きたよ。いつまで話だけしてんだよ。さっさと作れよ。

124 :デフォルトの名無しさん:02/03/03 13:11
まあまあ、Rubyがデファクトスタンダードである事実は
変えようがないんだからさ。またーりいこうよ。またーり。

125 :デフォルトの名無しさん:02/03/03 13:11
脳内デファクトスタンダード?

126 :デフォルトの名無しさん:02/03/03 13:29
>>121
GUIラッパは、個人的な経験からいうとやめといたほうがよい。
抽象度のレベルにもよるけどね。漏れがヘタレだからうまくいかなかった
だけかもしれんが。

127 :デフォルトの名無しさん:02/03/03 15:00
>>126
名前しか知らないが、
pythonのanygui http://anygui.sourceforge.net/
JavaのEclipseのSWT http://www.eclipse.org/articles/Article-SWT-Design-1/SWT-Design-1.html
RubyのLocana http://www.locana.org/

Locanaはクラスの名前が気持ち悪いし、どこまで使えるか
分からないので、今のところ様子を見てる。

128 :デフォルトの名無しさん:02/03/03 15:17
>>127
RubyのGUIラッパ、ちゃんと作っている人がいるのではないの。やっぱ外人さんだね。カタログスペックをごちゃごちゃ並べたてるだけの日本勢はここらで手を引いたらどうだ。そのほうがRubyのためだぞ。

129 :デフォルトの名無しさん:02/03/03 15:40
やがて日本のRuby厨房文化と海外勢の間で摩擦が起きて、海外Ruby勢はForkすると読んでいるのだが、どうよ。

130 :デフォルトの名無しさん:02/03/03 15:53
>>128
別に関わりたい人が関わればいいんでないの?
海外勢だってスタートダッシュだけの放置プロジェクト沢山あるし。
割合はともかく優秀な人はどこにでもいる。
とにかく使い手が増えることが肝心。

131 :デフォルトの名無しさん:02/03/03 15:53
>>122
> SciTE is a SCIntilla based Text Editor
って書いてるぞ。
以前のPragProgのWindows InstallerについていたRubyWinも
Scintillaを使っていた。RubyWinはIRBが使えて便利だったんだけど、
SciTEに取って代わられたな。

SciTEはRubyに特化しているわけでないから、
RubyのIDEの需要はあると思うが、どうよ。


132 :デフォルトの名無しさん:02/03/03 15:56
PragProgのWindows Installerてなにさ

133 :デフォルトの名無しさん:02/03/03 16:09
RubyWin はデバッグ支援機能ないしな。

IDE for Ruby

RubyWin http://homepage1.nifty.com/markey/ruby/rubywin/
C++ 製、Ruby 用 IDE の先駆け。最近は更新されてない。

RDE http://homepage2.nifty.com/sakazuki/rde.html
Delphi 製。デバッグ支援、入力補完など現代的な IDE の機能はそろっている。
ただ、使い勝手の面で作りこみが必要かな。

FreeRIDE http://www.rubyide.org/cgi-bin/wiki.pl
CVS にソースが載り始めたくらい。
きっちり目標を決めて作っている模様。
動く実装ができるまで時間かかりそう。

>>132
これ
http://www.pragmaticprogrammer.com/ruby/downloads/ruby-install.html

134 :デフォルトの名無しさん:02/03/03 16:11
Ruby.NETをVS.NETで開発とかってできないのかな

135 :デフォルトの名無しさん:02/03/03 16:29
>>134
できるYO!みんな使ってるYO!現実から目を背ける力さえあれば、実現できないことなんて何もないのさ!

136 :デフォルトの名無しさん:02/03/03 16:37
>133さんきゅー

137 :デフォルトの名無しさん:02/03/03 16:38
.NET 方面だと

NETRuby
http://www.geocities.co.jp/SiliconValley-PaloAlto/9251/ruby/netruby.html
C# で Ruby (のようなもの) を記述。

JRuby
http://jruby.sourceforge.net/
Java で Ruby を実装。

Ruby and .NET スレ @ ruby-talk
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/33851

138 :デフォルトの名無しさん:02/03/03 16:48
>>133
RDEは補完とかソースブラウザーとか大雑把にやっている感じが
して、あまり好きではないな。とりあえずFreeRIDEに期待。

あと、MacOSXだけどRubyStudioってどんな感じ?
RubyStudio
http://www.ruby-lang.org/en/raa-list.rhtml?name=RubyStudio


139 :デフォルトの名無しさん:02/03/03 16:54
@ ruby-talk は死滅スレみたいになってるね。anywhere chu-bo

140 :デフォルトの名無しさん:02/03/03 16:58
>>138
アダルトサイトか?
http://homepage.mac.com/WebObjects/FileSharing.woa/wa/default?user=canyonrat&templatefn=FileSharing.html&aff=consumer&cty=US&lang=en


141 :デフォルトの名無しさん:02/03/03 18:15
Rubyそのものは置いとくとしてもさ、プログラミング言語の発展というものに対して戦略がなさ過ぎるよね。まあ、まつもと尊師自身が「好きでつくってるだけ」というのだから、しょうがないけどさ。

言語マニアを除いた一般プログラマにとってはいくつもの言語をマスターしなくちゃならないのは苦痛なわけで、新しい言語を学ぶにはそれなりの動機付けが必要なんだよ。
JavaやPythonなんかはその新分野の開拓に成功したけれども、Rubyは結局Perlの焼き直しでしかなくて、これといった得意分野がないじゃん。何でもできます、でもどれも中途半端。Perlと同じように読みにくいしさ。

bashの前に敗れた去ったCシェルと同様の運命を辿ると思割れ。

142 :デフォルトの名無しさん:02/03/03 19:20
別に大掛かりな発展なんてしなくても、
絶滅しない程度に使われていけば、それでいいんじゃないのかなぁ
まつもと氏が好きで作ってるんなら、自分は好きで使ってるだけだし。

分野としてperlとほぼかぶってるってのはそうだと思う。
でも、別に「だったらperl使えばいいじゃん」って言う人は別にrubyなんて覚えなくて
perlでやればいいと思う。
自分はperlよりrubyのほうが好みだからrubyを使ってるだけ。

143 :デフォルトの名無しさん:02/03/03 19:25
自分はrubyなんか眼中にないから使わないだけ。

144 :デフォルトの名無しさん:02/03/03 19:27
自分はrubyなんか仕事にならないから使わないだけ。

145 :デフォルトの名無しさん:02/03/03 19:28
自分はrubyが原因で首吊りたくないから使わないだけ。

146 :デフォルトの名無しさん:02/03/03 19:32
そんなことよりMINDを発展させるべきだ。

147 :デフォルトの名無しさん:02/03/03 19:47
俺も好きで使っているから、perl/pythonと競合しようが、 これからも使っていくつもり。 色んな所で認められて、広く使われるようになった方が もちろん良いけどね。

148 :デフォルトの名無しさん:02/03/03 20:05
pythonに得意分野があるというのならrubyにもある。

149 :デフォルトの名無しさん:02/03/03 20:11
>>148
ぼうや、おねいさんが聞いてあげるから言ってごらん。


150 :デフォルトの名無しさん:02/03/03 20:14
>>141は本当にRuby使ったこと有るのか?Perlと同じように読みにくい???
あと、Cシェルが敗れ去ったっつーのも、なんだ。あれだな。まぁいいが。bashが勝ってるのなんて・・・

151 :デフォルトの名無しさん:02/03/03 20:25
LISPの人はさすが下積みが長いだけあって、現状分析が的確だ。
http://www.shiro.dreamhost.com/scheme/trans/being-popular-j.html

152 :デフォルトの名無しさん:02/03/03 20:29
RubyがPerlより優れている点ならたくさんありますよ。
オブジェクト指向であることも一つです。
それに、Perlみたいに弱い言語じゃないことも事実です。
エラー処理については、第一級レベルだと思います。




153 :デフォルトの名無しさん:02/03/03 20:31
また始まったよ...

154 :デフォルトの名無しさん:02/03/03 20:33
てっかさ、Rubyが使わないから関係ないとか、プログラマにとってたくさん学ぶことは苦痛とか行ってるけど、
Perlみたいに、堕落した言語使ってたら、人間馬鹿になって、最終的に
プログラマとして無意味になりますよ。ただの自惚れじゃないんですか?
それに、プログラミング言語は、それぞれ特徴があるけど、(Perlユーザーは堕落するとか)
ほんとにプログラミングが出来る人間なら、大半の言語は同じようにに見えるんじゃないの?
基本的には、同様ですからね。


155 :デフォルトの名無しさん:02/03/03 20:34
所詮はス(以下略

156 :デフォルトの名無しさん:02/03/03 20:39
そうですね。スレ違いです。

157 :デフォルトの名無しさん:02/03/03 20:41
>>154
端から見ると、どうみてもRubyはPerlそっくりだけど。

158 :trip:02/03/03 20:43
ASMTNUOE : #-xhU?zhJ
ASMN9CQ6 : #F\KFJd^*
ASMho0u6 : #Ey「'Y%nc

VB.oJQOc : #]xP:2サ.[
VBe6Xi.Q : #BxPssNQP
VBqk7G2E : #NxP:シ_|/

OBJFuKbw : #Vy%RC)Fk
OBJF1MTg : #1y%*fM4+
OBJOq.uM : #iy%@~」3Q

EXEwd/xo : #PI5w23.a
EXEH.1yY : #XI5dBm],


159 :デフォルトの名無しさん:02/03/03 20:44
>>156
いや、所詮はスク(以下略

160 :デフォルトの名無しさん:02/03/03 20:48
つーかさ、158みたいなわけのわからない書き込み多いんだけど、
Ruby信者って普通の会話もできないクズばっかりなの?

161 :158:02/03/03 20:55
>>160
クソをクソらしく利用してやったんじゃねえか。
勝手に決め付けんな低脳

162 :デフォルトの名無しさん:02/03/03 20:57
>141
そういう意味ではHSPの方が成功しているという事実・・・

Rubyも世俗化してWinでexeファイルが作れるようにしろ!
言語の実装上無理か・・・


163 :デフォルトの名無しさん:02/03/03 20:59
Ruby>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>158

164 :デフォルトの名無しさん:02/03/03 21:03
ワーイ158がキレタ!
            158がキレタ!

165 :デフォルトの名無しさん:02/03/03 21:06
うわ、すげー質悪い

166 :158:02/03/03 21:17
ちょっと冷静になろう。Ruby厨はふたことめには「Perlは汚い」と言うが、なぜその汚い言語がここまで普及しているのか、どうして考えようともしないのか。
開発者のパワーでいえば、間違いなくインターネット上でダントツ一等賞の言語がPerlだぜ。「Rubyに決定的に欠けているものが、Perlにはあるのかも...」と発想するセンスはないの?

167 :デフォルトの名無しさん:02/03/03 21:21
Rubyの良さがわかんない人にRuby勧めたってしょうがないよー
Ruby信者はうざいだけだよー

168 :158:02/03/03 21:22
段々わかってきたろ?Rubyはな、Perlには勝てないんだよ。
実は、166で言ったことはほんの序章に過ぎないんだ。
本当のPerlの力とは、天才ハッカーの作者が作り出した
「Perl教」。これにある。これに入ればなにもせずに
ただでどんどんお金が入ってきて、しかも願い事は全てかなうという
最強の宗教だ。さぁ、今すぐ入会を会をカイヲカイヲカイヲ

169 :158:02/03/03 21:25
Perlの力にかかればな、まつもtなんかチョイだぜ、チョイ。指でな。
指でチョイってやるだけなんだよ。そうだ。チョイだ。
それに追い討ちをかけるかのごとくチョイとやれば、
もうRuby厨なんかチョチョイノチョイだ。わかるか。チョイなんだよ。指でな。
あとは、わかるな?

170 :デフォルトの名無しさん:02/03/03 21:27
>>141
そうはいうものの、Ruby レベルに発展した言語自体少数だよ。
かなり成功してると思うが。

>>152
弱い言語ってなんだそりゃ。
Perl6 でかなり機能が追加されるから、
現在ウィークポイントとなっている言語仕様は改善される(はず)。
まあ、同時に今よりごちゃごちゃするが。
Python もイテレータ装備した。
上品に使う分には Ruby の言語仕様の機能的優位性はないと言っていい。

>エラー処理については、第一級レベルだと思います。
rescue すべき例外が実行前に分からないのが Java と比べて相当面倒。
開発環境でサポートすべき点だ。

>>162
バイナリコードに落とすのではなく、
パックして exe ファイル作るツールはある。

rb2exe
http://www.os.rim.or.jp/~eban/
rb2exe (同名)
http://yuya.4th.to/ruby/rb2exe/
rbwrap
http://www.ce.chalmers.se/~feldt/ruby/applications/rbwrap/

171 :158:02/03/03 21:30
>>170
クソをクソらしく利用してやったんじゃねえか。
勝手に決め付けんな低脳

172 :158:02/03/03 21:30
>>170 スレ違い。
おまえらマジメにPerlの事について語ろうぜ!

173 :デフォルトの名無しさん:02/03/03 21:31
>>166
QuickHack に適しているから
それとちょうどインターネットの成長と時期が合ったのも普及の要因

174 :デフォルトの名無しさん:02/03/03 21:33
ム板も最近こんなのばっかりだな…

175 :デフォルトの名無しさん:02/03/03 21:36
>>166
Perlが先に普及したからに決まってんじゃんよー
時系列考えなー

そもそもPerlが存在しなかったらRubyも存在しなかっただろうし。



176 :デフォルトの名無しさん:02/03/03 21:37
QuickHack(フ?フ?

177 :デフォルトの名無しさん:02/03/03 21:41
>>173
90年代初頭、Perlはすでに広く使われていたぜ。DOSエクステンダ上で。日本でもCマガジンなんかが特集していたし。

178 :デフォルトの名無しさん:02/03/03 21:41
Perlはめちゃくちゃ必要だけど、
Rubyは別に存在しなくてもいいよね。

179 :デフォルトの名無しさん:02/03/03 21:48
>>177
そっか。やはりテキスト処理の能力かね。
Perl 以前のテキスト処理に強い言語って何があるかな。
awk と sed か。

180 :デフォルトの名無しさん:02/03/03 21:50
>>141
>そういう意味ではHSPの方が成功しているという事実・・・
>Rubyも世俗化してWinでexeファイルが作れるようにしろ!
>言語の実装上無理か・・・
実装上無理って、>>170にあるように存在するジャン。どーせソースも読んでない癖
にえらそうなこと言うなよ。こういう計算機学の素養を感じさせない人間がRubyを攻撃するんだよね。
たぶんHSPとかDelphiとかの厨房向けツールを使っただけでいっぱしのプログラマに
なったつもりなんだろーな。煎ってよし。
Rubyも初心者向けだけど、使う人はコンピューターサイエンスの分かった人が多い。
なぜなんだろう?

181 :デフォルトの名無しさん:02/03/03 21:52
日本人がつくった言語が天下をとれるわけないだろ。

182 :デフォルトの名無しさん:02/03/03 21:53
やっぱりアンチRUBYはサヨク

183 :デフォルトの名無しさん:02/03/03 21:57
Rubyな皆さん。あなたたちは180>>みたいなのを大量生産して、世にのさばらせているのですよ。この責任をどう考えているのですか?

184 :デフォルトの名無しさん:02/03/03 21:58
温泉に逝って作者の話聞いてきます
http://spa.jssst.or.jp/

185 :デフォルトの名無しさん:02/03/03 22:00
え?
>たぶんRuby使っただけでいっぱしのプログラマになったつもりなんだろーな。煎ってよし。
>Ruby使う人はコンピューターサイエンスの分かってない人が多い。
>なぜなんだろう?

186 :デフォルトの名無しさん:02/03/03 22:01
>>180 大筋同意だが、HSPもDelphiも厨房向けツールではない。

187 :デフォルトの名無しさん:02/03/03 22:01
>>185
>なぜなんだろう?
つーかキチガイがやたら多い

188 :デフォルトの名無しさん:02/03/03 22:08
>>187
つーか基地外はRubyをネタにするただの荒らしだと思われ…


189 :デフォルトの名無しさん:02/03/03 22:09
٠٩٧٣هخخخخخخعف٤٣صضسيسسسسسغ(|)


190 :デフォルトの名無しさん:02/03/03 22:11

 / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 |  はいはい
 |  取り壊しの邪魔だから出てった出てった
 \___  ______________
        |/_____
   , --、    |  |._ |   rubyはやっぱクソだったな!     まったくだ
  f=+=l.    |  ||.R|.|        ∧_∧       ∧_∧
  (,,゚Д゚).   |  ||.u|.|       ( ・∀・) ニヤニヤ (・∀・ )
  ⊂  つ .  |  ||.b||       (    つ     (    )
 〜|  | 彡  |  ||.y||       | | |       | | |
   し`J    |  | ̄ .|       (__)_)      (_(_)
 ~~        ̄ ̄ ̄     ~~
                           ~~

   ゴゴゴゴゴ

      /ゝ     ┌―┐ <--Ruby
      / ●.  ┌┘品└┐
  {{ []台      | ロロ ロロ.|
  ̄ ゚゚゚゚゚゚̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄


         \\あぼ――ん/ /
            (´;)
        /\  (;)┌―┐
        / <<●(´;;;) └┐ }}
       []台   (;;⌒);;;) ロロ.|
  ̄ ̄ ̄ ゚゚゚゚゚゚̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄

                          ―Ruby完―

191 :デフォルトの名無しさん:02/03/03 22:11
>>189こういうのがほんとの荒らし。なにいってんの?>188

192 :デフォルトの名無しさん:02/03/03 22:14
Ruby以外の言語は糞。何度言ったら分かる?


193 :デフォルトの名無しさん:02/03/03 22:16
>>189=191
いいかげんにしる!

194 :デフォルトの名無しさん:02/03/03 22:18
 ∧||∧
(  ⌒ ヽ ああ、、もうだめぽ。
 ∪  ノ この板で紅玉の繁栄はありえないぽ。
  ∪∪  

195 :デフォルトの名無しさん:02/03/03 22:20
       /         /.    │    ヽ          \
 ∧ ∧/          /.     │     ヽ         ∧\∧
(  ⌒ ヽ           /      │      ヽ        (  ⌒ ヽ
 ∪  ノ          /      │      ヽ         ∪  ノ 
  ヽ_),)           /       │       ヽ        し' l_ノ
       ミ      /       │        ヽ      
            ∧ /∧      │       ∧ヽ∧  彡 
           (  ⌒ ヽ      │      (  ⌒ ヽ
            ∪  ノ ミ  ∧│∧  彡   ∪  ノ
             ヽ_),)    (  ⌒ ヽ      し' l_ノ
                     ∪  ノ
                      ヽ_),)




196 :デフォルトの名無しさん:02/03/03 22:21
   ||     ⊂⊃
   ||    ∧ ∧
   ||    (  ⌒ ヽ
 ∧||∧   ∪  ノ  
(  ⌒ ヽ 彡  V   
 ∪  ノ  フワーリ
  ∪∪

197 :デフォルトの名無しさん:02/03/03 22:23
   ||     ⊂⊃
   ||    ∧ ∧   
   ||    (  ⌒/   
 ∧||∧   ∪ / /ヽ   消えろ
(  ⌒ ヽ 彡   / ノ   
 ∪  ノ      V
  ∪∪
         ∧ ∧,〜  トドメ!
        ( (⌒ ̄ `ヽ    _
          \  \ `ー'"´, -'⌒ヽ
         /∠_,ノ    _/_
         /( ノ ヽ、_/´  \
       、( 'ノ(     く     `ヽ、
      /`   \____>\___ノ
     /       /__〉     `、__>
   /        ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  /

198 :デフォルトの名無しさん:02/03/03 22:28
クソスレニハクソレスガオニアイダヨ

199 :デフォルトの名無しさん:02/03/03 22:37
      ∧_∧
      ( ´∀`)
   γ⌒" ̄ `Y" ̄`⌒ヽ
  /´  、   ¥   ノ  `ヽ.
 / ,-ュ人` -‐´;`ー イ` ェ-、 ヽ
 l 「  } i 彡 i ミ/ {  `ノ
 ` `ー' .}    {  `ー'´/ ̄ ̄\
     /      \||  |  Ruby! |
    /   /`ヽ、 i |i  \  _/
   /  ノ    l| | i|   //
   \  `ヽ    |    ||  /
     \ \  l|| l|i | ,, '⌒Y
      ノ  _>‘、|l  |・i/ノ , ノ >>1
     <.,,_/~,-・i |゚;・li。i,・'(__,.J


200 :デフォルトの名無しさん:02/03/03 22:38

                        ∧_∧  / ̄ ̄ ̄
                      ∧( ^∀^)< 200ズザー
                    ∧(  ( つ ⊂ )  \___
                  ∧( ( つ.)  ) )
                ∧( ( つ  (__)_)
              ∧( ( つ (__)_)
            ∧( ( つ (__)_)
          ∧( ( つ (__)_)
        ∧( ( つ (__)_)
      ∧( ( つ (__)_)
    ∧( ( つ (__)_)
  ∧( ( つ (__)_)
 ( ( つ (__)_)
 ( つ (__)_)
 | (__)_)
 (__)_)



201 :デフォルトの名無しさん:02/03/03 22:38
ソシテクソゲンゴニハクソスレガオニアイ

202 :141:02/03/03 23:14
>180
すまん、言い方が悪かった。
何が言いたいのかというと、HSPは言語仕様などに問題が多い厨房ツールかもしれんが
ターゲットとなるユーザーを定めて、結果として成功してるだろ、ということ。
Rubyを流行らせる気があるのなら、そういった戦略をもっと考えるべきだよ
ずっとマイナー言語のままでいてもいいのなら何も言わないが。



203 :デフォルトの名無しさん:02/03/03 23:19
色々あったけど、結局Rubyで書かれたエディタが存在しないのはなぜなんだ?おまえら、答えてください。

204 :デフォルトの名無しさん:02/03/03 23:23
Perlで書かれたエディタってあるの?

205 :デフォルトの名無しさん:02/03/03 23:23
>>184
オレも逝ってくるよ
いま発表スライド書いてる最中(w

206 :デフォルトの名無しさん:02/03/03 23:26
>>204
あるよ。わけのわかんないのがうじゃうじゃ。オライリーから本が出ているのにエディタが書けない言語って、RubyとSQLくらいじゃない?

207 :デフォルトの名無しさん:02/03/03 23:32
>>206
ほほー。
てか書けないの?Rubyでエディタは作れないの?


208 :デフォルトの名無しさん:02/03/03 23:42
>>206
結局 Ruby を攻撃している人って、Rubyのことをろくに調べもせずに
攻撃しているんだよね。

まあ、Ruby厨の振る舞いを見ていれば腹を立てる気持ちは
わからんではないけど、それじゃ荒しに反応しているのと一緒。
Ruby厨なんてアホなんだからほっとけばいいんだよ。
同じレベルに落ちて反論しているなんて見てて情けないよ。

Ruby で書かれたエディタなら昔からある。このスレの上のほうを見ろ。


209 :デフォルトの名無しさん:02/03/03 23:44
>>202
せっかく Ron Jeffries も Ruby に興味もってくれていることだから、
XP と連携したプロトタイピング言語というのはどうかな。
UnitTest だけでなく、リファクタリングツールも開発して。
ってプロトタイプでリファクタリングしてどうする…
それと、Perl の後追いではあるが、
Web アプリケーション方面で実績ができれば道が開けると思う。
WALRUS に期待してる。
dRuby も手軽で面白いから使い道を見つければ。

>>203
いや、あるけどさ。実用性はともかくとして。
つうかエディタが作れると何がどうなんだっけ?
UNIX だと Emacs と vi という二大エディタがあるから、
「Ruby で作る」 という以外にモチベーションがない。

mine (Ruby/Tk)
ftp://ftp.ruby-lang.org/pub/ruby/contrib/mine-0.0.4.tar.gz
VRedit ( Ruby/Gtk )
http://priest.team-ct.org/~dellin/ruby/#vRedit
Apeed ( apollo )
http://member.nifty.ne.jp/take_tk/apollo/index.htm
RuEdit ( Ruby/Gtk )
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/22766

210 :デフォルトの名無しさん:02/03/03 23:47
>>208
なんだ、あるんならあると早く言ってくれよお。けど、このスレの上を読めって、そんな殺生な。どこですかいな?

211 :デフォルトの名無しさん:02/03/04 00:01
>>209
志が低いのお。Emacsってエディタの最終完成型なの?エディタってものがこの後進化する余地ってないの?EmacsがLISPでそうしているみたいに、Rubyでエディタを書いて、Rubyで拡張できる、そうすればもっとすごいものができる、とか考えないの?

212 :デフォルトの名無しさん:02/03/04 00:09
>211
Rubyは関係ないけど、そういうマクロで拡張できるエディタっていう
コンセプトはEmacsが最終形というか、もうすでにやりすぎてるって感じ。

213 :sage:02/03/04 00:11
>>206, >>210
Rubyで書かれたエディタとしては >>209 が挙げたのが有名で、
その他のRubyで書かれたエディタは知らない。
>>118 にエディタ用の拡張ライブラリとして
2つほど上がっているが、アレはエディタではない。

>>209
Walrusはobaqライブラリだけ取りだして、Webrickと組み合わせると面白そう。
上手くやればZopeまがいを作れるかも。
ただ、日本語のドキュメントすら不足している現状では
Walrus/obaqは広まりそうにはないな。
最近、開発が止まっているみたいだが、IOWAはどう?

エディタに関しては激しく同意。


214 :デフォルトの名無しさん:02/03/04 00:38
>>212
ああ、夢がないのね。どうして今すでにあるエディタとか、マクロというレベルでしか発想できないのかね?Emacsなんて4半世紀も前に設計されたものだぜ。どうせ考えるなら、これから25年後のエディタを考えたら?
あと、自分で自分を拡張し、その拡張された自分自身でさらにもっと拡張するって手法自体はソフトウェア開発において、今後も長く続く手法だと思うけどね。

215 :デフォルトの名無しさん:02/03/04 00:55
>>213
あの、Rubyを攻撃するつもりはないんですが、ZopeとWalrusを一緒にするのは止めていただきたい。現状はEmacsとメモ張を比較するようなもんなので。

216 :デフォルトの名無しさん:02/03/04 01:09
んん・・・
オレも煽り無しで言いたいのだけど
Rubyが優れていても業務に使えない言語を学ぶのは躊躇してしまう。
Delphiもそうなんだけど。

RubyもDelphiもそのユーザーが擁護する気持ちは分かるけど
それがスキルとして認められるのか? と言えば疑問だし。


217 :デフォルトの名無しさん:02/03/04 01:09
>>215
Zopeは詳しくないが、WalrusとZopeではレベルが違うのは分かっているつもり。
そういう意味をこめて「まがい」を付けた。

218 :デフォルトの名無しさん:02/03/04 01:13
>>216
つーことは VB、C++、Java、C# しか学ばないと?

219 :デフォルトの名無しさん:02/03/04 01:18
>>215
あの、Zopeを攻撃するつもりはないんですが、

17 名前:名無しさん@お腹いっぱい。 投稿日:2001/11/14(水) 23:34 ID:???
Zopeか。
ちょっと使ってみた感想としては技術ヲタ向け玩具の最高峰という印象。
基本的に遅い、原因不明落ち、妙な独自仕様で汎用性無しと、業務系で使うにはちょっとためらう要素が満載。
技術的には結構面白い構造してたりするので趣味の範囲内でいじってみようかなとか思っているが。

だって。まあWalrusは開発始まったばかりなのでZopeにも追いついていないんだ
ろうとは思いますが。

220 :デフォルトの名無しさん:02/03/04 01:34
>>216
正直, Ruby は簡単に使える(それはすばらしいことなんだけど)ので、
使えてもスキルつーほどのものにならない。差別化しにくいから。
ある意味で VB と一緒。
道具としては便利だし、言語マニア的フィーチャーに溢れているから
試してみるくらいしてもよいと思う。簡単だし。


221 :デフォルトの名無しさん:02/03/04 01:36
>>219
あの、Walrusを攻撃するつもりはないんですが、

「開発始まったばかりなのでZopeにも追いついていないんだ」というのは「身のほどを知れ、誰にモノ言ってんだゴルァ!」という気がします。伊達に「技術ヲタ向け玩具の最高峰」を名乗っているのではありません。

222 :デフォルトの名無しさん:02/03/04 02:05
ZopeヲタとRuby厨って似ているなあ。

223 :デフォルトの名無しさん:02/03/04 02:08
>211
そういう君はEmacsを超えるものを作ったのか?
言いがかりにしか聞こえんが。

224 :デフォルトの名無しさん:02/03/04 02:20
そんなに褒めるなよ。照れるぜ。>>222

225 :デフォルトの名無しさん:02/03/04 02:30
>>223
そうゆう君はEmacsを越えるものを発想するぐらいのことはできんのかね?
頭が悪いようにしか見えんが。


226 :デフォルトの名無しさん:02/03/04 03:17
ちょっと言い方が意地悪いと思うけどね。>>225
既存のものの後追いだけじゃメジャーになれんというのは、その通りだと思う。

227 :デフォルトの名無しさん:02/03/04 10:19
>>226
既存のものの後追いだけじゃ駄目ってのは、たしかにそうだと思う。論点が
ちょっとずれている気がしないでもないが。
でも Ruby を攻撃している人って、自分は何もできないくせに口ばっかり
のやつが大半じゃないか?。あと Ruby のことをろくに知りもしないやつとかね。
やってることは Ruby厨と同じくらいたちが悪い。ようするに Ruby攻撃厨だな。
Ruby厨はレベルが低くてつっこみどころが多いのはたしかだが、のせられている
やつもみっともないと思うよ。それとも確信犯なのかね。

228 :デフォルトの名無しさん:02/03/04 14:13
>>227
だからあ、きみみたいのをRuby厨て言うんだからあ、自覚してよ。


229 :デフォルトの名無しさん:02/03/04 14:31
なんでRuby関連のスレって荒れてるんだ?(数が多いからってのはわかる)

俺はRubyが日本人が作ったスクリプト言語でオブジェクト指向って程度しか
知らないんだけど、なにが理由で叩かれてるの? 雑誌だとマンセー記事
ばかりだしわけわかんねぇよ。

正直、「Ruby厨うざい」とか「Ruby糞」だけだとなにが悪いのかさっぱりな上に
むしろそう言っている奴の方がよほど厨房に見えるのだが。Ruby使いが増えると
なにか困るのか? アホ言語だったらメジャーになられると迷惑ってのは理解
できるから、アンチのひとはどのへんが嫌いなのか真面目に教えてくれ。

門外漢として思い付くのは、

1.言語仕様が不細工
2.実行速度が遅い
3.ライブラリが未整備
4.日本人以外使わない
5.作者の人格が嫌い

てなところだがどうよ。


230 :デフォルトの名無しさん:02/03/04 14:39
自分はRuby愛用者なので、公平な意見ではないかもしれないが。
(ちなみに、仕事で使ってる(た)のは、C,C++,Java。趣味ではPerl)

1.言語仕様は好き嫌いは別にしてすっきりしてると思う。
2.遅い。これは事実。
3.まぁ、少ないかもしれない。が、荒れる理由にはならない。
4.絶対数では、外人(英語圏)のほうが全然上だと思われる。MLの
流量も4,5倍有る。
5.愛想のある人ではないが、そもそもRuby使ってなければ、松本
氏の発言なんて見かけないだろう。

たんに、マイナーなイメージの割に使用者が多いので、ネタになりす

だけだと思うが。

231 :デフォルトの名無しさん:02/03/04 14:47
全部いいがかりじゃないか。。>>>229

232 :デフォルトの名無しさん:02/03/04 15:06
>>228
客観的に見ても >>227 より >>228 のほうがずっと厨に見えるな。
Ruby厨にしろ、Ruby攻撃厨にしろ、ウザい連中につかまっちゃって
気の毒に思う俺は主に perl 使い。

233 :デフォルトの名無しさん:02/03/04 15:12
>>227
板の書き込みを良く見てると
上がっているスレに満遍なく煽りレスを
入れてる人がいたりするのが分かるよ。

叩くのに理由はいらない。
何にでも当てはまるような言い方をすれば良いだけ。
それと Ruby の場合叩き方のテンプレも豊富だったり。

234 :デフォルトの名無しさん:02/03/04 15:26
>>229
「って程度しか/知らないんだけど」って言ってるヤシが
「思い付くのは、」などと煽るから荒れるんだろが (゚Д゚)ゴルァ

(;´д`).。oO(ム板なのにプの字にトライすらしないやつらだろ?)

235 :229:02/03/04 16:38
ああ、すまん。
「煽り文句として思い付くのは」という意味だ。

結論としては、煽っている奴は単なる好き嫌いを吠えてるだけということでよろしいか。


236 :デフォルトの名無しさん:02/03/04 22:18
これまであまり言及されなかった事なんだけれど、
OOを前面に打ち出した事で低知識階級の反感を
買ってしまった。というの実際のところだろう。

237 :デフォルトの名無しさん:02/03/05 15:08
ちょっと目を離すとすぐこれだ>>236

00くらい知ってるぜ。00000000だろ。

238 :デフォルトの名無しさん:02/03/05 20:59
>>236
「低知識階級」はかわいそうだろ。

239 :デフォルトの名無しさん:02/03/05 21:27
OOくらい分かるだろう。。。
だれでも。

240 :00:02/03/06 00:41
真のオブジェクト指向。

これといって何が作れるってわけでもない。

けど、真のオブジェクト指向。

それが何の役に立つのかわからない。

でも、真のオブジェクト指向。


241 :デフォルトの名無しさん:02/03/06 04:18
alias の引数に制御構造を使えないのが辛い
(defalias 'hoge
(if CONDITION
'fuga
'moge))
みたいなのが出来ないのは面倒スギ


242 :デフォルトの名無しさん:02/03/06 04:30
alias はシンボルに別名を与えるだけだかんね。
マクロ的なことができると可読性が落ちるというのもあるかな。
今でも eval 系を駆使すれば(ある程度マクロ代わりになる)、
いともたやすく他人が読む気をなくすコードにできるけども。

243 :デフォルトの名無しさん:02/03/06 04:31
意味不明瞭だな。

s/落ちるというのもあるかな/落ちる/

244 :デフォルトの名無しさん:02/03/06 05:04
>>241

class Hoge
def hoge
p 123
end
def fuga
p 456
end
alias :foo :hoge
alias_method :baz, (:fuga if $DEBUG) || :hoge
end

h = Hoge.new
h.foo
h.hoge
h.baz

Module#alias_method ならメソッドなので、
こういうこともできるけど、ちょっと違うかな?
自分ではこんなのを使おうとは思わないが。

245 :241:02/03/06 05:54
>>244
あぁ、だいたいそんな感じです。ありがとう。
ただ、今いじってるのは小さなスクリプトなので
クラスとか設けてないんだけど、クラスを指定してないと
alias_method は使えないみたい...。使いにくいなぁ。

>自分ではこんなのを使おうとは思わないが。
うーん、こーいう考えって Ruby には向いてないのか...
へこむなぁ。


246 :デフォルトの名無しさん:02/03/06 07:55
Rubyってただ日本人が作ったから愛国心で
みんな(・∀・)イイ!て言ってるだけだろ?

247 : :02/03/06 07:58

    おはよう 

248 :デフォルトの名無しさん:02/03/06 08:24
本屋で256倍シリーズのずらっと並んだ背表紙を見るたび
ユーザに恵まれてないんだなあと思うよ

249 :デフォルトの名無しさん:02/03/06 08:56
>246
そうなんだよね
こまったもんだ。

250 :デフォルトの名無しさん:02/03/06 08:58
「低知識階級」の嫉妬はみっともないねぇ
OO理解できなくても生きていくことはできるから気にするな

251 :デフォルトの名無しさん:02/03/06 16:04
ruby がすごいっていう人は
ruby に移植してみて
おれにはどんなことをしてるのかさっぱりわからん
有名だけどね
#!/usr/bin/perl -w
# 531-byte qrpff-fast, Keith Winstein and Marc Horowitz <sipb-iap-dvd@mit.edu>
# MPEG 2 PS VOB file on stdin -> descrambled output on stdout
# arguments: title key bytes in least to most-significant order
$_='while(read+STDIN,$_,2048){$a=29;$b=73;$c=142;$t=255;@t=map{$_%16or$t^=$c^=(
$m=(11,10,116,100,11,122,20,100)[$_/16%8])&110;$t^=(72,@z=(64,72,$a^=12*($_%16
-2?0:$m&17)),$b^=$_%64?12:0,@z)[$_%8]}(16..271);if((@a=unx"C*",$_)[20]&48){$h
=5;$_=unxb24,join"",@b=map{xB8,unxb8,chr($_^$a[--$h+84])}@ARGV;s/...$/1$&/;$
d=unxV,xb25,$_;$e=256|(ord$b[4])<<9|ord$b[3];$d=$d>>8^($f=$t&($d>>12^$d>>4^
$d^$d/8))<<17,$e=$e>>8^($t&($g=($q=$e>>14&7^$e)^$q*8^$q<<6))<<9,$_=$t[$_]^
(($h>>=8)+=$f+(~$g&$t))for@a[128..$#a]}print+x"C*",@a}';s/x/pack+/g;eval



252 :デフォルトの名無しさん:02/03/06 16:09
>246,249
何でLinuxが発展したか知ってるのか?
Linuxの開発者にはなぜヨーロッパ人が多いのか知ってるのか?

ヨーロッパ人のアメリカに対する反発心からなんだよ
アメリカに迎合しすぎる日本人にはホントあきれるよ
もっと日本人としてのアイデンティティを持てよ、おまえら。


253 :ななしさん:02/03/06 16:19
>>253
またドキュソなことを。るび厨ばかにされるだけだよ。
Linuxの代替はそのころなかったじゃないか。

それにLinusやGuidoは今アメリカの会社ではたらいてるんだけど反発心で
技術のない人はどう反応したらいいのかね?

254 :デフォルトの名無しさん:02/03/06 16:57
252も変だが253も何がいいたいのか良くわからん。
本質と関係ないところでくだらん議論はやめよう。

Ruby は日本以外でも使っている人は多い。正確な数は測りようもないが、
MLの流量などを見ていると日本以外で使っている人のほうが多いんじゃないか?

雑誌なんかでとりあげられるときに日本発の言語ということが(めずらしいので)
クローズアップされやすい傾向はあると思う。

まあ日本人としては、作者に直接日本語で質問したりリクエストしたりしやすいって
のはメリットのひとつかもしれない。ドキュメントの質や量は、もはや日本語より
英語のもののほうが上だろう。

255 :252:02/03/06 17:23
プログラマという人種は良くも悪くも合理的なのかな?
愛国心という不合理な心理を持ち込むのがいやなのか?
それとも単にアメリカ迎合主義?

256 :デフォルトの名無しさん:02/03/06 17:29
多くの人に使ってもらったほうがフィードバックが多い。
それだけだろ。

257 :デフォルトの名無しさん:02/03/06 17:53
日本生まれだから人気ってことは無いでしょう。

外国でもぼちぼち使われているのでは?
http://www.pragmaticprogrammer.com/ とか


258 :デフォルトの名無しさん:02/03/06 18:00
>>257
まぁ、使いたい人が使うわけ。だよね。
http://www-6.ibm.com/jp/developerworks/linux/011102/j_l-ruby1.html

259 :デフォルトの名無しさん:02/03/06 18:53
>>252
一般日本人に愛国心が希薄なのは偏った戦後教育の結果。
ほとんどの国では自国への愛国心が育つような教育をするのが常識。
中国・韓国などは国家戦略として日本人の愛国心を失わせるような対日本外交を行っている。
板違いだな。
SAPIO読め(藁


260 :Ruby!:02/03/06 22:29
>259
つまりこの板のアンチ厨どもはスパイだったということですね(w
まあ気づかないうちにスパイになるということは割とありそう。
真相がわかったところで、
Rubyマンセーーーーーーーーーーーーーーーーー!!!!!!!!
Ruby>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>Perl
Ruby以外の言語は糞言語です。
はぁ。すっきり。

261 :デフォルトの名無しさん:02/03/07 09:23
Rubyには260みたいのがたくさんいて、みんなシアワセだね。

262 :デフォルトの名無しさん:02/03/07 10:23
>>261
260みたいなのがいて、むっちゃ迷惑しています。察してください。

というか 260 は低知識階級のジサクジエンだろ。おもしろくもなんともない。
荒しはくるな。

263 :デフォルトの名無しさん:02/03/07 12:38
>>262 (´-`).。oO(ハゲドー)
てか、職場でセッセコセッセコと、ツールを Ruby で書いているんだが、
同僚にスクリプトを使って貰えなさそうであるということに気づいた漏れ漏れ。

蓋し、萬國のPG労働者は Ruby くらい使えるようになれよ、と。

264 :デフォルトの名無しさん:02/03/07 14:53
いま就職活動中なんだけど、
セミナーの社員に質問するコーナーで使ってる言語を聞くと
Perl や Ruby でツールを作って…という話を結構聞くよ。

265 :デフォルトの名無しさん:02/03/07 21:07
ヽ(;´д`)ノ
Windows 98 SE.

Ruby 使って、 hoge.lzh みたいな書庫に
foo.doc みたいなファイルを
yyyymmdd_hhmmss_foo.doc みたいな名前でガシガシと
突っ込んでみたかったんですが…

書庫に突っ込むファイルの名前を任意にしたいっつー時点で
「テンポラリなファイルを作んなきゃいけねーのかyp!」
「DOS窓の copy とか xcopy とか使わなきゃ、なのかモナー」
「ファイル作ってから lha32.exe を動かすっつー同期は、どうよ?」
「たけ(tk)さんの Archives.txt をためしてはみたんだけどさ、
 DLL のほうの仕様が変わっちゃってるみたいで、なんだかなぁ…」
などと、悶絶して死にそうです。

せっかく、 WSH で やろーかなっつー迷いを払拭したところダターので

∧ ∧
(´-`).。oO(だれか救ってくれろ)
 つーことで禿規模。禿規模。


266 :デフォルトの名無しさん:02/03/07 22:09
>>265
圧縮ファイルの形式がlzhでなくて良くて、
cygwinのrubyを使っているなら(zlib.soも必要?)、RAA の
Ruby/zlib + rubyzip が良いんじゃない。

Ruby/zlib http://www.blue.sky.or.jp/atelier/ruby/
rubyzip http://sourceforge.net/projects/rubyzip

試しに書いたサンプル。

require 'zip'
require 'find'

files = []
Find.find(ARGV[0]) do |filename|
if FileTest::readable?(filename) and FileTest::file?(filename) and /.*\.rb$/ =~ filename
files.push(filename)
end
end

Zip::ZipOutputStream.open("exampleout.zip") do |zos|
files.each do |name|
zos.putNextEntry(name)
File.open(name){|f| zos.puts(f.read) }
end
end

上のスクリプトで作ったzipファイルは
cygwinのunzip/Lhut32で解凍できたよ。

267 :266:02/03/07 22:24
>>266
zlib.soはlibz.aの間違い。
すまん。逝ってくる。

268 :265:02/03/08 10:38
>>266-267
(´д`)ノ  激しくありがとうございます。
追って経過・結果をお知らせします。


269 :デフォルトの名無しさん:02/03/11 00:00
Rubyスクリプトでsetuidなことをしたいのですがどうすれば良いでしょうか。
suidperl に相当するものってない?

270 :デフォルトの名無しさん:02/03/12 12:39
>>269
今はない。
swap_uidの名前問題が解決したら出来るようになると思う。

271 :269:02/03/12 17:11
>>270
ありがとうございます。
今はできないのですね。やむを得ず C でラッパーを作って
それを setuid することにします。

272 :デフォルトの名無しさん:02/03/12 20:57
Rubyに関しての
初心者用質問スレはどこですか?


273 :デフォルトの名無しさん:02/03/12 20:59
ここ

274 :デフォルトの名無しさん:02/03/12 21:20
def [](key)

これわからないのです。
誰か教えて頂けませんか?

275 :デフォルトの名無しさん:02/03/12 22:05
hoge[1] <- これ

276 :デフォルトの名無しさん:02/03/13 10:11
>>274
Rubyでは、一見そうとは見えないようなものもほとんどメソッドとして実現されています。
例えば配列やハッシュの要素参照である a[key] のような表記も、key を引数に [] という
メソッドを呼び出していると解釈されます。実際試してみればわかりますが、
a[key] と書くところは a.[](key) とも書けます。

ほかにもほとんどの演算子がメソッド呼び出しです。 1 + 2 は、1.+(2) と同じ意味です。


277 :デフォルトの名無しさん:02/03/13 18:26
>>276
ありがとうございます。

yieldの読みと、
yieldの効果的な使い方がいまいちわからないのですが。。

278 :デフォルトの名無しさん:02/03/13 18:55
>>277
> 読みと
http://dictionary.goo.ne.jp/cgi-bin/dict_search.cgi?MT=yield&sw=0
から「イールド」が近めなんではないかと。
> 効果的な使い方
ブロックを取るときに使います。hoge.each、hoge.timesなどはこれを使っています。
("do || ... end"の部分をこれで呼び出すわけです)
Lispのlambdaをかなりヘボくしたようなものです。

279 :デフォルトの名無しさん:02/03/13 18:59
>>278

ヘボくしたのかよ・・・。

俺が Ruby 使いはじめのとき教えてもらったのが
「yield は繰り返せるreturn みたいなもんだ」と言われて、なんとなく
納得した。

Ruby のイテレータは強力やね。

(ぶっちゃけ、もう今後 Ruby を超えるスクリプト言語は出ないんじゃ
ないかと思う。)

280 :デフォルトの名無しさん:02/03/13 20:34
>Ruby のイテレータは強力やね。
なにが?

281 :デフォルトの名無しさん:02/03/13 21:37
>>279
最強の言語なんてものは存在しない。不毛な話はやめとこう。

>>278
Rubyにもlamdaあるじゃん。

282 :デフォルトの名無しさん:02/03/13 21:55
Rubyのメソッドは、普通の引数だけでなくブロックをつけてよぶことができます。
そのようなメソッドのことをイテレータといいますが、この名前はあまり適切では
なく、必ずしも繰り返しとは関係ありません。
それはさておき、引数といっしょにメソッドに渡されたブロック部分を実行する
のが yield 文です。ちょうどメソッドの中から、メソッドを呼び出した側で指定した
処理を実行させるようなイメージなのでコールバックと呼ばれることもあります。
yield に引数をつけて呼び出すと、それがブロックに渡されます。ブロックでの
引数は | | で囲んで受けます。

283 :278:02/03/14 09:48
>>281
……。逃げます。
(Lispのlambda引数とRubyのブロックの自由度の違いは単なる思想の違いだと言えるからね……)

284 :デフォルトの名無しさん:02/03/20 10:42
鬼車ってどうよ?
ていうか、どうやったら使えるの?

285 :デフォルトの名無しさん:02/03/21 22:11
>>284 Rubyistに記事でてますね。つか、鬼車、RubyでGoogleで検索しても一件もヒットしないから
誤爆かと思ったよ。

286 :デフォルトの名無しさん:02/03/21 23:21
Rubyって最近バージョンアップしてないんじゃないですか?
Windowsの環境はそろってるんでしょうか?
しばらく前に使った時はまだ一般に受け入れられるほど
使いやすくはなかったです。基本的にコマンドラインで。


287 :デフォルトの名無しさん:02/03/22 00:08
>基本的にコマンドラインで。
この点はおそらく永遠に変わらないので、君は一生使わなくて良いよ。

288 :デフォルトの名無しさん:02/03/22 00:14
>286
最近 Ruby 1.6.7 が出てるね。Windows版が出ているかどうかは知らんけど。

289 :デフォルトの名無しさん:02/03/22 03:58
>>133
にWindows用のinstallerへのリンクがある。
最新の奴にはFOXとTkの拡張ライブラリが付いてたはず。

ところで、WindowsってやっぱりGUI無しでは駄目なのか?


290 :デフォルトの名無しさん:02/03/22 10:40
>289
Visual Studioに組み込んでプロジェクト管理&デバッグ
できないと使う気がおきましぇ〜ん

291 :265:02/03/22 12:59
>>290
管理は WinCVS で足りる

292 :289:02/03/22 15:20
291に同意。
おれはWinCVSの使い方が分からなくて、
cygwinのcvsを使っているが(w

後はDebuggerだな。deubg.rbのGUIラッパーでもあれば
良いんだが、今の所 Emacs/Meadow と RDE
くらいしか知らないな。


293 :291:02/03/22 17:36
(´-`).。oO( 291(ニクイ)ゲトー ズサー )

>>292
デバッグについては、ですね、
print を多量に埋め込む…
               …諸刃の剣。
(;´д`).。oO( そか、debug.rb ですか。漏れも遠慮なく逝って来ます )

あと、標準出力に出てくる エラーメッセージは 、
リダイレクトしてファイルに保存。
 (´-`;).。oO( なんで標準出力なんだろう? )

294 :デフォルトの名無しさん:02/03/22 20:45
エラーメッセージは標準出力じゃなくて、標準エラー出力でしょ。
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/14601

295 :292:02/03/22 23:04
>>292
deubg.rbってなんだよ、おれ。

>>293
printよりはpかppを良く使う。
最近はppの方が多い。

296 :デフォルトの名無しさん:02/03/23 13:21
ppは標準でついていないのが痛い。
何にしろインタプリタ型言語だと、print相当の命令を埋め込んで
デバッグすることがほとんどだな。埋め込んで即実行できるからね。
Cではデバッガを使うけど。

297 :デフォルトの名無しさん:02/03/23 15:01
どっかのすげー外人がVS.NETに組み込んでくれないかな。

298 :295:02/03/23 15:48
>>296
CVSのroughにはppがあるから、
1.8くらいでは標準で付くんじゃない?

今のdebug.rbはかなり遅いから、
基本はp,ppでデバッグして、
debug.rbは必要になったときだけ使うようにしている。

299 :デフォルトの名無しさん:02/03/23 16:35
>>284
$wget ftp://ftp.ruby-lang.org/pub/ruby/snapshot.tar.gz
$wget ftp://ftp.ruby-lang.org/pub/ruby/contrib/onigd20020313.tar.gz
$tar fvzx snapshot.tar.gz
$cd ruby
$tar fvzx ../onigd20020313.tar.gz
$cd oniguruma; ./configure; make 172; cd ..
$autoconf; ./configure; make

300 :デフォルトの名無しさん:02/03/24 01:33
>>299
ありがとー。なんて親切な人なんだ。試してみるよ。

301 :デフォルトの名無しさん:02/03/24 05:07
プログラミングは、Perlがある程度できるだけ、という人に
Rubyの本を何か一冊薦めるとすればどれ?

302 :デフォルトの名無しさん:02/03/24 06:48
http://www.amazon.co.jp/exec/obidos/ASIN/4894714531/ref=sr_aps_d_1_1/249-2952849-8512349

303 :デフォルトの名無しさん:02/03/24 08:17
そもそもperl知ってればrubyに手を出さないと思われ

304 :デフォルトの名無しさん:02/03/24 12:04
>>302
同じくその本(プログラミングRuby)を薦める。もうちょっと初心者向きだと
オーム社の「Rubyプログラミング入門」かな。
>>303
そんなことはないでしょ。
実際俺は Perl をかなり使い込んでいたが Ruby に乗り換えた。

305 :デフォルトの名無しさん:02/03/24 12:06
>>302
それはProgramming Rubyの日本語訳なのかな?

http://www.rubycentral.com/book/index.html




306 :デフォルトの名無しさん:02/03/24 12:24
>>305
そうです.
英文読んで気に入ったら,本を買うのがよろ紙
#本であると使いやすいしね

307 :デフォルトの名無しさん:02/03/25 00:27
日本で作られた言語なのに、英語による本のほうが良いというのは
いかがなものか?
やはり英語圏の人のほうがユーザが多いってことか。

308 :デフォルトの名無しさん:02/03/25 01:30
英語圏というか、
欧米圏だろ

309 :デフォルトの名無しさん:02/03/25 01:31
Rubyの詳細について知っていて、かつ書籍を書ける人が
日本にいなかったということでは。
文章を書く能力とプログラムを書く能力は
一致しないでしょう。

今では 英語圏ユーザー > 日本のユーザー ですね。
ruby-talk, ruby-list の流量の差からもわかると思います。

310 :デフォルトの名無しさん:02/03/25 04:18
ruby-talk はしょうもない質問や議論も多いけどね。
ruby-list の敷居の高さに乾杯。

311 :デフォルトの名無しさん:02/03/25 04:50
いるとは思うけど、著者がすっかり定着してしまったように感じる。
話題も偏っている?



312 :nanasi:02/03/25 06:10
Ruby使いかけたけど、ライブラリの質が低いからやめちゃったよ。
標準添付のライブラリ使えなさすぎ。
英語圏の人が増えて改善されてるの?

ruby-talkの流量が多いのはusenetと連動してるからだよね。

313 :デフォルトの名無しさん:02/03/25 08:15
rubyのオブジェクトって参照カウンタ使ってるの?

314 :デフォルトの名無しさん:02/03/25 10:09
>>307
(´−`).。oO( >>303 のような人が日本に多いから )

315 :デフォルトの名無しさん:02/03/25 10:24
def f(i, j)
 i + j
end

f(1
,2)

が通らないのって仕様?

316 :デフォルトの名無しさん:02/03/25 12:18
>>315
何をしたいのかサパーリ… 

317 :デフォルトの名無しさん:02/03/25 13:06
改行すんなよ

318 :デフォルトの名無しさん:02/03/25 18:05
>>315
Ruby は C やPerlと違って、改行は空白と同等ではありません。
改行は、式や文がまだ続くと明白にわかる場合以外、式や文の終わりを意味します。
この仕様には賛否両論があるでしょうが、Rubyの仕様のほうが ;(セミコロン)などの
文末を示す記号が必要ないので、個人的には好きです。; を省略できるのはとっても楽。

その代償として、式の途中で改行する場合は、parserが理解できる範囲で、まだ式の
途中であることが明白である必要があります。315の例では、

f(1,
2)

とすれば通ります。

315でも括弧が閉じてないから文の途中であることは明らかじゃないかと思うかも
しれませんが、LALR(1)の範囲内ではたぶんそう判断するのは無理なんだろうと
思います。

319 :デフォルトの名無しさん:02/03/25 18:11
VBみたいな仕様だね

320 :デフォルトの名無しさん:02/03/25 18:15
printfみたいな関数は
printf(
"hoge%d%s%f"
,param1
,param2
,param3
)
と書いたほうがコピペしやすいと思うんだけど、どうよ
好きと言い張るのは勝手だけど。

321 :デフォルトの名無しさん:02/03/25 18:34
>>320
printf(
"hoge%d%s%f",
param1,
param2,
param3
)
これとそんなに違わない気がするけどどう?これなら Ruby でも通るんだけど。

322 :デフォルトの名無しさん:02/03/25 18:57
>>321
いや、param1/2/3が同じ風に書けることを言いたいんだと思ふ。
引数増やしても全部「,引数」という形式だからコピペやすいとか。

323 :デフォルトの名無しさん:02/03/25 19:16
>322
なるほど。そうだとしたら確かにそうですね。
しかし、カンマの前に改行を入れるスタイルって、C でもほとんど見たこと無いですが。
それに printf だからいいんですけど、320スタイルでも第一引数は特別扱いしないと
いけないし。


324 :315:02/03/25 19:36
なるほど、ためになりました。

もともとは
f(<<EOS1
hogehoge
EOS1
,
 <<EOS2
foofoofoo
EOS2
)
と、ヒアドキュメントを2個書きたいのでした。

これは結局
f(<<EOS1,<<EOS2)
hogehoge
EOS1
foofoofoo
EOS2
と書けることが分かったのですが、
コンマの書き方で通らなくなるのは何でかなぁと思って。

325 :デフォルトの名無しさん:02/03/26 03:52
312じゃないけど、今の標準ライブラリで不満なところとか、
今後標準添付して欲しいライブラリとかある?

俺は標準ライブラリはあまり使わないので、
今のところ不満はない。

将来はdiff(RAAにpure rubyの実装があったような)と
xmlパーサーは標準で付いて欲しい。
あと、RDtool、RDoc、RubyUnit、pp も。


326 :デフォルトの名無しさん:02/03/26 11:45
>>313
ruby の GC は参照カウンタではなく、mark-and-sweep 方式を使っています。
Java などと同じ方式です。

327 :デフォルトの名無しさん:02/03/26 19:46
>俺は標準ライブラリはあまり使わないので、
それって標準と同機能の代替ライブラリ使ってるって事?
それとも標準の機能そのものが不要って事?
前者なら思いっきり不満って事では...

328 :325:02/03/26 20:52
>>327
後者。
俺はRubyをテキスト処理に使うことが多いから、
組み込みクラスのArray,Hash,String,Regexpくらいが
あれば、大体事足りる。

329 :デフォルトの名無しさん:02/03/27 00:35
よく使うのは nkf と getoptlong くらいか。
後は組み込みクラスで大体足りるんだよね。

330 :java!java!java!:02/03/27 15:45
なんか宣言が無いのが素晴らしいそうですが
宣言ってなんであったら駄目なんですか?


331 :デフォルトの名無しさん:02/03/27 15:46
>>330
意見が分かれる

332 :デフォルトの名無しさん:02/03/27 19:59
>>330
(´−`).。oO( 自称「VB使い」に対する敷居を低くするため )

333 :デフォルトの名無しさん:02/03/28 00:24
宣言は面倒だからお手軽系言語では無いにこしたことはないとは思う。
Rubyにはもともと変数に型は無いので型宣言は不要だし、
$ や @ をつけることでスコープを決められるので基本的には
宣言はいらない。
しかし、宣言を排除することに固執するあまり(?)、ブロックの部分での
ローカル変数のスコープ規則が複雑になっているように思う。かといって
あまり良い代案は思い浮かばないのだが。

334 :312:02/03/28 05:21
>>321
CGI関係。結局必要なものを全部書き直した。
あとストリームがほしいよ!


335 :.:02/03/28 10:55
>>334
ruby標準添付の cgi.rb は、よく言われていることだができが悪いね。
あんなものを添付するなって感じだが。

336 :デフォルトの名無しさん:02/03/28 16:18
Rubyには興味あるけど、ここの板の信者が馬鹿過ぎて使う気に
ならないんだよな。こんなところで馬鹿やってるくらいなら、
アプリケーションの一つでも書いた方がよっぽどRubyの為に
なるとおもうんだけど。

337 :デフォルトの名無しさん:02/03/28 16:25
>>325
rubyunit, pp, rdoc と、RDtool に必要な全ライブラリは
1.8 で入る。RDtool 自体も入るかも。XML パーサはどれを
つけるか dev で議論中。いまのとこ REXML になりそうな
気配が濃厚。そのほか stringio とか iconv とかいろいろ
入るよ (入ったよ)。


338 :.:02/03/28 16:38
>>336
ネタにマジレスかもしれんが。

ここで馬鹿やってる奴らは信者じゃない。
むしろ逆で Ruby の評判を落とそうとしているだけ。
336 みたいなこといったら奴らのおもうつぼだろ。
つうかそんなことも見抜けないなら 2ch なんかにこないほうがいい。

339 :デフォルトの名無しさん:02/03/28 16:43
むしろ首釣って死ね。

340 :デフォルトの名無しさん:02/03/28 16:47
>>338
ああ、誉め殺しか。なるほど、済まなかった。
2ch歴はもう2年近くになるけど、関心がそれ程
ないものには騙されてしまうんだな(w
というかアホスレ立てるやつってなんなんだ?
Perl信者?ま、どうでもいいか。とにかく
アンチがこんなに沢山いるとは思わなかったよ。

341 :デフォルトの名無しさん:02/03/28 16:47
>むしろ逆で Ruby の評判を落とそうとしているだけ。
そこまでの考えも無く、単に叩かれているから叩いてるだけだろう。
特に、Ruby は最近有名になったから、
出る杭は叩くの精神が働いている。
まあ、隙が多いのは確かやね。

342 :デフォルトの名無しさん:02/03/28 16:49
また糞スレが立ったよ...いい加減にしてほしいな。

343 :336=338:02/03/28 16:50
おれのお気に入りのスレ、一つ貼らせてもらうよ(w
http://choco.2ch.net/test/read.cgi/kao/1014442536/

344 :325:02/03/28 18:49
>>337
CVSwebをみると、たしかにppとかはrough以下に入っているな。
RDocはどこにあるのか分からなかった。

RDocに必要なライブラリってもしかして、IRBのslex.rbのこと?

345 :デフォルトの名無しさん:02/03/28 18:59
>>340
> アンチがこんなに沢山いるとは思わなかったよ。

沢山?馬鹿なことやってる奴はごく少数でしょ。一人でもこれくらいのことはできる。
まあアフォにとり憑かれたと思ってあきらめるしかないね。

346 :デフォルトの名無しさん:02/03/28 19:34
アフォの正体予想
1.熱狂的Perl信者
2.最近めっきり少なくなったCGI屋
3.言語研究をしていたポス毒

347 :デフォルトの名無しさん:02/03/28 21:49
RD, RDoc, RDTool の関係を誰か教えてください。

348 :デフォルトの名無しさん:02/03/28 22:12
RDはRubyのスクリプトのソースで

=begin

=end

の2つで囲まれた部分。Rubyはこれをコメントとして扱う。

RDtoolはRDに書かれた文章を
特定の形式に整形するスクリプト
(今は=begin,=endがなくても大丈夫かも)。
形式としてはHTMLが多いけど、他にも
いくつか合ったはず。

RDocはスクリプトのモジュール・クラス・メソッドなどの上に
書かれたコメントを元にドキュメントを生成するプログラム。

こんな感じにスクリプトを書いておくと、コメントといっしょに
メソッドの引数とか、クラスの親クラスやincludeしているモジュールとかを
ドキュメントに記述してくれる。

# Hoge クラスの説明
#
class Hoge < Fuga

include Foo

# Hoge#fooの説明
#
def foo(bar)
end

end

クラスの継承関係を画像にしたり、XMLを吐いたりすることもできる。


349 :デフォルトの名無しさん:02/03/28 22:15
>>348
ということは RD と RDoc は直接関係無いんですね。ありがとうございました。


350 :デフォルトの名無しさん:02/03/28 23:27
Ruby厨
Rubyにとり憑いて、わざと Ruby の評判を落とす言動を繰り返す。
プログラミングに関するスキルはほぼ無いに等しく Ruby も使ったことはない。
わけもなく他の言語を中傷する。
実際の Ruby ユーザからも、他の言語のユーザからもひどく嫌われている。
特技は糞スレを立てる、糞スレをあげる、多言語のスレを荒らす。


351 :デフォルトの名無しさん:02/03/29 00:36
350はコピペ厨

352 :デフォルトの名無しさん:02/03/29 11:44
ソースの中にコメントとしてドキュメントをごちゃごちゃ入れるのは、
読みにくいし書きにくいと思う。

353 :デフォルトの名無しさん:02/03/29 13:31
>>352
けど、別々に管理してるとそのうちにドキュメントとソースの同期とるのが面倒くさいよ。

354 :デフォルトの名無しさん:02/03/29 13:34
あ、日本語おかしい。
面倒くさくなるよに修正。

ちゅーか
beginとかendってださいな。
ちょっとちがうが if/fi みたいなのがすき。
  end
 end
end

355 :デフォルトの名無しさん:02/03/29 14:04
case
esac


356 :デフォルトの名無しさん:02/03/29 14:50
foo(;´д`).。oO(bar){
}


357 :デフォルトの名無しさん:02/03/29 15:17
fiはfinalの略だと思ってた

358 :337:02/03/29 16:19
>>344
>>337
[rubyunit], [pp], [rdoc], [rdtool に必要なライブラリ] と
読んでください。rubyunit は test/unit という名前で rough に、
pp は既に 1.7 に入ってます。

rdoc は ruby-talk でまつもとさんが入れることに同意したばかり。
また irb のライブラリも使ってるけど、あれはソースレベルで
コピー・編集して使っているのだと思った。

rdtool に必要なライブラリとは optparse, raccrt, strscan で、
raccrt/strscan はすでに 1.7 に入った。rdtool 自体はまだ話が
出てないけど、遅かれ早かれ入れることになると思う。

ほかに以下のものも入る予定。
・zlib インターフェイス
・Ruby/DL (ruby dynamic linker ... dln インターフェイス)

以下のものは相談中。
・OpenSSL インターフェイス
・nntp

ちなみにライブラリ添付希望はまだ ruby-dev で大募集中です。
dev 入っていないのなら、list で騒いでれば誰かが dev に
提案してくれると思います。


359 :デフォルトの名無しさん:02/03/29 16:20
Pascal の begin-end に比べたら、
Ruby の if-end とかのほうが好き。


360 :344:02/03/29 19:55
>>358

>[rubyunit], [pp], [rdoc], [rdtool に必要なライブラリ] と
>読んでください。rubyunit は test/unit という名前で rough に、
>pp は既に 1.7 に入ってます。
そういう意味ね。しかし、RubyUnitがtest/unitになると、
Test::Unitがどういう扱いになるのか分からなくなる。
結局、標準添付されるのはRubyUnitに決まったの?

おれはTest::Unitが標準添付されるんだと思ってた。
RubyUnitをメインに使っているので、RubyUnitの方が嬉しいけど。

>rdoc は ruby-talk でまつもとさんが入れることに同意したばかり。
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/36826
これね。指摘される前から読んでたんだけど、
ソースにRDoc風のコメントを入れるという話だけだと思ってた。

しかし、自分のプログラムを標準添付するよう推薦するつーのは…。

>また irb のライブラリも使ってるけど、あれはソースレベルで
>コピー・編集して使っているのだと思った。
IRBのライブラリで依存しているのはslex.rbだけだったはず。
RDocは便利なんだけど、Rubyスクリプトのパーサーには
irb、rtagsから引き継いだバグがあったりするのが問題。

>rdtool に必要なライブラリとは optparse, raccrt, strscan で、
>raccrt/strscan はすでに 1.7 に入った。rdtool 自体はまだ話が
>出てないけど、遅かれ早かれ入れることになると思う。
おれはRDtoolが入らないなら、raccrt、strscanを入れて欲しくない。
raccならともかくraccrtなんかいれてもほとんど役に立たないし、
strscanはstringioと役割がかぶっている気がする(もちろん違いはあるけど)。

>ちなみにライブラリ添付希望はまだ ruby-dev で大募集中です。
>dev 入っていないのなら、list で騒いでれば誰かが dev に
>提案してくれると思います。
ruby-listでは提案しづらい。


361 :デフォルトの名無しさん:02/03/29 20:25
>>360
>おれはRDtoolが入らないなら、raccrt、strscanを入れて欲しくない。

同意ですな。一度入れると抜けないしね。

362 :デフォルトの名無しさん:02/03/29 23:51
>>354
if/fi 方式は予約語が増えすぎるから却下。

363 :デフォルトの名無しさん:02/03/30 14:01
一応現在の本スレなので age。
Rubyistを名乗って荒らしているやつって、絶対にこのスレはあげないのな。
しかし馬鹿一人のためにRubyユーザ全体が窮屈な思いをしているのって
なんとかならんもんかなあ。

364 :デフォルトの名無しさん:02/03/30 14:30
>>362
括弧とかインデントなら、予約語増えないよ。

begin とか end って変数名で使いたいと思うんだけど。
python の in もアレだが。

365 :デフォルトの名無しさん:02/03/30 15:52
正直、インデントしないとendがどこに掛かるのかワカラン
だったら括弧でも同じだったと思われ

366 :デフォルトの名無しさん:02/03/30 16:03
>>364
メソッドなら予約語も使えるけど、
分かりにくくなるだけのような気がする。

class Hoge
def begin; 'begin'; end
end

h = Hoge.new
p h.begin



367 :デフォルトの名無しさん:02/03/30 18:37
ttp://www.rubycolor.org/r/

の2002/03/28のREXMLの記事の紹介をどう思います?
pythonのDOMはpythonのxml_objectifyとRubyのREXMLの比較を
しているので、別にずるくないと思うのですが。
DOM以外の実装がひいきされているという事が言いたいんでしょうか?

368 :デフォルトの名無しさん:02/03/30 18:45
>> 363
一人かなぁ。本当は30%ぐらいは厨だったりして(w

369 :デフォルトの名無しさん:02/03/30 23:01
>>368
お前がその1人(ww

370 :デフォルトの名無しさん:02/03/30 23:08
オタキモイ
ttp://www.rubycolor.org/r/rubychan2.jpg

371 :デフォルトの名無しさん:02/03/30 23:14
sage 藁藁

372 :デフォルトの名無しさん:02/03/30 23:14
>>370
ユーザ層と関係してるんだろうか。

373 :デフォルトの名無しさん:02/03/30 23:28
も1つsage 藁藁

374 :デフォルトの名無しさん:02/03/30 23:49
ヲタですが何か?
ttp://www.clio.ne.jp/home/web-i31s/Flotuard/Ruby/rubygirl/ruby_1.1_c.jpg

375 :デフォルトの名無しさん:02/03/31 14:58
荒れ荒れ

376 :デフォルトの名無しさん:02/04/01 01:13
>>374
Rubyは好みではないが、眼鏡っ娘はヨい。

377 :デフォルトの名無しさん:02/04/01 07:25
新刊
http://books.softbank.co.jp/bm_detail.asp?sku=4797314087
たのしいRuby
Rubyではじめる気軽なプログラミング
高橋 征義/後藤 裕蔵 著

378 :デフォルトの名無しさん:02/04/01 07:52
>>376
Ruby は好きだが、眼鏡っ娘は嫌いだ。

379 :nanasi:02/04/01 17:16
>>367
ほのめかすような書き方でRubyを持ち上げてるんでしょうが、それこそ
あまりフェアじゃないと思います。Rubyヲタはきっと勘違いするでしょう。
どっちにしてもHaXMLほどクリアに書けないわけですが。

380 :デフォルトの名無しさん:02/04/01 22:55
>379
HaXMLって何?
もしかしてHaskell?

381 :デフォルトの名無しさん :02/04/01 23:38
>>377
「はじめてのC」は名著とされている。
しかし、わかりやすくても初心者向けとなると疑問。
まだ習っていない書式とかが、何の前触れもなく出て来るからだ。
「たのしいRuby」もその轍を踏んでいるような気がする。
「すぐわかるPerl」とか、情報処理試験向けの参考書みたいな
入門書が出ればいいのにな、と思ってしまいます。

382 :デフォルトの名無しさん:02/04/01 23:46
>381
たのしい Ruby は本屋で立ち読みしただけですが、初出の用語はちゃんと
説明もあると思いましたが。足りているかどうかは別として。
でももうちょっと薄い本でもよかったんじゃないかと思いました。

383 :デフォルトの名無しさん:02/04/01 23:56
mailing listでも話題になっていたけど、Windowsユーザーをうまく取りこめていないのが
大きな問題だと思う。
それとプログラミング初心者にもわかるような入門書の欠如。

本もいろいろ出版されてきていますが、内輪受けのような内容のものを何冊も出版しても
あまり意味無いですしね。

384 :デフォルトの名無しさん:02/04/02 00:32
>>383
Windowsユーザを取り込むつもりがあるのかどうかはよくわからないね。

本については同意。ていうか ASCII が悪いんでしょ。

385 :デフォルトの名無しさん:02/04/02 00:35
>>383
うーん。Windowsユーザーを取りこめていないというのは
少し違うと思う。今はPragProgのWindows Installerがあるし、
Ruby Gardenのプラットフォームに関する投票をみると
Windowsユーザーの数はそれなりにあるように思える。

http://www.rubygarden.org/pollBooth.php?op=results&pollID=11
http://www.rubygarden.org/pollBooth.php?op=results&pollID=12

あと、書籍も重要だけど、それよりはWebから自由に読める
チュートリアル的なものの方が必要だと思う。

386 :デフォルトの名無しさん:02/04/02 00:37
>>379
これ?

HaXml is a collection of utilities for using Haskell and XML together.
ttp://www.cs.york.ac.uk/fp/HaXml/

387 :デフォルトの名無しさん:02/04/02 00:45
>>385
> あと、書籍も重要だけど、それよりはWebから自由に読める
> チュートリアル的なものの方が必要だと思う。

最初はこれを見て覚えました。古いのが欠点か。
http://www.ruby-lang.org/ja/uguide/uguide00.html
チュートリアル
http://www.ruby-lang.org/ja/tutorial/tutorial.html

388 :デフォルトの名無しさん:02/04/02 01:37
デスクトップリファレンス(O'REILLY)はいいよ
コンパクトで安い割に内容が入ってる
リファレンスなんだから当たり前だが

389 :デフォルトの名無しさん:02/04/02 02:17
>>387
あれだけを読んで、全くの初心者が
Rubyを使えるようになるとは思えません。
あの2つはPerlやCである程度のプログラミングの経験がないと、
読むのは難しいです。

390 :デフォルトの名無しさん:02/04/02 03:10
Perl 知らんけど、一度リャマ本読んだほうがいいかなぁと思っている。
# 誤爆じゃないよ。


391 :nanasi:02/04/02 10:43
>>386

そうです。>>367のリンク先にもあるんですが、Davidの連載で取り上げられて
います。Haskelマンセーではないですが、Rubyのメソッドはなかなかエレガントに
書けないですね。

>>390

Rubyからはじめた人がPerlやってどう思うのか興味あります。


392 :デフォルトの名無しさん:02/04/05 00:49
>>391
Perl は覚えなければならないことが多い気がしました。

393 :デフォルトの名無しさん:02/04/06 01:55
特異メソッドってどういう時に嬉しいのでしょう?わかりにくくなりませんか?
クラスメソッドは嬉しいのはわかりますけど。

394 :デフォルトの名無しさん:02/04/08 12:16
>>393
OOの一般論だからスレ違い。

395 :デフォルトの名無しさん:02/04/09 11:00
Pyrex の ruby版が欲しい。すごく欲しい。誰か作ってくれないかな。
というか Pyrex がうまらやしい。

396 :デフォルトの名無しさん:02/04/09 17:00
Pyrexってこれ?
http://www.cosc.canterbury.ac.nz/~greg/python/Pyrex/

気合い入ってるな−。


397 :デフォルトの名無しさん:02/04/09 23:19
>>396
そうそれ。
Rubyでも、Rubyっぽい構文で簡単に書けて、コンパイルして拡張ライブラリに
できてしまうってのがあればすごく便利だと思う。

Python使えってのは勘弁(w

398 :デフォルトの名無しさん:02/04/09 23:51
>>396
Python-ml-jpとPyJUGのページに紹介が出てるね。
Rubyの拡張ライブラリはCで書いても難しくないので、
SWIGがあればそれほど需要はないかもしれない。

でも、RubyでRubyの拡張ライブラリを書けるっていうのは
確かに魅力だね。SqueakはSmalltalkで自分自身を
変更できるみたいだけど、ある意味でそういうものに近いのかな?



399 :デフォルトの名無しさん:02/04/10 05:36
ドキュメントで言えばPHPのページはええね
各国語(っても他の国のは見てないけど)対応だし
一通りのリファレンスあるし

400 :デフォルトの名無しさん:02/04/13 00:22
ruby/google?

401 :デフォルトの名無しさん:02/04/13 02:09
>>400
ruby-talkを見てきました。
GoogleはSOAPで検索ができる(?)ようになっているんですね。


402 :デフォルトの名無しさん:02/04/13 03:43
Ruby/SDLのスレってどこかにあったっけ?

403 :デフォルトの名無しさん:02/04/13 05:38
>>402
SDLスレ
http://game.2ch.net/test/read.cgi/gamedev/1005469181/
にも少し話が出てますよ。


404 :デフォルトの名無しさん:02/04/13 07:53
◆毎年約1万人も韓国人が大量帰化しているというのに、在日の数が
ほとんど減っていない。

        1998年   1999年  2000年
在日韓国人  638,828   636,548  635,269 人

これではいつまでも韓国人の日本人汚染が続き、そのうち日本が
日本国籍の韓国人だらけになってしまう。

一方、不法滞在の韓国人は56000人で外国人で最も多い!

◎外国人帰化数
http://www.kyotsu.com/level2/hobby/data/toukei.htm


405 :402:02/04/13 11:03
>>403
ありがとう、見て来ます。

406 :デフォルトの名無しさん:02/04/13 16:11
>>401
これか。
http://www.caliban.org/ruby/
Google の SOAP Web API 用ライブラリ。

407 :デフォルトの名無しさん:02/04/14 19:34
cygwin環境上でmingw32のgccを使ってビルドするとき、

mingw32を c:\egcs-1.1.2 に展開して、
.bashrcに以下を追加して有効にして、
export PATH=/cygdrive/c/egcs-1.1.2/bin:$PATH
export GCC_EXEC_PREFIX='c:\egcs-1.1.2\lib\gcc-ilb\'

./configure --enable-shared
make
とやると、dir.cで sys/param.h が無いとか言われてしまう。
そもそも c:\egcs-1.1.2 下には param.h は存在しない。

どうやれば mingw32 でビルドできるの??

408 :デフォルトの名無しさん:02/04/14 21:42
touch sys/param.h

409 :407:02/04/14 23:23
やってみたけど dir.c でエラーでまくって
途方に暮れました(´Д`)

410 :デフォルトの名無しさん:02/04/17 00:22
あの〜、rtagsを実行すると、
TAGSファイルができるときと、永久に処理が終わらないときがあるのは、
なぜですの?
rtags用のスクリプトの書き方でもあるの?
教えてください。
ruby 1.6.7 (2002-03-01) [i386-cygwin]を使ってます。

411 :Rubyist:02/04/17 00:33
ぷち ぷちって あり殺すのやめろよなぁ
 かわいそうだろぉぉぉー
 たーいせつな 命だからなぁー

412 :デフォルトの名無しさん:02/04/17 01:19
>>410
rtagsの構文解析は大雑把なので、
時々パースに失敗します。
一番まずいのは

while hoge do

end

みたいにdoをつけることなんですが、
ループに入るのは珍しい気がします。
ループに入るスクリプトのソースはどうなってます?

413 :デフォルトの名無しさん:02/04/17 22:54
>>412
レスありがとうございます。
自分なりにうまくいくファイルとそうでないファイルを比べたところ、
どうやら単純に[EOF]の前にうっかりスペースがあると
うまくいかないことに気がつきました。

end
 [EOF] ←スペースがあるので駄目
お騒がせしました。




414 :デフォルトの名無しさん:02/04/25 23:21
ruby の ML の名前はどうよ。
ruby-list, ruby-talkって名前からは区別しにくくないか?


415 :デフォルトの名無しさん:02/04/25 23:41
英語圏向けの ruby-dev の需要もあるみたいだしね。
名前を変えるなら、ruby-talk を ruby-list-en に改名して
ruby-list-{ja,en} ruby-dev-{ja,en} に一票。

ruby-house-win32 がほしいなあ。
スペシャルトピックに
「dir の実行」 とか
「どのRubyを使えばいいのですか」とか作って。

416 :デフォルトの名無しさん:02/04/26 03:42
>>415
ruby-coreのこと?


417 :デフォルトの名無しさん:02/04/26 12:54
ふつーweblogつったら、Radio UserlandとかBloggerのことじゃん。ruby-weblogって何よ。Rubyでつくる日記システムのメーリングリストか?

418 :デフォルトの名無しさん:02/04/26 17:05
で、こんどの rubyの本はどうよ?


419 :名無しさん@Emacs:02/04/27 18:29
あいうえお

420 :デフォルトの名無しさん:02/04/27 18:30
かきくけこ

421 :デフォルトの名無しさん:02/04/27 19:12
>418
都内で売っている本屋教えて。

422 :デフォルトの名無しさん:02/04/27 21:57
>>421
ある程度大きい本屋ならあるんじゃないか?
少なくとも渋谷の某店には平積みだった。

423 :デフォルトの名無しさん:02/04/27 23:00
>>421
amazon とか cbook24 で買うとか。

424 :デフォルトの名無しさん:02/04/28 17:02
>>418
「Rubyアプリケーションプログラミング」
この本はなかなか良いかも。まだ全部はきちんと読んでないけど。
実用Perlプログラミング、だったっけ?あれに通ずるものがあるといったら
言い過ぎか?

425 :デフォルトの名無しさん:02/04/28 18:32
上下巻にできるくらいのトピックを盛り込んであるので全体的に駆け足ぎみ。
個人的には拡張ライブラリの作り方にそこそこページ数が割かれていたのが良かった。
readme.ext.ja を取っ掛かりにするのは結構大変だからね。

426 :デフォルトの名無しさん:02/04/28 21:55
何しろ ASCII が発行元じゃないのが良い。

427 :デフォルトの名無しさん:02/04/29 12:08
>>424
おれも今までの和書の中では一番良いと思った。
でもどうせならデータベースものも(・∀・)ホシイ!
>>425と同じでWeb,GUIで巻を分けて安くしてくれ。
と、こんなとこでリクエストしてもしゃーないが、Perl,Pythonの洋書と
かと比べて技術書として上を目指したら? オーム社とソフトバンク頑張れ!
最近のASCIIはrubyのアプリケーションを256倍使うという趣旨におもわれ。
悪くはないがおれは必要ないし、rubyでプログラム書こうと刺激する内容
じゃないよ。


428 :デフォルトの名無しさん:02/04/29 13:23
Practical Ruby

gaiacrtn.free.fr/practical-ruby/index.html

429 :デフォルトの名無しさん:02/04/29 18:21
>>428
.fr? フランス?そういえばruby-frっていうフランス語メーリングリストも
あるみたいね。

430 :デフォルトの名無しさん:02/04/30 22:24
IOWAの人がRubyからSmalltalkに乗り換えたらしい。

blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/39319

ここにいくつか理由が書いてあるんだけど、
IOWAの人がRubyからSmalltalkに乗り換えるきっかけになった
Smalltalkの特徴ってRubyで実装することは可能?

開発環境のことは抜きにするとしても
(Ruby本体だけではGUIを作成できないので)

1. あるクラス(Aクラス)に動的に付加されたメソッドの中で新しい
インスタンス変数があったら、すでに生成されているAクラスの
オブジェクトでも新しいインスタンス変数が使用できる。

2. stackをExtensionライブラリ等を書かずにいじることができる
(もっと言えば、Rubyの内部構造(構文木とか)をRubyオブジェクトとしていじくる)

431 :デフォルトの名無しさん:02/04/30 22:39
>>430
IOWAって何?

432 :デフォルトの名無しさん:02/04/30 23:16
>>430
>Smalltalkの特徴ってRubyで実装することは可能?
こういう風に、なんでもかんでも取りこもうとするのって
なんつーか、厨房的発想だよな。

433 :デフォルトの名無しさん:02/04/30 23:37
Ruby/SDLでジョイスティックの十字キーが片側に入らねーぞゴルァ。
片側に入れると -32768 になるはずなんだけど、FIXNUM だっけ? が、
31 ビットだから、MSBが欠けちゃってるとか?

434 :デフォルトの名無しさん:02/04/30 23:40
>FIXNUMだっけ? が、31 ビット
そんな仕様だっけ


435 :デフォルトの名無しさん:02/05/01 00:27
>>433
今SDLのソースが手元にないんでわからないけどさ、
もし本当にそのセンなら、Ruby/SDLのソースを
INT2FIX → INT2NUM
FIX2INT FIX2LONG → NUM2LONG
に機械的に直せばいけると思うよ。

436 :433:02/05/01 19:08
>>435
いちゃもんつけてしまったけど確認してみたら、
ちゃんと INT2NUM になってたなぁ。
おれのジョイスティックが逝かれてんのかなぁ。。。

437 :435:02/05/02 04:23
>>436
いまRuby/SDL v0.7を確認したら、INT2FIXかなり大量にあるよ。
(もっと新しいの出てたっけ?)
rubysdl_event2.c の createKeyEvent( ) が怪しいんじゃない?


438 :デフォルトの名無しさん:02/05/02 04:30
>>434
Ruby の実装は FIXNUM オブジェクトを(ほぼ)即値で表現してる。
(ビットシフトで値が取り出せる。)
FIXNUM かそれ以外かを判別するのに 1 bit 使ってるので、
void なポインタのサイズが 32 ビットの処理系では 31 ビットになる。

439 :デフォルトの名無しさん:02/05/02 15:33
>>438
最後の1行は変じゃない?
Rubyのオブジェクトは基本的には構造体へのポインタで表されているが、Fixnum
は高速化のため特別扱いしている。ポインタの最下位bitが1だったらFixnumとみなして
右に1bitシフトした値をFixnumとする。よってFixnumは31bitであらわすことができる範囲の
数値ということになる。
最下位bitが0だったらポインタとみなす。
(ポインタが奇数アドレスにalignされることはありえない)


440 :デフォルトの名無しさん:02/05/02 15:39
あげるなよ

441 :デフォルトの名無しさん:02/05/02 15:46
>Fixnum は高速化
高速化に貢献してるの?

442 :デフォルトの名無しさん:02/05/02 15:49
>>439
8バイトアラインメントなら下3ビット使えるね。
昔lisp/schemeスレでやってたけど。
貧乏クサイけど数割のサイズ削減になる。

443 :デフォルトの名無しさん:02/05/02 16:55
>>441 そりゃしてるでしょう。即値よりもポインタを経由した構造体を
演算した方が速いなんて有り得る?

444 :デフォルトの名無しさん:02/05/02 18:17
>>443
なるほどね。
でもさ、あんな気持ち悪い方法しかないの?
1bit右シフトしたときって符号はどうなるの?

445 :デフォルトの名無しさん:02/05/02 19:43
>>442
rubyは4バイトアラインメントかな。Symbolも即値なので下1bitだけじゃ足りない。

446 :デフォルトの名無しさん:02/05/02 20:31
Symbolが即値ってどういうこと?

447 :デフォルトの名無しさん:02/05/03 02:11
true false nilも即値らしい。
>>446
Symbol#to_iに当たる値をFixnumのように直接もっていると言うことだろ。

448 :デフォルトの名無しさん:02/05/03 14:19
>>444
signedにcastして右シフトすれば最上位ビットはコピーされるでしょ。

449 :デフォルトの名無しさん:02/05/03 20:41
>>447
なんだ、hash値って意味ですか?
それともただの順序値?
まあこれ以上は自分でソース読むことにするよ。ありがとうね。

450 :デフォルトの名無しさん:02/05/03 23:38
Object#id すればどう割り当てられているかわかるよ。

irb(main):001:0> [false, true, nil, 0, 1].each{|i| p i.id}
0
2
4
1
3

451 :デフォルトの名無しさん:02/05/04 01:42
dRubyでリモートメソッドを呼び出すことが出来るのはわかったのですが,
ローカルにあるオブジェクトを投げてリモートで実行し,結果だけをローカルに返す,
ということはdRubyで出来るのでしょうか?

452 :デフォルトの名無しさん:02/05/04 01:54
ここで聞かず、作者に聞け。

453 :デフォルトの名無しさん:02/05/04 02:01
>>451
dRuby 本買っとけ。
http://www.amazon.co.jp/exec/obidos/ASIN/4756139612/ilikeruby-22/250-7951949-8758633

リモートメソッドの引数として渡せばいいんじゃないの?
リモートで起動するメソッドを統一してやって。
オブジェクトのコピーを渡すか参照を渡すかではまることがあるので注意。

454 :デフォルトの名無しさん:02/05/04 18:18
>>449
Symbolって、:foo みたいのだけど知らないの?
シンボル毎にユニークな番号が振られる。

455 :デフォルトの名無しさん:02/05/04 20:05
Ruby最高と言っている友人はロッテファンで
ロッテ最強と言っている。

456 :デフォルトの名無しさん:02/05/05 02:22
>>455
Ruby最高と言っている漏れは阪神ファンで
阪神最強と言っている。
星野阪神マンセー!!!!!!!!

457 :デフォルトの名無しさん:02/05/05 05:27
まつもとさんって田舎育ちだよね?
なのになんであんなにコンピュータに詳しいの?

458 :デフォルトの名無しさん:02/05/05 07:05
>>457
http://japan.cnet.com/Newsmakers/Ruby/
オススメ。

459 :457:02/05/05 12:34
>>458
なかなか面白かった。
>フリーソフト開発の合間に仕事をする男
という紹介も(w

460 :デフォルトの名無しさん:02/05/05 16:11
>>442
Emacs Lispは整数値が 24bit だったっけ?のこり8ビットは何だろう?

461 :デフォルトの名無しさん:02/05/08 11:39
昔、David Thomas のところに Apple から何か話があったようなことが出てたけど、
MacOS に搭載ですか?

462 :デフォルトの名無しさん:02/05/08 14:37
HuntがRubyの開発者なの?

463 :デフォルトの名無しさん:02/05/09 01:29
>>462
誰かそんなこと言った?

464 :デフォルトの名無しさん:02/05/09 01:40
開発者の一人ではあるでしょ。作者ではないが。
PragmaticProgrammers は米国での第一人者だし。

465 :デフォルトの名無しさん:02/05/09 02:17
というか、Mac OS XにRuby標準搭載のソースきぼんぬ。
どこにあるのやら〜。

466 :デフォルトの名無しさん:02/05/09 02:36
ここには載ってるけど。
http://www.apple.com/downloads/macosx/unix_apps_utilities/
Carbon や Cocoa フレームワーク下で利用できるようにするって話なのかな。


467 :465:02/05/09 03:40
>>466
RubyCocoaとの関係とか、気になりますです。
考え過ぎかな。


468 :デフォルトの名無しさん:02/05/09 16:29
Rubyまたあたらしいのがでましたね。
先月2冊出たばかりだったのに。
いつまでこの新刊ラッシュは続くのだろう。

469 :デフォルトの名無しさん:02/05/09 18:48
>>468
どんな本?書名は?

470 :デフォルトの名無しさん:02/05/09 18:59
>>469
http://www.amazon.co.jp/exec/obidos/ASIN/4774114685/
Ruby/GTKプログラミング入門―Rubyで作って学ぶGUIプログラミング
書泉に売ってあった。

471 :デフォルトの名無しさん:02/05/09 19:18
>>470
サンクス

472 :デフォルトの名無しさん:02/05/09 20:15
昔はRuby本全部集めてたけど、
最近は全然ついていけないよ。

473 :デフォルトの名無しさん:02/05/09 21:19
集めんなよ。
なんか意味あんのか?

474 :マルチポスト:02/05/09 22:27
postgresql(cygwin) + ruby でlocalhost 5432にアクセッスできません。
perlだとできます。


http://www.postgresql.jp/interfaces/ruby/index-ja.html

475 :デフォルトの名無しさん:02/05/09 22:59
>>473
472ではないが、、、
本の著者に金を貢ぐことは、
それなりに意味がある行為だと思う。
開発に対する参加の一つの形、だろ?

476 :デフォルトの名無しさん:02/05/10 03:33
>>475
但し、るびきちを除く。


477 :デフォルトの名無しさん:02/05/10 10:01
私怨カッコ悪い

478 :デフォルトの名無しさん:02/05/11 21:11
>>487
よくできているものが既にあるんだったら、何も同じようなものを作らなくたって
いいじゃん。
車輪の再発明って言葉知ってる?

479 :デフォルトの名無しさん:02/05/11 21:16
>>478
スレ違いの予感

480 :デフォルトの名無しさん:02/05/11 21:16
アホですか?
ネタですか。

481 :デフォルトの名無しさん:02/05/11 21:31
何もRubyスレに誤爆しなくても。

482 :デフォルトの名無しさん:02/05/11 21:38
>>478
Rubyの実装に疑問あり!
http://pc.2ch.net/test/read.cgi/tech/1004873294/
に落としたかったレスでしょ? まあ、そんなにひどい誤爆ってわけじゃないけど。
書き込み前に、ちょっとは確認しよーぜ。

483 :デフォルトの名無しさん:02/05/11 23:38
この先の487が、同じようなものを作れ!っていうレスだったら問題ない。

484 :デフォルトの名無しさん:02/05/11 23:39
>車輪の再発明って言葉知ってる?
車輪よりいい物を作るにはどうするか知ってる?

485 :デフォルトの名無しさん:02/05/12 00:32
なんだか車輪の再発明でスレまでたってるな。

486 :デフォルトの名無しさん:02/05/12 00:35
>>485上げるな
この板アラシまくってるぞ ソイツ

487 :デフォルトの名無しさん:02/05/12 00:38
まー荒らしってほどでもないな。他の板に比べれば。

488 :デフォルトの名無しさん:02/05/12 00:53
>>487
あんたヂョンじゃねーだろーな。

489 :デフォルトの名無しさん:02/05/12 12:58
まあ再発明している暇があったらもっと別なことに時間を使えってこった。

490 :デフォルトの名無しさん:02/05/13 00:08
cgi.rbが作り直されるみたいだけど今度のはどうよ?

491 :デフォルトの名無しさん:02/05/13 01:58
HTML 生成機能は必要ないな。
量にあわせてヒアドキュメントか erb のどちらかで済ませるから。
セッション管理がもう少し使いやすくなると吉かな。

492 :デフォルトの名無しさん:02/05/13 10:03
>>491
おなじく。HTML生成機能はいらない。今のも使ったことないし。
互換性のために残すのはいいけどね。

493 :デフォルトの名無しさん:02/05/13 10:19
slashdotにRuby本の記事が出ている。

Ruby Developer's Guide
http://slashdot.org/books/02/04/30/1349242.shtml?tid=156

494 :デフォルトの名無しさん:02/05/21 00:17
本スレをageとくか。

495 :デフォルトの名無しさん:02/05/21 00:35
Programming Ruby のドイツ語版が出るらしい。

496 :デフォルトの名無しさん:02/05/21 00:45
>>493
それをいうなら freshmeat.net にも The Ruby Way の記事が出ている。
やはり海外のほうが評価されているのか。

497 :デフォルトの名無しさん:02/05/21 00:49
>>496
>やはり海外のほうが評価されているのか。
海外には馬鹿が日本と比較にならないほど沢山いるからかな。

498 :デフォルトの名無しさん:02/05/21 02:57
>>497
(・∀・)ソレダ!


499 :デフォルトの名無しさん:02/05/21 03:13
>>497
あながち間違いでもないなあ。
/. のスレッドみた感じでは、大体一年くらい前の日本と同じ状況だな。

「Ruby って(・∀・)カナリイイ! から使ってみ。これとかこれが素晴らしい!」
「はぁ?初めて聞くなそんな言語」
「あー日本で流行ってるらしいね。Python 使えばいいんちゃうん?」
「まあ良いのは分かるけどドキュメントが全然足りないよな」

500 :デフォルトの名無しさん:02/05/21 04:34
n=["a","i","u"]
n.each{|n| print n,"\n"}
としたとき、なんで "i", "u" も表示されるの?
最初に "a" が代入されて、以降はダメな気がするんだけど。
見えない n_org みたいな一時変数が存在してるみたいでキモい。


501 :デフォルトの名無しさん:02/05/21 06:42
>>500
どうしてそう思う?
nに"a"が代入されて print n, "\n"
nに"i"が代入されて print n, "\n"
nに"u"が代入されて print n, "\n"
だから、表示されるのは
a
i
u
になるんだけど。

502 :501:02/05/21 07:12
勘違いしてた。
>>500
Lispのletとかと同じ。
ブロックでの|n|は代入じゃなくて定義。
スコープが違えばトップでのnは壊れないんだよもん。

503 :501:02/05/21 07:20
def f(x)
 hoge = x
end
hoge = "namahage"

で、f()をいくら呼び出してもトップのhogeの値が変わらないのと同じだね。

f("わるいこはいねぇがぁ"); print a #=> namahage
f("なまはげはいねぇがぁ"); print a #=> namahage

504 :501:02/05/21 07:24
最後の二行にある「print a」は「print hoge」の間違いだね。
何度も書き込んでごめんね。

505 :デフォルトの名無しさん:02/05/21 12:07
>>500
irb(main):001:0> ary = [1, 2, 3]
[1, 2, 3]
irb(main):002:0> ary.each do |ary|
irb(main):003:1* p(ary)
irb(main):004:1> end
1
2
3
[1, 2, 3]
irb(main):005:0> ary
3


506 :500:02/05/21 14:45
>>502
> Lispのletとかと同じ。
elisp(まともな処理系でなくてスマヌ)は少しだけ知っているのですが、たとえば

(setq ary '(1 2 3))
(let ((ary ary))
(setq ary 'collapsed))

としても元の ary は大丈夫ですよね。

(let ((ary ary))
(nconc ary '(4)))

とするとさすがにダメだけど。
で、元の話に戻ると、
>スコープが違えばトップでのnは壊れないんだよもん。
最後に p n とすると ["a", "i", "u"] じゃなくて "u" になるのが
変な気がするのです。
ruby の {|var| ...} の |var| は let じゃなくて代入だと
どっかで読んだ気はする。
すると、今度は何故 "a" だけじゃなくて "i","u" も出力されるのか(?_?)


507 :デフォルトの名無しさん:02/05/21 15:00
>>506
> すると、今度は何故 "a" だけじゃなくて "i","u" も出力されるのか(?_?)

n.each のループ毎に n が評価されるとは限らないのでは。
つまり、nが評価されるのは each ループの直前のみで、
この時点で{|n|には"a" "b" "c"が代入されることが約束されるとか。

と、適当なことを書いてみるテスト。


508 :デフォルトの名無しさん:02/05/21 17:10
(1) 最初に [1, 2, 3]という配列オブジェクトがありました
(2) そのオブジェクトにaryという名前をつけました
(3) aryという名前のついたオブジェクト、つまり(1)を呼んできて
(4) 「each」と命令しました
(5) eachを処理する途中で1というオブジェクトにaryという名前をつけました
(6) eachを処理する途中で2というオブジェクトにaryという名前をつけました
(7) eachを処理する途中で3というオブジェクトにaryという名前をつけました
(8) eachという処理が終了しました

eachはaryという名前に対して実行されるわけではなくて、
aryという名前の指すオブジェクトに対して実行される
だから、実行中にaryが別のものを指しても関係ない
ちなみに、実行中にオブジェクトの中身が変わる場合は話が別。

非破壊的なメソッドでオブジェクトの状態が変わらないのはRubyもlispも同じ
lispとRubyでは「名前をつけました」の意味が違うということ。

509 :500:02/05/21 17:27
>>508 おぉ!! すっきりしました。ありがたう。


510 :デフォルトの名無しさん:02/05/21 18:05
ブロックを含めた変数のスコープが分かりにくいというのは前から言われてるね。
matz を納得させられるほどの代案が出されていないのでそのままだけど。
後方互換性がなくなるしね。

511 :デフォルトの名無しさん:02/05/22 00:27
age

512 :デフォルトの名無しさん:02/05/22 00:28
>>511
この糞を何とかしろ

513 :デフォルトの名無しさん:02/05/22 00:39
つまりRubyは糞ってことでいいですね?

514 :デフォルトの名無しさん:02/05/22 00:42
>>513
なんで?
511にいってるんだろ。

515 :デフォルトの名無しさん:02/05/22 00:56
>>513
いいよ

516 :デフォルトの名無しさん:02/05/22 11:47
>>509
どこがすっきりするんだよ。
>>508の発言は、命名の意味の違いについての知識に酔っているだけにしか見えんよ。

なんでラムダ式の引数の命名にスコープ外の名前衝突を意識せねばならん?
それを意識させるストレスより、今の仕様の方が良いとする理由・事例は?

ちっともすっきりしないだろ。


517 :500:02/05/22 12:01
>>516
> どこがすっきりするんだよ。
いや、とりあえず納得する理解はできたということで。
名前とオブジェクトは関係無いし。

> なんでラムダ式の引数の命名にスコープ外の名前衝突を意識せねばならん?
ラムダ式みたいに勘違いしやすいけどラムダ式じゃないんでしょ、たしか。

> それを意識させるストレスより、今の仕様の方が良いとする理由・事例は?
俺も変えて欲しいとは思うけどね。
マンセーとは書いてないでしょ?


518 :デフォルトの名無しさん:02/05/22 15:20
つまり「すっきり」はしてないということで。


519 :デフォルトの名無しさん:02/05/22 17:19
Ruby の仕様は「すっきり」してないけど、
500 はこの仕様を理解するうえで変にこじつける必要がなく
ちゃんと納得できたので「すっきり」したって事でしょ。


520 :デフォルトの名無しさん:02/05/22 23:48
>>516
煽りじゃなく、どういう仕様ならすっきりするか是非教えて欲しい。

521 :デフォルトの名無しさん:02/05/23 09:22
捨てる。

522 :516:02/05/23 14:33
>>520
>>500の例でいえば、

n=["a","i","u"]
n.each{|n| print n,"\n"}

n #=> ["a","i","u"]

こうであればすっきりする。
これが良くないという理由と、現状のRubyで実装されている方式の方が
良いという理由が見えんのよ。

つーか、Rubyの別スレッドで似たような話題出てんじゃん…。


523 :デフォルトの名無しさん:02/05/23 16:45
>>522
|n|のnをブロック内ローカル変数にする、ってことですか。

別の実例として、optparse.rbのドキュメントに書かれている例の一つに

q.on('-d', '--debug', 'debug message') {|debug|}

というのがあって、これはブロックの外にあるローカル変数へ
値を代入していますが、こういう使い方は良くない、
ということですね?


524 :516=522じゃないけど:02/05/23 17:02
>>523
それは何をやってるの。直観的によくわかりませんれす。
同じことをやるのに

debug = q.on('-d', '--debug', 'debug message')

というようにonは定義できないの?


525 :デフォルトの名無しさん:02/05/23 18:19
このスレッドがその件で一番新しいかな?
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/31198

526 :501:02/05/23 18:42
また勘違いしてた……。 ごめんなさい。

527 :デフォルトの名無しさん:02/05/24 00:19
>>526
バーカ

528 :デフォルトの名無しさん:02/05/24 00:28
>>527
バーカ

529 :デフォルトの名無しさん:02/05/24 00:32
>>528
バーカ


530 :デフォルトの名無しさん:02/05/24 00:46
>>522
ルールが複雑になるな。
それを除けば現在よりもその仕様のほうが良いような気がする。
既にそういう方向にすすんでいるようだし。

531 :デフォルトの名無しさん:02/05/24 01:11
>>530
ハァ?荒しじゃねぇがバカ?
Rubyなめんな。変な事言いふらすな。
変なアルゴリズム提示するな。他言語の信者にツッコミいれられるぞ。


532 :デフォルトの名無しさん:02/05/24 01:19
531 はあちこちのスレで楽しそうだなあ。

533 :デフォルトの名無しさん:02/05/24 01:30
Ruby で書かれたプログラムで勉強になりそうなやつはどこかにありますか?

534 :デフォルトの名無しさん:02/05/24 01:33
ないよ。

535 :デフォルトの名無しさん:02/05/24 01:40
>>534 氏ね。

かと言って
>>533 教えられないが。

536 :デフォルトの名無しさん:02/05/24 01:47
>>533
ヤフー(海外の方)で検索してみな。
キーワードを増やす時は +key みたいにすればOK。

537 :デフォルトの名無しさん:02/05/24 01:50
>>533
あなたがどれくらいのレベルか知らないし、どのくらいの規模のものを要望しているのか
わからないのだが、標準配布の中の sample ディレクトリの下あたりをまずは見て
みるのが良いんじゃない?

538 :デフォルトの名無しさん:02/05/24 01:59
>>534
無知。

539 :523:02/05/24 02:13
>>524
いやまあ、わかりずらいのは理解できます。僕も最初ピンと来なかった。

> q.on('-d', '--debug', 'debug message') {|debug|}

この場合、オプションに -d か --debug が含まれていると
debugにtrueを入れます。

> debug = q.on('-d', '--debug', 'debug message')
> というようにonは定義できないの?

使う側がメソッドを再定義すればなんとかなるでしょう。
ちなみにonメソッドの戻り値はselfです。


540 :偽善者:02/05/24 02:15
×わかりずらい
○わかりづらい

541 :やれやれ:02/05/24 02:16
×ちなみにonメソッドの戻り値はselfです。
○ちなみにonメソッドの引数はselfです。

542 :デフォルトの名無しさん:02/05/24 02:19
>>541
ヘ?

543 :523:02/05/24 02:22
>>539 説明になってなかったんで、実際のコードを書きます。

> > q.on('-d', '--debug', 'debug message') {|debug|}
> この場合、オプションに -d か --debug が含まれていると
> debugにtrueを入れます。

require 'optparse'
debug = false
ARGV.options do |q|
 q.on('-d') do |debug| en
end
p(debug)

-dつけないとfalse、-dつけるとtrueが表示されます。
わかりづらかったらスマソ。


544 :デフォルトの名無しさん:02/05/24 02:23
>>539
そのオプションに関する処理をブロックの中ですることが期待されている。

q.on("--version", "print versions.") do
puts "shige version 0.0.1"
exit(0)
end

str.sub(pat, rep){|s| } と似たパターンだと思う。

545 :523:02/05/24 02:30
>>540 指摘感謝。

>>541 あれ、まちがってますか?

>>544
そういう意図があるのはわかります。

ただ>>524さんは「onにブロックがなければ戻り値にオプションの設定値
が帰ってきても良いんじゃないの?」って言っているように読めたんで
あのように書きました。妄想だったらスマソ。


546 :544:02/05/24 03:03
>>545
>ただ>>524さんは「onにブロックがなければ戻り値にオプションの設定値
>が帰ってきても良いんじゃないの?」って言っているように読めたんで
ああ、なるほど。納得。
ブロック内で宣言された変数の寿命はブロック終了まで、
という自然な考えに反する使い方だと。
テンポラリ変数がブロック内に属するかどうかは考え方次第っぽいが、
確かに、それ以前に宣言されていたときだけ生き残るってのも半端だしな。

547 :TAREANS:02/05/24 03:19
Rubyっていいよね。慣れれば楽だし。
プラットホームを絞ってくれればヨカッタのに。それだけが残念。

548 :デフォルトの名無しさん:02/05/24 03:21
>>547
プラットフォームを限定するとどういいの?

549 :デフォルトの名無しさん:02/05/24 04:46
>>548
日本人は限定品や限定モデルが好きだから
プラットホームを限定モデルにすれば
利用客が増え、本数も増やせるんだろ
でも、限定モデルは、ホームとの隙間が
大きく空いてる所があるから、要注意な

550 :524:02/05/24 09:26
543-544で意味わかりました。


551 :デフォルトの名無しさん:02/05/24 17:35
意味はわかったけど、そういうことができるから良いとは言い難いなあ。
激しく解り辛いことは確かだし、
q.on('-d') {|v| debug = v} でいいじゃんか。


552 :デフォルトの名無しさん:02/05/25 06:02
>>551
q.to_sで--helpの時の表記が取得出来て便利だろーが。

553 :デフォルトの名無しさん:02/05/25 12:29
書籍 Ruby de CGI 発売age

554 :デフォルトの名無しさん:02/05/25 15:40
>>551
同意。

http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/14016

みたいに大域変数に代入するのは本当に止めて欲しい。


555 :523:02/05/25 20:57
>>551
実際の話「わかりづらい」とか>>549さんの「自然な考え」というのが
ピンと来ないのは多分僕だけですかね。Rubyがそういう仕様なら
それなりに使おうとしてしまうので、気にならないのかも。

Ruby 2.0とかでこの辺が大きく変化したりしないかな。
メジャーバージョンが上がれば割り切って作ってもらえそうな
気がしますが。


556 :523:02/05/25 21:00
>>555
書いてから色々気付く。うつ。

> q.on('-d') {|v| debug = v} でいいじゃんか。

初見で「vはブロック内ローカル変数なんだな」と想像できるのは、
過去にそういう言語を経験したことがある人のみではないか、
ということです。逆に最初にRubyを憶えてから他の言語を使う際には
逆の問題が起きたりしないのかな、とも思いますが、
そんなことない?


557 :524:02/05/25 23:40
v0 = "hoge"
p0 = proc {|v0| v0 * 2}
p0.call (7)
p v0 # => 7

p1 = proc {|v1| v1 * 2}
v1 = "hoge"
p1.call (7)
p v1 # => "hoge"

# proc の位置の違いがポイントです。

最近のレス見て試してみたらこうなったんだけど
正直気持ち悪いと思ったよ。
これは仕様なの?仕様だとしてこうした理由は

1. 実装が楽なのでやむなく選択
2. 過去バージョンとの互換性のため
3. あえてこの仕様

のうちどれなのかな。


558 :デフォルトの名無しさん:02/05/25 23:47
>>557
1+2 かと。
matz もこうならない仕様への需要があることは認識しているみたいだし。
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/31201
2.0 の仕様を議論するときに強く押せば標準採用もありえるカナ?

559 :524:02/05/26 00:15
>>558
3だったらヤだなと思ってたので1+2ってことで安心しますた。


560 :デフォルトの名無しさん:02/05/26 04:13
Ruby に Java でいうところの JDBC API みたいなクラスライブラリってありますか。
おすすめのものがあれば教えてください。

561 :デフォルトの名無しさん:02/05/26 04:22
>>560
Perl でいうところの DBI はある。
http://www.ruby-lang.org/en/raa-list.rhtml?name=Ruby%2FDBI

562 :デフォルトの名無しさん:02/05/26 11:47
>>558

1は違う気がする。

563 :デフォルトの名無しさん:02/05/26 19:35
>>522
print n の n が、引数で使われているか否かでブロックローカルかそうでないか
変化するのね。

564 :522:02/05/27 15:38
>>563
そういうこと。
ブロックの引数名は、そのブロック内での役割を示す簡潔な名前を付けるべきで、
外スコープのオブジェクト名とぶつかっているかどうかなんて、考えたくない。
例えば、hash.each {|key,value| ...}とスラスラ書くのに、
keyやvalueという名前が外側にあるかどうか気にしなくちゃいけないなんて鬱すぎ。
もし本当に外側のkeyやvalueにブロック内で代入したい場合には、メソッドの肥
大化を疑うつもり。


565 :デフォルトの名無しさん:02/05/27 20:46
>>556
なんにせよ、[必要なら]その言語の仕様は覚えなくちゃ。

例文を「a = b = '1'」としよう。

初見で「aとbにオブジェクト'1'への参照を与える」と想像できるのは、
過去にそういう言語を経験したことがある人のみではないか、
ということです。

…というのと同じではないのかな?


566 :523:02/05/27 22:12
>>565
あれは>>551さんがブロック内ローカル変数を前提にして

> q.on('-d') {|v| debug = v} でいいじゃんか。

と書いたものと思って>>556と書いたわけですが、これは私の妄想が
過ぎました。ごめんなさい。

なんか混乱してきました。頭冷やしに逝ってきます。


567 :デフォルトの名無しさん:02/05/27 22:14
>>564
最後の2行は言い過ぎではないのかなあ。クロージャの意味が無くなる。

568 :デフォルトの名無しさん:02/05/27 22:26
>565
言いたいことは分かるけど・・・同じではないよ。
>557の例、procをlambdaに置き換えるとさらに気持ち悪くなる。

rubyの、ブロックの手続きオブジェクト化にlambdaなんて
lispを思わせる別名をつけたのであれば、lispから類推できる
挙動であって欲しいって思うのは、かなり自然な要求だと思う。

…べつにオレはlispが好きってワケじゃないが。

569 :デフォルトの名無しさん:02/05/28 00:08
なんでみんなRubyを貶すのかなー?
もしかして劣等感?僻んでる?
日本発の言語で世界に評価されているのはRubyしか存在しないんだから
みんなでRubyを盛り上げてC++やDelphiなんて、プププのプーってぐらいに
しなきゃ。
実際今まで10年ぐらいプログラミングしてきた俺だけど、Rubyより優れた
言語に出会った事がないよ。
やっぱり新しい言語は優れているんだろうね。

コピペして貰えれば幸いです。

570 :デフォルトの名無しさん:02/05/28 00:24
>>569
RubyとC++/Delphiでは畑が違うよーな。
たとえばC++/Delphiの仕事に、あえてRubyをもってくるのは違う気がする。
Perlの仕事にRubyを使ってみる、とかならわかるけど。

571 :デフォルトの名無しさん:02/05/28 00:24
>>568
rubyの次のメジャーバージョンアップでは、ブロックの引数はブロックローカルに
もできるようになるって話は出てたよね?

572 :デフォルトの名無しさん:02/05/28 00:26
>>570
マジレス?まともにとりあうなよ。

573 :デフォルトの名無しさん:02/05/28 00:31
>>572
え、マジレス(というほどのものでもないけど)しちゃだめでしたか。失礼。

574 :デフォルトの名無しさん:02/05/28 23:32
>>564
メソッドが肥大化していなければ、ブロック内の変数とその外側の変数名の
衝突なんてしないというか、すぐ気がつくと思われ。

575 :デフォルトの名無しさん:02/05/28 23:46
なんか、ブロック引数のスコープがブロックローカルでもそうでなくても、
n.each{|n|...}
という書き方はよくないと思うなあ。他人が見るとはまりやすいし。
C言語で
n = n++;
と書くのと似たようなものというか(w

576 :デフォルトの名無しさん:02/05/29 01:04
どういう書き方ならよい?

577 :デフォルトの名無しさん:02/05/29 01:06
>>576
別々の変数名をつけろってことだろ

578 :デフォルトの名無しさん:02/05/29 01:27
>>568
> >557の例、procをlambdaに置き換えるとさらに気持ち悪くなる。
おぉ!! きもちわる〜いですね。
OO だから Ruby流をとかいいたいのか知れんが、
lambda を名乗る以上はどうにかしてもらいたいもんだ。


579 :デフォルトの名無しさん:02/05/29 14:28
>>575
全然違うでしょ。これまでの流れを理解しているとは思えない。
他人が見るとはまりやすいってのは、Rubyしか触れてない人限定じゃないの?
lambda式っぽい構文があって、その引数の名前によっては外側のスコープの同名
変数を破壊するなんていう仕様はまず想像できないと思うんだが。
試しに、周りのプログラマに、以下のサンプルを見せて、

n = ["a","i","u"]
n.each{|n| puts n}

「この結果、nは何でしょう?」と聞いてみてほしい。


580 :デフォルトの名無しさん:02/05/29 15:22
n.eachと書くから話しの流れと関係ないことに目が
いっちゃうんじゃないの?

n = "キタ━━━━━━(・∀・)━━━━━━ !!!!!"
["a","i","u"].each{|n| puts n}

「この結果、nは何でしょう?」と聞いてみてほしい。


581 :デフォルトの名無しさん:02/05/29 16:09
>>568
> rubyの次のメジャーバージョンアップでは、ブロックの引数はブロックローカルに
> もできるようになるって話は出てたよね?
 ^^
この積み重ねがperlなんだと思う私は馬鹿なんだろうか。

>>580が良い事言った。

582 :581:02/05/29 16:10
> >>568
-> >>571

583 :デフォルトの名無しさん:02/05/29 21:02
>>579
正直 ruby を使う気なくしました。こんな仕様は非常識ですよ。

584 :デフォルトの名無しさん:02/05/29 22:30
所詮学の無い作者のオナニー言語です。
気に入らないならさっさと他の言語へ行くか、作るかしたほうがいいよ。

585 :デフォルトの名無しさん:02/05/29 22:40
>>583
ブロック引数のスコープの仕様だけ変わったって使う気無いくせに、いちいち
ageてまで書くな。

586 :デフォルトの名無しさん:02/05/29 22:48
>>580
そう書くと現在の仕様でも納得できる気がちょっとしてきた。

587 :デフォルトの名無しさん:02/05/29 23:18
>>586
では問題無しということで。


588 :デフォルトの名無しさん:02/05/29 23:23
>>586,587 proc (a.k.a lambda) のほうは?


589 :デフォルトの名無しさん:02/05/30 00:09
>>588
lambda って名前は廃止してほしいよね。
漏れはラムダ式と呼ぶには違和感ありありなので proc しか使わない。

590 :デフォルトの名無しさん:02/05/30 00:17
>>589
要は名前が悪いってことでしょ。 lisp とかの lambda を知っている人にとっては、
違和感ありありだと。
lisp知らん人にとってはどうでも良いことかも。

591 :デフォルトの名無しさん:02/05/30 01:17
スレの流れでは、ブロックの引数がローカルじゃないってことになっているけど、
実は、ブロック内で使われる変数すべて、ローカルではないんだな…

a = 3
b = 8
pr = proc{a = 'ha?'; b = 'fuun'}
pr.call

ってやるとa='ha?' b='fuun'になっちまう。
なんか、手続きオブジェクトって呼ぶにしても中途半端な仕様な気がする。

592 :デフォルトの名無しさん:02/05/30 01:25
eval と binding を加えればさらに混乱必至。

593 :デフォルトの名無しさん:02/05/30 09:53
>>591
http://www.ruby-lang.org/ja/man-1.6/?cmd=view;name=Proc

ようは見た目だけがブロックということ?


594 :デフォルトの名無しさん:02/05/30 10:37
>>591
def f()
 proc{a = 'ha?'; b = 'fuun'}
end
a = 3
b = 8
pr = f()
pr.call
……とすると、a=3 b=8のまま。
def f(proc)
proc
end
a = 3
b = 8
pr = f(proc{a = 'ha?'; b = 'fuun'})
pr.call
……とすると、a='ha?' b='fuun'になる。
これはおかしい? それとも自然?

595 :()後方参照:02/05/30 17:57
PERL-->RUBYに乗り換え進行中の初心者です。
ひとつつまずいてしまって、FAQかと探してたんですが
見当たらなかったので質問させてください。

Perlではこうすると;
$_="you love girls";
s/(\S+) (\S+) (\S+)/\3 don't \2 \1/;
print;
--> 出力:"girls don't love you"とできますけど、
Rubyではどうすればいいんでしょうか?

str="you love girls"
str.gsub!(/(\S+) (\S+) (\S+)/, "$3 don't $2 $1")
print str
これだと出力が "$3 don't $2 $1"になっちゃう。

なにか簡単な事を見逃しているんだろうけど、わからない、、、


596 :デフォルトの名無しさん:02/05/30 18:30
>>595
str.gsub!(/(\S+) (\S+) (\S+)/, '\3 don\'t \2 \1')

無駄にメソッドチェーンしたいときは
str.split.insert(2, "don't").join(" ").display

597 :595:02/05/30 18:53
あ、できた! ありがとうございました >>596
うーん、シングルクォート=式展開なし /
ダブルクォート=式展開あり
とばっかり思ってた。
(ていうかリファレンスマニュアルにはそう書いて、、、)
(ていうかシングルクォートも確か試したと思ったのになぁ)
後方参照もリファレンスには\1, \2でなく $1, $2とありましたが、
当方 Windows環境だから違ったのだろうか、、、、

ともあれ、これでPERLからの移行を続けられます。
ありがとうございました。

p.s. 「str.split.insert(2, "don't").join(" ").display」
  こっちはインタープリタによれば undefined method `insert' for
  ["you", "love", "girls"]:Array (NameError) との事で、
  できませんでした。



598 :デフォルトの名無しさん:02/05/30 22:54
>>591
クロージャの意味分かってる?

599 :デフォルトの名無しさん:02/05/31 00:15
>591
うーんとさ、それは他の言語でも閉包ってのはそういうものだから…
lispなんかでも
(setq a 8)
(setq prc (lambda () (setq a 3)))
(apply prc ())
=>3

a
=>3

になるし。文句はあまりでないと思うが。

600 :デフォルトの名無しさん:02/05/31 03:50
むしろRubyにはletがないといった方がいいんじゃないか?
ruby-listで提案して玉砕された形跡があるが。
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/34901

601 :デフォルトの名無しさん :02/05/31 15:19
Ruby初心者にやさしい本は何がありますか?
スクリプト言語は初めてです。

602 :デフォルトの名無しさん:02/05/31 16:03
>>591はoccur freeな変数が関数オブジェクトでは
認められるということを
問題にしているのではなかろうか。
察するに。

603 :デフォルトの名無しさん:02/06/01 00:02
無知なくせにでしゃばって恥をかいた悲惨な >>591 がいるスレはここですか?

604 :デフォルトの名無しさん:02/06/01 03:05
ruby?

http://www.cs.nott.ac.uk/~gmh/ruby-interp.txt

605 :デフォルトの名無しさん:02/06/01 10:15
Web 開発に Ruby 使おうということを上の人に説得したいんだけど、
提案に役に立つまとまった資料、文章とかないかな。ポジショニング
マップとかが書いてあって説得力のあるものが希望。

606 :デフォルトの名無しさん:02/06/01 11:32
>>583

あなたは幸せものです。
世の中にはもっと酷い言語を使わされている人が沢山いるのですよ・・・?

607 :デフォルトの名無しさん:02/06/01 12:01
>>605
あればもっと普及してます。

608 :デフォルトの名無しさん:02/06/01 12:46
無知なくせにでしゃばって恥をかいた悲惨な >>591 がいるスレはここですか?


609 :デフォルトの名無しさん:02/06/01 13:10
この板を紹介する。>>605


610 :デフォルトの名無しさん:02/06/01 13:52
PerlとRubyのいいところだけを統合させた言語きぼんぬ

611 :デフォルトの名無しさん:02/06/01 15:41
アホな機能満載のクソ言語スレはここですか。

612 :デフォルトの名無しさん:02/06/01 15:53
>>610
ちょっとまった、rubyのいいとこってどこよ?

613 :マジレス遺体:02/06/01 16:17
>>611
アホな機能とは具体的には何ですか?

614 :デフォルトの名無しさん:02/06/01 16:18
>>610
それが ruby のはずなんだが。

615 :デフォルトの名無しさん:02/06/01 16:25
>>611
いいえ。ここは無知なくせにでしゃばって恥をかいた悲惨な >>591がいるスレです。

616 :112:02/06/01 17:57
なんだ?どこかで>>591にいぢめられたのか?>>615

617 :デフォルトの名無しさん:02/06/01 19:35
>>616
どうでもいいけど、あんたが112のはずはないんだが。。。

618 :デフォルトの名無しさん:02/06/02 00:27
>>611
作者やコミュニティがアホだから、他の言語の良いところを持ってきたつもりが、
いつのまにかrubyアホ機能その1に成り下がってるんだよね。

619 :デフォルトの名無しさん:02/06/02 00:30
>>618
なんだ?どこかでrubyコミュニティにいぢめられたのか?>>618

620 : :02/06/02 00:31
質問ですが、下記の本ではどちらがおすすめでしょうか?

『Rubyアプリケーションプログラミング』
http://www.amazon.co.jp/exec/obidos/ASIN/4274064611/
『プログラミングRuby―達人プログラマーガイド』
http://www.amazon.co.jp/exec/obidos/ASIN/4894714531/

621 : :02/06/02 01:25
>>620
http://www.linux.or.jp/bookreview/OOSP-Ruby.html
『オブジェクト指向スクリプト言語 Ruby 』がいいよ。4000円。

622 :デフォルトの名無しさん:02/06/02 01:35
>>620
はじめて読むならプログラミングRubyじゃないか。次にRubyアプリケーションプログラミング。
両方読むのがおすすめ。

623 :620:02/06/02 08:44
とりあえず『プログラミングRuby』を買ってこようと思います。
Rubyをはじようと思った動機は、日本語に対応した正規表現を使いたかったから
という単純なものだったのですが、Perl以上にスイスアーミーナイフな感じで、
期待が持てます。(本家のホームページは (´・ω・`)ショボーン ですが・・・)

624 :デフォルトの名無しさん:02/06/02 12:42
>>623
がんばれよ。

625 :デフォルトの名無しさん:02/06/02 20:24
>>601
オーム社の Ruby プログラミング入門か、最近出たたのしいRuby(だったっけ?)
くらいかな。
スクリプト言語がはじめてでも、他の言語である程度の経験があれば、>>620
でているプログラミングRubyでも良いと思う。

626 :デフォルトの名無しさん :02/06/02 22:45
Ruby本を2日以上、家に置いておくと、家族に不幸がやってくるぞ。
早く、捨てれ。

627 :デフォルトの名無しさん :02/06/03 01:34
>>626
お前、不幸な奴だろ。同情するべ。

628 :デフォルトの名無しさん:02/06/03 04:46
>>625
>オーム社の Ruby プログラミング入門か、最近出たたのしいRuby(だったっけ?)

この2冊はけっこう性格違うよ。
原さんのは「入門」な割には詳細に書いてあり、高度な話題も
チラホラある。あまり経験が無いと消化不良になるかも。良書ではあると思う。
導入として「たのしいRuby」を読む事は決して無駄にはならないと思うよ。


629 :デフォルトの名無しさん:02/06/03 08:07
入門とか、たのしい、より、
拡張ライブラリや、組み込みRubyの本でないかな。

630 :デフォルトの名無しさん:02/06/03 11:22
rubyを組み込んだ実用的なものというとmod_rubyくらい?
そういうことではなくて? >>629


631 :628:02/06/03 13:18
というか、俺は情報系の知識が無い初心者なんだけど、
以前「入門」を読んだ時は、読むには読んだけど
いまいち理解できてなかった。
で、全然 Ruby 使ってないので久しぶりに勉強しようと
今回「たのしい」を読んでみているわけだけど、
結構話題を絞り込んであるので、ダレずに進めて有難い。

elisp だけは普段から触っているので今回イテレータは
すんなり理解できた。yield とか block とか、なんだ、
funcall や lambda じゃない。each は mapc(ar)
してるだけだし。

というわけで、lisp に似てて嬉しいんだけど
上のほうで話題になってる block と scope の関係や
lambda の仮引数(じゃなかった!!)とかは残念でならない。


632 :デフォルトの名無しさん:02/06/03 14:55
Class#each が定義されてるとき、Class#each_with_index が
どのように定義されるか、Ruby (not C) で書くとどうなりますか?


633 :デフォルトの名無しさん:02/06/03 16:25
>>632
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/11043

634 :デフォルトの名無しさん:02/06/03 22:05
>>630
組み込んだ物じゃなくて、拡張ライブラリを書き方や、
アプリへの組み込み方法を「たのしい」レベルで
解説した本が欲しいんだけどなあ。

まぁ README.EXT.ja とか読みながら試行錯誤で
やれば出来るのだろうけど、学生じゃないから、
試行錯誤している暇はない。とか言っちゃだめか。

635 :デフォルトの名無しさん:02/06/03 23:46
>>634
ruby-devでブロック引数のローカル化の話が出てますね。


636 :デフォルトの名無しさん:02/06/03 23:47
>>635
ああ、癖で書いてしまいました。
>>635>>634さんへのレスではありません。
まぎらわしくてごめんなさい。


637 :デフォルトの名無しさん:02/06/04 23:48
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/17298

というような記述の仕方はどうなの?
正直、俺はあまり好きではない。

それにこういう記述形式にすると、
今まで以上にparserが複雑になりそう。

638 :デフォルトの名無しさん:02/06/05 04:48
昔の動作を {<arg> ...} にしてくれたらいいのにぃ。
ま、互換性の点から無理だが。
# <arg> はダサいな。[arg] というのはダメ?
# 複数あれば {[arg1, arg2] ...} となるけど。


639 :デフォルトの名無しさん:02/06/05 07:36
256本の racc のやつは難しいですか?
C は知りません。Ruby は原先生のと「たのしい」だけ読んだ事あります。
他の言語も殆ど知らないと同じです。

次に何を読もうか迷ってるんですよね。
プログラミングRuby は、そのうち買うつもりだけど、
たてつづけに解説書だけ読んでても面白くないし、実践的な事しないと。


640 :デフォルトの名無しさん:02/06/05 11:13
>>638
それはArrayの即値と見なされるのでだめ。

641 :デフォルトの名無しさん:02/06/05 11:14
>>639
無道編はコンパイラコンパイラの入門として面白いと思う。

642 :デフォルトの名無しさん:02/06/06 01:14
ruby-talkにannounceがあったけど、ILEってどう?

http://virtualschool.edu:8083/tut/HomePage

HTTPサーバーを内蔵しているみたいだし、面白そうなんだけど。

643 :デフォルトの名無しさん:02/06/06 15:21
どうしても言語処理系を作りたいのでなければ、
『Rubyアプリケーションプログラミング』 のほうにしといた方がよいとおもう。 >>639

644 :デフォルトの名無しさん:02/06/07 01:03
>>638
グローバル変数で挙動を変えるようにするとか。
なんか perlっぽいけど。

645 :デフォルトの名無しさん:02/06/07 01:15
いや、それはさすがに論外では。
というかパーサの問題だからグローバル変数じゃ話にならない。

646 :デフォルトの名無しさん:02/06/07 01:27
>>645
じゃあ起動時オプション --traditional で古い挙動になる、とか。
いや、本気じゃないけど。

647 :デフォルトの名無しさん:02/06/07 01:30
オプションで変わるにしては影響が大きすぎるというか、
どこまでどういう影響が及ぶか非常に分かりづらいから、
それはたぶん採用されないと思う。

648 :デフォルトの名無しさん:02/06/07 07:49
>>637
ポリシーも無く、行き当たりばったりで作ってるから
こんなことになるんだな。

649 :デフォルトの名無しさん:02/06/07 09:57
「ブロック引数は多重代入のセマンティクス」というポリシーはあるんだよ。
そのポリシーに反する要求を満たそうとするとどうしても無理が出て来る。

650 :デフォルトの名無しさん:02/06/07 11:17
後付けポリシーの予感がするな
本気のポリシーなら押し通せよ


651 :デフォルトの名無しさん:02/06/07 11:36
むしろ今問題にされてるのは、ローカル変数スコープのポリシーか。

652 :デフォルトの名無しさん:02/06/07 19:35
むしろ問題はるびきちの傍若無人ぶりだ

653 :デフォルトの名無しさん:02/06/07 20:19
最近見ないが。

654 :デフォルトの名無しさん:02/06/07 20:53
正直、るびきちが羨ましい。

655 :デフォルトの名無しさん:02/06/07 23:02
るびきちの話題は撲滅スレでおながいします。

656 :デフォルトの名無しさん:02/06/08 02:40
無知なくせにでしゃばって恥をかいた悲惨な >>650 がいるスレはここですか?

657 :デフォルトの名無しさん:02/06/08 05:24
>>651
なんでこんな重要なことを今まで放っておいたんだろうね。

658 :デフォルトの名無しさん:02/06/08 06:20
>>637-638
いっそのことブロックに名前付けちゃうのどう?
schemeだとletに対してfluid-letというのがあるけど、
こういう目で確認しづらいものは構文拡張より名前で区別した
ほうがわかりやすいと思う。

foo let:{ ... }

とかブロックの前に明示的に名前(ラベル)つけれる様にして、
省略すると以前の形式。

{<,,>...}みたいな変な構文導入するよりマシな気がする。

659 :デフォルトの名無しさん:02/06/08 09:33
>>658

素晴らしい意見過ぎてたまらん。(俺はもう、Ruby の syntax はこれ以上
進化しなくても、構わないとは思う。)

660 :658:02/06/08 13:12
>>659
こういうのってまっさきに思いつきそうな気がするんだけど、
外側に名前置くってのはなんか問題あるのかな?

>>658の思いつき自体はこの人の最初の方の意見に近い。
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/17330
けどあんまり注目されてないみたい。(というか作者が理解せず終わった?)
枝止まってるみたいだし。
正直、この議論は変な方向へ行ってる気がするなあ。
ともかく、{<a,b,c>...}これはやめてほしい。

作者はブロックの中で解決することに何故かこだわってる感じ。
なんでだろ。
今の規則をデフォルトにしてしまいたくないのかも。ここで、
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/17352
「失敗であった」とか言ってるし。

661 :デフォルトの名無しさん:02/06/08 13:26
>>658
ごめん。ブロックに名前付けてどう使うのか教えてください。
ちなみに scheme は知りません。

662 :デフォルトの名無しさん:02/06/08 13:46
名前を付けるんじゃなくて、単に{}とlet:{}を区別するためだけにラベル
付ければいいというだけの話だと思う。
ブロックに名前が付くのではなくて、ブロックの構文にラベルを導入してブ
ロックの種類を区別するだけ。

663 :デフォルトの名無しさん:02/06/08 14:43
ブロックの外側にラベルをつける方式って{ }なブロックならいいけど
do 〜 end なブロックで書こうとすると見づらくならないか?

664 :デフォルトの名無しさん:02/06/08 16:04
>>662
ますますわからんです。
ラベルをつけて、それを何に使うのか。
ラベルがついているブロックとついてないブロックと何が違うのか。
ブロック引数とブロック内変数のスコープの問題とどう関係するのか?

665 :デフォルトの名無しさん:02/06/08 16:34
あっほ〜

666 :デフォルトの名無しさん:02/06/08 23:36
rubyって、statement ... endの形式で書くのかと思えば、
{...}という表記もある。
一貫性のないむちゃくちゃな言語に見える。

667 :デフォルトの名無しさん:02/06/08 23:56
作者が日本人なので一貫性の無いのはある意味当然といえます

668 :デフォルトの名無しさん:02/06/09 00:33
>>666
メソッドチェーンする場合、{} の方が短いとか、
ブロックのスコープと他のを区別しやすいとか。
後付けの理由だけども。

[1,2,3,4].collect{|i| i*2 }.select{|i| i < 5 }
[1,2,3,4].collect do |i| i*2 end.select do |i| i < 5 end

669 :デフォルトの名無しさん:02/06/09 01:52
>>666
本質的なことじゃないんだけど、結局俺もそれが嫌。

670 :デフォルトの名無しさん:02/06/09 11:09
「今度から、現状の{|a,b| }の書式でブロックローカルが実現されるようになりました」、で いいじゃん。

{<a,b> }だとかlet:{}の導入って、結局は「互換性を保つため」という前提だよね。
本当にそのまま互換性を取れると思うの?
過去を気にして醜くなるより、諦めた方が幸せなこともあると思うぞ。

問題になっているブロック内ローカル変数の名前衝突は、知らない人がほとんど。
ということは、(運良く)名前は衝突していないわけで、互換性は問題なし。

{|a|}や{|$a|}とかいうのは、ブロック内で何もしていないことを検知して「旧書式臭い」ことを通知してもらえれば結構。

これで9割がた問題ないだろ。
残りの1割は、バージョンアップによって仕様が変わったんだから、ソース変えろや!そのまま動くと思うなんざ甘いんじゃゴルァ!ということで。


671 :デフォルトの名無しさん:02/06/09 12:55
>>670
そうですね。

672 :デフォルトの名無しさん:02/06/09 14:35
|この中で|すでに宣言された変数使った方が新しい変数作らなくていいから
都合のいいこともある。

673 :デフォルトの名無しさん:02/06/09 19:48
>>670
この人も同じ意見らしい。

http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/17365

結局、ブロックローカルを期待して書いてる傾向が強いみたいなので、変に互換性を気にする必要はないのかもね。

674 :670:02/06/10 12:28
>>672
新しい変数作らなくていい == 都合がいい、の?
新しい変数作らなくていい == 手短に記述できる、なら解るけど、

>|この中で|すでに宣言された変数使った方が

は、スレ上流で言われているように、「解りにくい」。


675 :デフォルトの名無しさん:02/06/11 00:37
ブロック引数がローカルスコープになって外と同じ変数名を使ったほうが
わかりにくいプログラムになる気がする。

676 :デフォルトの名無しさん:02/06/11 00:49
代入(=)が or/and よりも結合の優先度が高いというのに気付かなくてはまったのでメモ

例: x = true and false

677 :デフォルトの名無しさん:02/06/11 00:49
>>675
外の環境を破壊しない事が保証されている方が安全でそ。

678 :デフォルトの名無しさん:02/06/11 00:50
そりゃPerlからの仕様だ。
もひとつ、or/andは同じ優先度だってのも覚えとくべし。これはshといっしょ。

679 :デフォルトの名無しさん:02/06/11 00:51
>>677
同じ名前で別のものを指すのは混乱の元じゃないか?

680 :676:02/06/11 00:54
>>678
スマソ
perlってあんまりいじってないんで知らなかった。

perlより先にrubyをいじったらperlをやるモチベーションがイマイチなくなってしまったので

681 :デフォルトの名無しさん:02/06/11 11:29
>>679
用途が同じで使われる場所が全く違うものにわざわざ別の名前を付けなければいけない方が
混乱の元じゃないか?

682 :デフォルトの名無しさん:02/06/11 12:25
だって同一メソッド内での話だろ。
「使われる場所が全く違う」ってことはありえん。

683 :デフォルトの名無しさん:02/06/11 20:20
同一メソッド内だろうがスコープが違うってことでしょ。
「全く」はちと大袈裟な気がしたけどね。
メソッド内でのメソッド定義とかも、引数の名前衝突を気にしたいってこと?


684 :デフォルトの名無しさん:02/06/11 20:41
>670

禿道

 Ruby はあくまでもシンプルで自然を目指すべきだと思う。

 1.4 から 1.6 の時に Hash の要素に nil を認めるようにした時の方が
影響が大きかったんじゃないかな。


685 :デフォルトの名無しさん:02/06/11 20:47
>680

 わざわざ後付で Perl をやる必要は無いよ。

 and/or の優先順位は Perl 確かに準拠だけど、
はじめから Ruby の仕様だと思って覚えても
問題ないでしょ。

686 :デフォルトの名無しさん:02/06/11 21:20
本屋でRubyアプリケーションって書籍がオーラパワーを出していたので買ってきた。
これ全部理解出来たら、物凄いスキル上がりそうな気がした。
一年ぐらい掛けて読むか。

687 :デフォルトの名無しさん:02/06/12 04:56
いきなりローカル扱いされたんじゃ、わずかばかりの効率を追求していた人が可哀想?

require "benchmark"
include Benchmark

n = 4000000
j = 0
bm do |x|
x.report("A: "){ n.times do |i| end }
x.report("B: "){ n.times do |j| end }
end


688 :デフォルトの名無しさん:02/06/12 09:51
tyj

689 :デフォルトの名無しさん:02/06/12 11:04
>687

 まあ、今時 Ruby の様な言語で、わずかばかりの効率を追及するより
script の分かりやすさ(==メンテナンス性)の方が大事だと思うので、
ローカル化に一票!!

690 :678:02/06/12 11:06
>>685
同意。678の前半はただの余計なお世話だから気にしないように。


691 :デフォルトの名無しさん:02/06/12 11:06
既存のプログラム掻き集めてきて、
どのくらいが影響受けるか調査すれば
ローカル化への道も開けるか?

692 :デフォルトの名無しさん:02/06/12 11:12
とりあえずruby-dev 講読してない人のためにも
ruby-list や ruby-talk で聞いてみたほうがいいと思うが。
是非変更してほしいな。

693 :デフォルトの名無しさん:02/06/12 15:34
変数を宣言する仕様だったら問題なかったのに。typoもチェックしやすいし。
var i
a.each_with_index do |var e, var i| end


694 :デフォルトの名無しさん:02/06/12 16:41
>>691

>>673 のリンク先にあるように
rubyに標準添付されているライブラリに関しては問題ないみたい。
後は

http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/17366

で言われているようにどの位の数のサンプルを集めて調査するかだね。

>>692
ruby-talkでも議論が始まってますよ。

695 :デフォルトの名無しさん:02/06/12 17:40
Man, it took me hours to write this mail. Why you guys don't read Japanese?

696 :デフォルトの名無しさん:02/06/12 19:26
皆は、ブロック内では「||」にある変数しか使わないの?
仕様を変更するなら、ブロック内の変数の扱い全般を変更しないと片手落ち……って、
こんな所に書いても意味が無いか。

697 :デフォルトの名無しさん:02/06/12 19:31
>>696
おれもそんな気がしていた。
となると、||の中のは仮引数として、それ以外についても
let ブロックを導入する必要があるんじゃないのかなぁ、と。

698 :デフォルトの名無しさん:02/06/12 20:01
>>696
片手落ちってこたぁないでしょ。
あったら使うと思うけど、ソースが汚くなるからあえて採用してない、
というポリシーも解る、という程度。

699 :デフォルトの名無しさん:02/06/12 20:08
作り直せ!

700 :デフォルトの名無しさん:02/06/12 20:56
うんこ

701 :デフォルトの名無しさん:02/06/12 21:08
>696

 ブロック内で代入した物はすべて、ブロック・ローカルでいいんじゃない?

702 :デフォルトの名無しさん:02/06/12 21:16
>>701
じゃあ、ブロックローカルな変数から外に還元するには
返り値のみしか方法がなくなってしまうじゃない?
これはちょっと不便すぎな気が。
proc はそれでいいとも思うけど。


703 :デフォルトの名無しさん:02/06/12 21:20
いいかげん変数宣言しちまえよ。
perlのuse strict;みたいなの導入しちまえよ。
キモイんだよ。

704 :デフォルトの名無しさん:02/06/12 23:12
>>696

http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/17352 より

* そこで、ブロックパラメータについては

<x, y>

という宣言であれば、外側に同名のローカル変数があってもそ
のブロックローカルになるようにしたい。記法は変化するかも。
重複していたら警告するかどうかは未定。

* ブロック内ローカル変数については、ブロックパラメータの指
定を借りて

<x, y; a, b>

という「宣言」によって指定するか(宣言型)、あるいは、特別
の代入演算子(たとえば「:=」)によってその代入された変数は
以後ブロックローカルになるか、のような方法で実現したい。
重複していたら警告するかどうかは未定。

* 上記ふたつの機能が実現すれば、現在の「不自然かつ使いにく
い」ブロック内ローカル変数の役割は終わる。よって、将来の
バージョンでは、メソッドのローカル変数、明示的に指定され
るブロック内ローカル変数のふたつだけになる(ようにしたい)。
でも、互換性がなあ。

ということらしいです。
互換性を捨てる場合(||をブロックパラメータにする)は
ブロックローカルの変数の扱いで問題が残りますね。

705 :デフォルトの名無しさん:02/06/13 00:02
>>704
<>自体がキモイんだよ!
こんなの採用されたら、もうRubyいらんわ。

706 :デフォルトの名無しさん:02/06/13 00:09
>>705
ま、||の意味を現行のままにできたらと
松本さんが思うのも当然でしょう。
困るのは(一部だけど)ユーザなんだから。
でも俺も <> は嫌だな。絶対に || の意味を変えてほしい。


707 :701:02/06/13 08:00
>702
 その方が明示的でいいと思うんだけどなぁ・・・

 そんなに内と外を一緒にしたいならグローバル変数でも
使えばいいんじゃない。



708 :デフォルトの名無しさん:02/06/13 08:17
>>707
>>704 の <x, y; a, b> (ちゅうか、|x, y; a, b|ね)
じゃだめなの? 俺はこれでいいかなと思ったんだけど。

# もしかして Haskeller?

709 :デフォルトの名無しさん:02/06/13 08:19
>706
 まあ、幸い(嫌みではない) Ruby は未だユーザも
少なくて、そのユーザも状況を理解している人が
多いだろうから、今から過去に縛られて変な構文を
持ち込むより、シンプルで自然を貫いた方がいいと思う。

710 :701,707,709:02/06/13 08:34
>708
 確かに |x, y; a, b| も悪くないと思うけど、とってつけたような
感じは否めないと思うんだよね。


711 :702=708 でした。書き忘れてた。:02/06/13 08:53
>>710
表記としてはとってつけた感はあるかも。
でも Ruby では気楽にプログラミングが出来る事が重要でもあるのだから
やたら面倒な記述が必要というのも困りそうだね。
別のスッキリした表記法があればいいんだけど。

で、return value しか使えないとなると、next とか redo みたいな
のが使いにくくなるんじゃないかなぁ。

# プログラミングのスキルは初心者な奴が書いてるので、あまり本気で
# 相手にしなくていいです。


712 :710:02/06/13 10:54
>711
 とってつけたと書いたのは、見た目の問題だけじゃなくて、
他ではいわゆる変数宣言というのを廃しているのに、ブロック
ローカルだけ宣言ぽいことをするのも、とってつけた感じが
するからなんだけど。

 で、簡潔な記述が要求される局面と云うのは、小規模な script
だろうから、グローバル変数を使っても良いだろうし、大規模な
script なら、多少記述が面倒でもスコープの管理が厳格な方が
良いんじゃないかと思う。

 あと、 next とか redo とかは確かに困りそうだけど、いっそこと
next value とか redo value と云うふうに拡張しちゃったらどうかね?

#なんか、自分で書いててネタだかマジだか分からなくなって来た(^^;

713 :702:02/06/13 11:06
>>712
自分が慣れてるのは elisp ですが、これは
defvar しなくてもいきなり setq で変数に代入できます。
let で局所変数を利用する事もできます。
特に不自然だと思った事は無いですよ。少なくとも自分は。

next value とかの利用法がどんなのか想像できないのですが、
return value しか利用できないとなると、
a, b, c, ... = hoge.each{ ... }
としたときの左辺が凄い事になりそうです。

# うーん、純粋な関数型言語使ってる人の意見を聞いてみたくもある。
## 初心者な俺がスレを占拠していいのだろうか。そろそろ去らなきゃ。


714 :デフォルトの名無しさん:02/06/13 12:18
>>712
next value とか redo value が意味があるかどうか疑問だが、
break value は1.7では使える。


715 :712:02/06/13 12:30
>713

 まあ、 |x, y; a, b| という記法が絶対駄目とは思って
ないんだけど、自分としてはとってつけたような感じが
好みじゃないんで、他の方法を適当に考察してるだけ
なんだけど・・・

 next value ってのは >711 で next が使いにくいと
書いてたのに対する解のつもり何だけど、勘違いして
るかも?

 左辺がすごいことになりそうなら、 Array や Hash を
使った方が良いんじゃないかな?

#どうも、趣味の問題になって来ているので、そろそろ
#止めた方がよさそうですね(^^)



716 :デフォルトの名無しさん:02/06/13 12:45
ああ、ひょっとしてこういうこと?

f = proc {|x, y|
p [x, y]
redo x+1, y+1
}

proc.call(0, 0)
[0, 0]
[1, 1]
[2, 2]
...

でもnextはそのブロックの終端にとぶ、redoはブロックを最初から同じ引数で
再開するというものだから、これじゃへんだよな。

>>711はたぶん、ブロックの繰り返し間で保存される変数も必要だということ
をいいたかったんじゃないだろうか。だとすると、valueというのはちょっと
違うという気がする。


717 :デフォルトの名無しさん:02/06/13 12:58
この、仮引数と同名の変数がシャドウ化されないのは、
元々何の為だったんだろう
元々のきっかけが知りたいですね
しかもよりにもよって、それにlambdaとか付けてみたり・・・
明らかにλでは無いんだから、
これを付けたのは混乱の元だと思う。
しかも、procといってよいかも分からない。
routineじゃ無いですかね。或は、subprogとか。

718 :702 とか 711 とか:02/06/13 13:02
>>716
#うーん、ちょっと話題がこんがらがってるようですが

自分が next や redo の場合が云々と書いたのは
hoge.each{|x, y| ...}
の case を考えてでした。

proc の場合と each のような場合を一緒くたに話題にしてすみません。

# あと、proc で redo とかできましたっけ? ruby -v #=> 1.6.5 の irb では
# エラーになるのですが。


719 :712:02/06/13 13:21
>716

 正直なところ redo については自分自身用途には
疑問を感じつつ、流れで書いてしまったのですが、
next の場合、終端にとんだまま終わっちゃう場合も
あるから、あっても良いかなとは思ったのですが。

 ブロックの繰り返しの間するための変数は・・・
自分の外側の変数を参照するのはよしとして、
繰り返しを暗黙的に再起呼び出しとみなす。
つまり、

n = 1
n = 3.times do
 n = n
 n += 1
end
p n #=> 4

なんてどうだろう?









やっぱへんか(^^;



720 :デフォルトの名無しさん:02/06/13 14:09
>>717
「仮」じゃないから。
ブロック引数は多重代入として処理されるというルールと、
外部で定義されている変数はブロック内でも共有するというルールから
必然的にそういう結論になる。
後者については当人も失敗と認めているけど。


721 :デフォルトの名無しさん:02/06/13 14:16
>>718
procでredoはできるようだけど。

$ ruby-1.4 -ve 'i=0;proc{p i;redo if (i+=1)==1}.call'
ruby 1.4.6 (2000-08-16) [i686-linux]
0
1
$ ruby-1.6 -ve 'i=0;proc{p i;redo if (i+=1)==1}.call'
ruby 1.6.7 (2002-06-12) [i686-linux]
0
1
$ ruby-1.7 -ve 'i=0;proc{p i;redo if (i+=1)==1}.call'
ruby 1.7.2 (2002-06-12) [i686-linux]
0
1

1.6.5あたりでちょっと仕様が二転三転したのかも。

722 :デフォルトの名無しさん:02/06/13 14:18
>>719
> 自分の外側の変数を参照するのはよしとして、
> 繰り返しを暗黙的に再起呼び出しとみなす。

=の左右で別物になっちゃうわけ? lispのletなんかはそうだけど…。

723 :702 とか 711 とか:02/06/13 14:31
>>721
あ、それは実行できました。
>>716 の f = proc... を irb では error になったけど。

>>722
(let ((hoge hoge))
...)
という奴ですね。
hoge という変数に変更を加えても let を抜けると元通り。
でも >>719 のは読みにくい気がしました。するなら
{|x, y; n = n| ...} みたいな感じにして
外部のを参照しているのかパッと分かるようにするとか?
# うーむ…。

724 :719:02/06/13 15:44
>723

 ・・・ >719 を書き直すと

n = 1
n = 3.times do | ; n = n |
 n += 1
end
p n #=> 4

ですか。

 自分としては | ; って辺りが気持ち悪いんで、それこそ

n = 1
n = 3.times do
 let n = n
 n += 1
end
p n #=> 4

の方が好みかな・・・でもさすがにここまですると窮屈
な気もして来た(^^;

725 :デフォルトの名無しさん:02/06/13 16:43
>>723
そりゃ>>716はredoに引数を追加すると*したら*って例だから、当然エラーだよ。

> >>722
> (let ((hoge hoge))
> ...)
> という奴ですね。
> hoge という変数に変更を加えても let を抜けると元通り。

さらにいえば、左のhogeは新しい変数だが右のhogeは外側の変数ということも含めて。

> {|x, y; n = n| ...} みたいな感じにして
やっぱりこれはrubyにはそぐわないと思う。

いい代案は思い浮かばないんだが…。

726 :デフォルトの名無しさん:02/06/13 16:51
文字列配列の検索ってどうやるのですか?
assocではうまくいきません。
p ["a", "b", "c"].assoc("a") # nilが返る



727 :デフォルトの名無しさん:02/06/13 16:53
>>720
それはもうブロックと言わないだろ。
ブロックは一般的にはスコープの範囲を画定するためのものでもあるし。
それは、単にまとめてるからブロックと言ってるということだろ。
ほとんど誤用に近いよ。

728 :デフォルトの名無しさん:02/06/13 16:58
うーむ、でもProcにしたり他のメソッドからyieldしたりできるというのが。

729 :デフォルトの名無しさん:02/06/13 16:58
>>727
> ブロックは一般的にはスコープの範囲を画定するためのものでもあるし。
それはかなり偏った意見では。

730 :名無しさん@カラアゲうまうま:02/06/13 17:12
>>726
grepとかfindとか
ary = ["a", "b", "c"]
p ary.grep("a")[0]
p ary.find {|s| s == "a"}

grepは該当するものすべてを返すので、一個だけでいいときはイテレータとし
て使うといいかも知れない
s = nil
%w[a b c a].grep("a") {|s| break}
p s

1.7なら一行
p %w[a b c a].grep("a") {|s| break s}

> assocではうまくいきません。
> p ["a", "b", "c"].assoc("a") # nilが返る
assocは目的が違う。
p [["a",1], ["b",2], ["c",3]].assoc("a")' #=> ["a", 1]


731 :デフォルトの名無しさん:02/06/13 17:21
>>730
proc とかで盛り上がってるところに
| s = nil
| %w[a b c a].grep("a") {|s| break}
| p s
こんなの示されてしまうと ;(


732 :696:02/06/13 17:24
>>704
どうもです。
現状の上に機能追加、ということか。

>>702
問題がそれだけなら、C++の「::hoge」のような感じで、
外の変数を明示的に参照するようにすればいいのでは。

733 :名無しさん@カラアゲうまうま:02/06/13 18:39
それはネストしたときに途中の変数を指定できない

734 :732:02/06/13 20:09
>>733
記号を重ねたり。
?hoge = 1 # 一つ上
??hoge = 1 # 二つ上
だめ?

735 :デフォルトの名無しさん:02/06/13 20:12
他には、
?hoge # メソッドローカル
1?hoge # 一つ上
2?hoge # 二つ上

かなり痛い事を言っているのかもしれない。

736 :デフォルトの名無しさん:02/06/13 20:32
>>734
いやん。いちいち数えなきゃダメなんて。
やっぱり let してない物については外を参照できるというのが
いいんじゃないかしらん?


737 :デフォルトの名無しさん:02/06/13 21:14
>736

 数えるのがいやなときは

*?hoge

ってのはどう

#おれもイヤかも(^^;

738 :702 だけど:02/06/13 21:55
elisp で

(let ((hoge hoge))
...)

というのが使えると便利な事があるのは、
1. emacs は dynamic scope であり、
2. それぞれの変数名には決った役割がある
からですね。
たとえば一時的に hoge-hook に add-hook して
ある関数を呼びたいとか。

それに対して Ruby ではせいぜい組み込み変数ぐらいだから
この必要性はグッと低い。無理にこんな事できるように
する必要は無いのでは? と思いました。
なので >>712 みたいなのを積極的にサポートしなくても
よろしいのでは?


739 :702 だけど:02/06/13 21:56
失礼。
× なので >>712 みたいなのを積極的にサポートしなくても
○ なので >>719 みたいなのを積極的にサポートしなくても


740 :名無しさん@カラアゲうまうま:02/06/13 23:15
>>734
すまん、::hogeで一つ外側のが見えりゃ充分だな。

ただ、この例で::barはどっちになるべきだろう?

def let(*args) yield(*args) end
foo = :foo
bar = :bar
let do <>
bar = :bar1
let do <>
foo = :foo1
p foo #=> :foo1
p bar #=> :bar1
p ::foo #=> :foo
p ::bar #=> :bar / :bar1
end
end



741 :デフォルトの名無しさん:02/06/13 23:28
ブロックパラメータでないローカル変数はすべて
同じレベルのローカル変数にするというのでは駄目?

$v = 0
def local
 $v += 1
 yield $v
end

foo = 1
local{|x|
 p foo # 1
 p x # 1

 local{|x|
  p foo # 1
  p x # 2
  foo += 1

  local{|x|
   p foo # 2
   p x # 3
  }

  p x # 2
 }

 p x # 1
bar = 3
}
p x # nil
p bar # 3
p foo # 2

742 :名無しさん@カラアゲうまうま:02/06/13 23:39
>>741
それはつまり<x;y>とかとおんなじわけよ。

> p x # nil
ここはNameErrorだろうな。

743 :デフォルトの名無しさん:02/06/15 11:27
ri.rbとかrtags.rbってどこにあるんでしょか?

744 :名無しさん@カラアゲうまうま:02/06/15 16:34
riはPragProg。
http://www.pragmaticprogrammer.com/ruby/downloads/ri.html

refeというのもある。
http://www.loveruby.net/archive/refe/refe-0.5.0.tar.gz

rtags.rbはirb-tools。
http://www.ruby-lang.org/~keiju/src/irb-tools-0.7.1.tgz


745 :デフォルトの名無しさん:02/06/16 04:54
>>730
結果が1つでいいのなら無理にgrepを使うより
findの方がよくないか?

746 :名無しさん@カラアゲうまうま:02/06/16 13:35
findのほうが融通が効いたりするけど、すべての要素についてyieldされるの
で速度的につらい場合もあるかもということで、お好みのほうを。


747 : ◆japan/wc :02/06/17 12:39
rubyにscheme組み込める?

748 :名無しさん@カラアゲうまうま:02/06/17 12:53
schemeで書いたライブラリをロードするってこと?
処理系によるんじゃないかな。

749 :デフォルトの名無しさん:02/06/17 17:36
オライリーか独習本が出るまで待ちでいいですか?
イイ本が無くて始められないYO!!!

750 :名無しさん@カラアゲうまうま:02/06/17 18:28
「The Ruby Way」とか「21days(名前忘れた)」の和訳は出ないのかな。

751 :743:02/06/17 20:48
>>744
ありがとう。
おかげでxyzzyのruby-modeが使いやすくなりました。

752 :デフォルトの名無しさん:02/06/18 13:24
ruby/gtkで質問。

button1 = Gtk::Button.new("ぼたん")

button1.signal_connect("clicked") {
puts "ぼたんが押されますた"
}

で、このプログラムを実行して、表示されたボタンをマウスなりで
クリックすると、signal_connectが呼ばれるらしいのはなんとなく
わかりました。

んで、やりたいのは、プログラム中でシグナルを発生させるにはど
うすればいいの?

button1.send_signal("clicked")
みたいなことをやりたい。

753 :名無しさん@カラアゲうまうま:02/06/18 13:59
Gtk::Object#signal_emitってのがある…と思ったらNotImplementedじゃん。

754 :デフォルトの名無しさん:02/06/18 18:00
最近Rubyを始めたのですが、どうも変数への最初の代入が変数の宣言となる仕様は
少々気持ち悪いのですけど、慣れるものですかね?
明示的な宣言があったほうが、変数名の打ち間違いも簡単に見つかるし、
わかりやすいと思うのですが。
なんかバカなこと言ってたらごめんなさい。

755 :名無しさん@カラアゲうまうま:02/06/18 21:48
>>732
あっさり却下。

756 :名無しさん@カラアゲうまうま:02/06/18 21:52
宣言してても打ち間違えるとメソッドと見なされる罠。
動的な言語が嫌ならPascalでも使えば?
自分に合うものを探したほうがいいよ。


757 :デフォルトの名無しさん:02/06/19 11:10
動的束縛よりも、Rubyにはいくつかのトラップがある。

関数オブジェクトが実際には「関数」オブジェクトではないという罠。

Smalltalkばりのブロックであるかのようでいて
Rubyではifやwhileがオブジェクト指向的枠組の中に回収されていないため、
CやPascal等のブロックと混合してしまうという罠

758 :デフォルトの名無しさん:02/06/19 11:11
混合 ⇒ 混同

759 :zeus.eonet:02/06/19 23:05
Net::HTTPで200 continueを処理するにはどうすればいい?

760 :デフォルトの名無しさん:02/06/19 23:08
>>754
一生かかっても慣れません。
あきらめなさい。

761 :名無しさん@カラアゲうまうま:02/06/19 23:11
HTTPレスポンスで200はOKだが。
rescue Net::HTTPInformationでredoするとか?

762 :759:02/06/19 23:50
http://www.books.or.jp/Index2.aspxでISBNコードからの検索結果をRubyで取得したいがどうにもうまくいかん
再度リクエストを送ればいいみたいなので
http.post('/ResultList.aspx',query_data)
を二回やってみたら
「詳細情報:不正な数値が渡されています。」ってメッセージが返されるだけ

763 :デフォルトの名無しさん:02/06/20 08:13
>>762
関係ないけど get の方が簡単そう。
http://www.books.or.jp/ResultList.aspx?scode=&searchtype=1&title=&series=&writer=&ymin=&ymax=&syuppansya=&isbn=4062573318&showcount=20&startindex=0
http://www.books.or.jp/ResultList.aspx?scode=&searchtype=1&title=&series=&writer=%82%e9%82%d1%82%ab%82%bf&ymin=&ymax=&syuppansya=&isbn=&showcount=20&startindex=0
http://www.books.or.jp/ResultList.aspx?scode=&searchtype=1&title=&series=&writer=%82%dc%82%c2%82%e0%82%c6+%82%e4%82%ab%82%d0%82%eb&ymin=&ymax=&syuppansya=&isbn=&showcount=20&startindex=0

764 :デフォルトの名無しさん:02/06/20 20:04
とあるディレクトリ以下のファイルリストを保存しておいて
更新された場合にそのファイル名を返す・・・・
というスクリプトを作りたいんですが何か参考になるスクリプトやヒントぷりーず。

765 :デフォルトの名無しさん:02/06/20 23:48
>>764
Find::find でファイル検索して、
ファイル名をキー、File#mtime を値にして dbm に格納でいいんじゃない?


766 :デフォルトの名無しさん:02/06/21 06:46
Rubyのすばらしさを俺に語ってください

767 :デフォルトの名無しさん:02/06/22 12:33
>>764
ディレクトリってローカルのディスクのこと?

768 :デフォルトの名無しさん:02/06/22 15:17
次のRuby本に望む話題をあげてください。


769 :デフォルトの名無しさん:02/06/22 16:11
>>768
もう要らない。

770 :764:02/06/22 16:17
>>767
です。

771 :デフォルトの名無しさん:02/06/22 16:33
>>768
クックブックみたいな。

772 :デフォルトの名無しさん:02/06/22 23:22
このスレでも時々書かれるような、
ちょっとした機能や用途の為の小さなコードを集めた書籍、
みたいなものは欲しいなと思う時があります。


773 :デフォルトの名無しさん:02/06/22 23:58
The Ruby Way がそれに近いよ。
http://www.amazon.com/exec/obidos/ASIN/0672320835/002-0332720-6810431
サンプルページが 120p 載ってるので参考に。

774 :デフォルトの名無しさん:02/06/23 00:11
>>773
日本語訳版が欲しいな。

775 :デフォルトの名無しさん:02/06/23 01:19
>774

 今日、神保町の三省堂で The Ruby Way を立ち読みしたけど、
英語の解説より Ruby の script の方が理解しやすかった(^^;

 そういう意味では、日本語訳でなくても良いのではないかと思った。

 
 

776 :デフォルトの名無しさん:02/06/23 03:47
>>746
あ、そうか。
findは最初の1つで打ち切るから軽いと思ってたけど、
grepは===だけだからfindより軽い場合もあるのか。

777 :デフォルトの名無しさん:02/06/27 03:09
RDE-0.960が出たらしい。IDEとしては使いやすい?

ttp://homepage2.nifty.com/sakazuki/rde.html



778 :デフォルトの名無しさん:02/06/28 00:03
>>777
だれか kylix に移植してくれんかのう。

779 :名無しさん@カラアゲうまうま:02/06/28 00:08
IDEの類は使わない

780 :デフォルトの名無しさん:02/06/28 00:14
>>777
リファクタリング機能がほしいね。
あとは、UnitTest 支援機能。

781 :デフォルトの名無しさん:02/06/28 18:16
イテレータて
繰り返すメソッドのことですか?

782 :名無しさん@カラアゲうまうま:02/06/28 19:20
so

783 :デフォルトの名無しさん:02/06/28 19:23
>>781
ブロックを伴うメソッドのことです。

784 :デフォルトの名無しさん:02/06/28 19:39
繰返子

785 :デフォルトの名無しさん:02/06/28 21:22
それ、なんて読むんだ?

786 :デフォルトの名無しさん:02/06/28 21:33
「くりかえし」 じゃない?

787 :デフォルトの名無しさん:02/06/29 00:01
繰り返しが無くてもイテレータなのですか?

788 :デフォルトの名無しさん:02/06/29 00:18
というような語弊が出てきたので、
今はブロック、ブロック付きメソッドと呼ばれている。


789 :デフォルトの名無しさん:02/06/29 00:30
なるほど
ありがとうございました


790 :デフォルトの名無しさん:02/06/29 01:14
>>788
ブロック付きメソッドって呼び方は一般的?

791 :デフォルトの名無しさん:02/06/29 01:22
Rubyプログラミング入門ではそう読んでいた。

全言語のページからブロック付きメソッドを検索しました。 約67件中1 - 10件目 ・検索にかかった時間0.09秒

Ruby のページだけ拾えて便利か?

792 :デフォルトの名無しさん:02/06/29 20:09
>>778,780
無理だと思うけど。

793 :デフォルトの名無しさん:02/06/29 23:44
もうおしまいだな

794 :デフォルトの名無しさん:02/06/29 23:55
>>792
無理か…
eclipse の Ruby サポート状況を調べてみるかな。

795 :792:02/06/30 02:05
>>794
RDEはWindowsに依存した部分が多すぎる(DosCommand, TEditor)ので、
移植が難しいと思う。

eclipseは

http://sourceforge.net/projects/rubyeclipse

にRuby用のプラグインがあるけど、IDEとして使えるという程度で、
RDEより完成度が低いと思う。

おれはFreeRIDEに期待しているけど、ruby-talkを読んでても音沙汰が無いな。


796 :デフォルトの名無しさん:02/07/01 00:52
日本ではRubyカンファレンスってないの?



797 :名無しさん@カラアゲうまうま:02/07/01 01:03
ここ2・3年はLinux ConferenceにくっついてPerl Ruby Conferenceってのをやっ
てる。


798 :デフォルトの名無しさん:02/07/01 03:23
arei = ["top1-1"、
     ["sub1-1"、"sub2-2"]、
     ["sub2-1"、"sub2-2"]、
     "top1-2"、
     "top1-3"]
って配列があって(実際には、top〜、sub〜、ではなくめちゃく
ちゃ(識別不可)な文字列)

# 再帰を使った配列の配列の配列の配列のプリント
def recPrint(aArray)
 aArray.each { |str|
  if str.instance_of?(Array)
   recPrint(str)
  else
   p str
  end
 }
end

配列のすべての要素に対してある処理(ここでは出力のみ)を
したくて↑のようなメソッドを作りました。僕がやりたいのはトップ
レベルの要素のみに特別な処理をしたいのです。
(トップレベルは、top1-1、top1-2、に加えて、[sub1-1、sub1-2]、
[sub2-1、sub2-2]もあるけど、ここでは単純データのみを対象にしている)

↑のプログラムでは、例えば、
toplevel top1-1
sub1-1
sub1-2
sub2-1
sub2-2
toplevel top1-2
toplevel top1-3
のような出力を得ることはできません(トップレベルかどうか判別できないので)。

Rubyは不慣れですし、なにか見落としてそうで歯がゆいです。
よって、誰か助けてください。

799 :デフォルトの名無しさん:02/07/01 03:58
http://js-web.cside.com/index.html

800 :デフォルトの名無しさん:02/07/01 04:01
宿題?
トップレベルとそうでないのと同じことしてたらそりゃだめでしょ。
特別なことしたいのなら違いをつけなきゃ。関数を変えるとか引数
を変えるとか。

> Rubyは不慣れですし、なにか見落としてそうで歯がゆいです。
> よって、誰か助けてください。

もっと深刻。おまえさんの頭が不自由。よって助けられない。


801 :デフォルトの名無しさん:02/07/01 04:04
>>800
カスはだまっててください。

802 :名無しさん@カラアゲうまうま:02/07/01 04:12
800ではないが、

> 特別なことしたいのなら違いをつけなきゃ。関数を変えるとか引数
> を変えるとか。

これが理解できないなら黙ってろ。

803 :デフォルトの名無しさん:02/07/01 20:57
>798
Rubyに不慣れってより、プログラムに不慣れなんじゃないのか?

800も指摘してるけど、トップレベルの要素とそれ以外に対する
処理が違っている以上、いきなり再帰を使うのは無理がないか?
それともどうしても再帰を使わなくてはならない事情でも……?

この場合、areiの各要素について配列かそうでないか判定する
関数を作って、もしそうでないなら、トップレベルに対する出力処理。
配列なら再帰を使ったそれ以外の出力処理をする下請け関数に
渡すようにするのが自然だと思うが。

ちなみに、Array#flattenを使えばこの場合再帰もいらないんだが・・・



804 :名無しさん@カラアゲうまうま:02/07/02 03:15
Arrayを含むArrayだから、再帰を使うというのはある意味必然だと思う。
この程度なら>>800の後者にするかな。そのほうがシンプルそう。

805 :デフォルトの名無しさん:02/07/02 14:50
HTMLエスケープされた文字列をCGI.unescapeElementを使って特定の要素だけ戻しています。
その特定の要素の中にコメント(<!-- -->)をつけたしたいのですがどうすればいいでしょうか?

806 :名無しさん@カラアゲうまうま:02/07/02 17:39
特定の要素ってのが一つだけならsub(/>/, '><!-- -->')とかでいいんじゃないの。

807 :デフォルトの名無しさん:02/07/03 00:35
Apolloってどうよ?
ちょっと使ってみた限りではとっても良かった。

808 :デフォルトの名無しさん:02/07/03 11:36
>807

 DBアプリが Ruby でサクサク書ける所と Strings や DateTime 等、
Delphi 譲りの使いやすいクラスがあるのが良いかな。

 あと、 msi を使っているのでインストールやアップデートが簡単、
http://jurader.s1.xrea.com/apollo/tutorial/tut_index.html にある
チュートリアルがよく出来てる。と云う点も利点だと思うけど、既に
使って見てるなら、知ってるでしょう。

 欠点は、ドキュメント不足とレイアウト関連が弱い点(これは Windows
の欠点かもしれないが)。


809 :名無しさん@カラアゲうまうま:02/07/03 13:41
今そのチュートリアルを眺めてみたが、
http://jurader.s1.xrea.com/apollo/tutorial/tut_form.html
は文字コードと改行コードを混同してるな。

810 :デフォルトの名無しさん:02/07/03 18:59
昔ML入ってたことあるけど、Tacosってやつが知ったかでライセンスの嘘の話を
撒き散らすのがうざかった。
著作権などの法律には詳しいようだったが、ライセンスの知識
については一人でアホな解釈ばかりだった。

811 :デフォルトの名無しさん:02/07/04 00:10
>>808
Apolloは少し触ったことがあるが、DBアプリを作っている人なんかいるのか?

>>809
確かに混同しているな。まあ、WindowsではShift_jis + "\r\n"、Linuxや*BSDでは
euc-jp + "\n"の組み合わせが多いことに違いはないが。
ところで、このチュートリアルは少し説明が冗長じゃないか?

812 :デフォルトの名無しさん:02/07/04 00:40
>>808
そのチュートリアルは Apollo のページからもリンクされているから知っているけど、
読むのがめんどくさくなるようなページなので途中でやめた。

813 :デフォルトの名無しさん:02/07/04 01:00
>811-812
 まあ、チュートリアルなんてのは、冗長な位がちょうどいいんじゃ
ねえのかな。文章読むのが面倒なら、サンプルのスクリプトを読めば
いいだろうし。



814 :デフォルトの名無しさん:02/07/05 22:31
>>807
日本語は通りますか?
unicodeに変換しないといけない?

815 :デフォルトの名無しさん:02/07/05 22:33
Cのライブラリのヘッダを渡すと自動的に
Rubyからその関数を呼べるようなツール・ライブラリはないですか?

816 :デフォルトの名無しさん:02/07/05 22:34
Rubyのデベロッパーてすごいな

817 :デフォルトの名無しさん:02/07/05 23:22
>>815
swig を使うとラッパーライブラリが比較的簡単に作れる。
Ruby/DL と使えば直接呼べる。

818 :デフォルトの名無しさん:02/07/06 02:11
>814
 基本的には ruby だから Shift-JIS で問題ない。


819 :デフォルトの名無しさん:02/07/06 02:37
>>818
THX!
ダウンロードしてサンプルを見たら、普通に漢字がスクリプト中に入っていました。

820 :名無しさん@カラアゲうまうま:02/07/06 09:02
Powerd by RubyのAAキボンヌ。だそうだ([ruby-talk:43721])

821 :名無しさん@カラアゲうまうま:02/07/06 12:36
つーか作っちゃったよw
http://www.its-explosive.net/~davey/tech/ruby/ruby.htm

822 :デフォルトの名無しさん:02/07/06 14:04
>>821
AAというか、1文字1ドットの画像(w。
ワラタ。


823 :デフォルトの名無しさん:02/07/11 11:33
Ruby.NETっていつ出るの?
というかgoogleでどうやって"Ruby.NET"を検索すりゃいいの?

824 :デフォルトの名無しさん:02/07/11 11:44
モジュールの動的ロードはできないの? class A  def b(n)   include n  end end a = A.new a.b('ModuleName') 実行すると、 Aクラスにincludeメソッドはありませんって言われる。

825 :デフォルトの名無しさん:02/07/11 12:26
>>823
出ません。
出るとしても、オフシャルじゃなくて多分ユーザーが作るんだろうね。
>>824
できません。

826 :名無しさん@カラアゲうまうま:02/07/11 13:00
>>824
何がしたいのかいまいちはっきりしないがこういうことか?

class A
 def b(m)
  extend(m)
 end
end

a = A.new
a.b(Enumerable)

あるいはこっちか。

class A
 def b(m)
  self.class.module_eval {extend(m)}
 end
end

a.bで、aだけにモジュールを追加したいのか、A全体に追加したいのか。

827 :デフォルトの名無しさん:02/07/11 14:07
>>823
ttp://sourceforge.jp/projects/netruby/

828 :デフォルトの名無しさん:02/07/16 21:35
Thread.age

829 :デフォルトの名無しさん:02/07/16 23:58
見事なクソスレですね。

830 :デフォルトの名無しさん:02/07/18 21:33
ソートって昇順だけ?降順にするにはリバースつかうん?

831 :デフォルトの名無しさん:02/07/18 21:47
sortにあたえるブロックを変えれば、reverseしなくても済む。


832 :デフォルトの名無しさん:02/07/18 21:58
[1,2,3].sort{|x,y| y <=> x}

833 :デフォルトの名無しさん:02/07/20 00:00
C言語の
#ifdef DEBUG
みたいなのはありませんか?
自作のデバッグ用の機能を場合によってつけたり取り除いたりしたいのですが。
みなさんはデバッグどうしてますか?

834 :デフォルトの名無しさん:02/07/20 01:42
-dつけると$DEBUGの値がtrueになる

> ruby -d -e 'p $DEBUG'
true
> ruby -e 'p $DEBUG'
false

835 :名無しさん@カラアゲうまうま:02/07/20 17:20
[ruby-dev:17706]はいったい何を狙ったもんなんだろう…。
デメリット以外まったく思い付かん。だれか説明してくれ。

836 :デフォルトの名無しさん:02/07/20 17:29
>>835
bladeが死んでるらしくて閲覧できないよう。

837 :デフォルトの名無しさん:02/07/20 21:44
>>835
名無し特異メソッドをブロックのように書きたいのだと思はれ。


838 :デフォルトの名無しさん:02/07/21 05:08
>>836
まだ死んでる。
確認したいことがあるのに、、、

839 :デフォルトの名無しさん:02/07/21 09:56
>>834
ありがとー。
当たり前ながらプリプロセッサという概念はないんですね。
デバッグコードを埋める→コードぶくぶく太る
になっちゃうなぁ。
センスない私はちと扱いに戸惑います。

840 :デフォルトの名無しさん:02/07/21 14:47
>>839
cpp通すとか。当然場合分けのコードはC風に#ifとか#ifdefになります。

% cpp foo.rb | ruby

でも現在(今後も?)のRubyにそのような機能が無くて、
しかもユーザ的にもあまいその手の欲求が無い(本当か?)ということは、
代替手段があるか、根本的な考え方が違うとか、そういうところかも。
漏れはデバグ用コードは平気で残すけども。だって実行自体には
影響ないだろうし。


841 :名無しさん@カラアゲうまうま:02/07/21 18:33
>>837
それはまだ分かる。でも、それと「selfを置き換える」ってのが、一体どうつー
かなんで結び付くのかがまったく理解できん。


842 :デフォルトの名無しさん:02/07/21 23:03
>>841
メソッド定義なのだから、普通のメソッド定義と同じ context、つまり
class ... end の中で定義するのと同じ context にしたいということでは。

ブロックの context が変わることは現状でもあります。
Object#instance_eval、Module#module_eval と 1.7 の
Module#define_method にブロックを渡した場合。

843 :842:02/07/21 23:39
って、 >>826 で使ってまんがな。

844 :名無しさん@カラアゲうまうま:02/07/22 03:49
>>842
そもそもの動機は現在のブロックを知りたいってことだと思ってたんだけど、
もうそれとは独立した要求なのかな。どうもいまいち何をどうしたいのか、結
構みんな混乱してるような。

暗黙の{instance,module}_evalを行うのはTkとかModule.newとかもあるけど、
できればあまり例外を増やして欲しくない。少なくとも、定義側で決めるべき
であって、使用側でオブジェクト内部にアクセスできるかどうか決めるのは良
いとは思えない。

845 :デフォルトの名無しさん:02/07/25 19:12
「たのしいRuby」を読んだプログラミング初心厨です。
次に初心者が読むべき本を教えてください。
このスレ遡って見ると「Rubyプログラミング入門」あたりになりそうですが、
他にありましたらお願いします。

846 :デフォルトの名無しさん:02/07/25 19:41
>845
次にやるのは、実際にプログラムを書くこと。

847 :デフォルトの名無しさん:02/07/25 22:02
Rubyで書かれた実用的なアプリケーションってあります?

848 :デフォルトの名無しさん:02/07/25 22:13
RubyでGUIできるの?


849 :デフォルトの名無しさん:02/07/25 22:34
>>847,>>848
SGmailは両方の答えになるか?


850 :848:02/07/25 23:14
tkは使えるのですか?
windowsでRuby+GUIプログラミングしてみたいです。
Rubyともひとつtcl/tkも入れないとだめなのかな?
まあ、気軽にぼちぼちやっていこうと思ってます。

851 :デフォルトの名無しさん:02/07/25 23:33
>846
「書け、然らずんば、去れ」という感じでしょうか。

もうちょい、このままでつづけてみます。

ポチポチと書いてはみるものの、
なにせ初心厨、今だなお足元覚つかず、
うーんと不安を募らせることも多々あり、
暗き道筋照らすロウソクがもう一本も欲しいかなと思った次第でして・・・。
お手間取らせて、スイマセン。

852 :デフォルトの名無しさん:02/07/26 01:00
>>850
WINでGUIならvrubyがいいと思うぞ
ttp://www.osk.3web.ne.jp/~nyasu/software/vrproject.html

853 :デフォルトの名無しさん:02/07/26 06:22
>>851
プログラミングRubyはいいぞ
短かくて素直で気のきいたコードがたくさん

854 :デフォルトの名無しさん:02/07/26 06:23
>>851
プログラミングRubyはいいぞ
短かくて素直で気のきいたコードがたくさん


855 :名無しさん@カラアゲうまうま:02/07/26 13:32
>>851
> 「書け、然らずんば、去れ」という感じでしょうか。

つーか、プログラムを書かない奴には用のない代物だし。

そういえば「レシピ本」の話もあるな。

856 :デフォルトの名無しさん:02/07/26 18:20
>>847
QuickML Migemo 匿名掲示板(仮)
まあ、アプリよりツール作成向き。


857 :デフォルトの名無しさん:02/07/26 18:32
>>856
>匿名掲示板(仮)
初めて知りました。

858 :デフォルトの名無しさん:02/07/26 19:00
こんにちh

859 :デフォルトの名無しさん:02/07/26 20:13
どこかはいえないけど、仕事でいくつかrubyを使ったサイトを納めてるよ。
って、コードを公開してないということはないも同然か(w

もうひとつ案件きてるけど、こいつもrubyで作るつもり。

860 :デフォルトの名無しさん:02/07/26 20:25
>>857
Ruby(walrus) + C++ だそうだ。
http://210.155.146.159/bbs/
walrus がもうちょっとこなれてくれればなあ。

>>858
"こんばんは".chop #=> "こんばん\202"

861 :デフォルトの名無しさん:02/07/26 22:47
>854
ありがとうございます。
ちと高い本なので、まずは本屋へ立ち読みに行ってきます。
「たのしいRuby」だけでは少々心許ないですし、
かといって、初心者にはWEB上の情報はなかなか見つけづらく、読みづらく、
やっぱ本が欲しかったのです。

>855
確かに。
ただ初心者なんで、用の無い代物を用の有るモノにしていく途上ってことで、ご勘弁願いたいです。

流れから外れたカキコでゴメン。


862 :デフォルトの名無しさん:02/07/27 03:11
>>861
helpは見たのかの??


863 :名無しさん@カラアゲうまうま:02/07/27 10:37
>>862
helpってなに? http://www.ruby-lang.org/ja/man-1.6/とか?


864 :デフォルトの名無しさん:02/07/28 01:06
>>850
WindowsならApolloがよいと思われ。

865 :デフォルトの名無しさん:02/07/28 09:57
Windows上のGUIでThread動いた人いる?どうやった?


866 :デフォルトの名無しさん:02/07/29 00:24
>>865
cygwin版なら動くらしいけど、あれはWindows上というのかなあ。

867 :名無しさん@カラアゲうまうま:02/07/29 00:37
>>865
ASRは使えると思うが。
他のもできそうな気がするが、反応が鈍かったりするか知れん。


868 :デフォルトの名無しさん:02/07/29 23:32
最近、教祖まつもとの態度がでかくなった気がするが、気のせいか?

869 :デフォルトの名無しさん:02/07/30 01:03
>>868
>>835のキティ相手なら、あれで良いかと。

870 :デフォルトの名無しさん:02/07/30 01:22
http://www.osk.3web.ne.jp/~nyasu/software/vrproject.html

871 :デフォルトの名無しさん:02/07/30 11:29
http://www.ganaware.org/S/sow/
にあるstart.pl を利用して、vmware内のIE内にGoogleの
検索結果を表示させるスクリプトを書いてます。
例えば、
% cat keyword
浜崎あゆみ
あゆ
AYU
ハマザキ アユ

% cat suffix
さま

たま
タン

の時に

% googlize-declinable_word keyword suffix
と使う。


% cat googlize-declinable_word
#!/usr/bin/env ruby
require "kconv"

keyword_file = ARGV.shift
suffix_file = ARGV.shift
kw_count = 1
googlized_count = 1

File.foreach(keyword_file) do |kw|
print "keywordの#{kw_count}つ目-->#{kw}をループしてます。"
kw_sjis = Kconv.tosjis(kw)
File.foreach(suffix_file) do |sf|
sf_sjis = Kconv.tosjis(sf)
system("~/local/bin/start.pl 'http://www.google.com/search?hl=ja&meta=lr=lang_ja&num=10&q=#{kw_sjis}+#{sf_sjis}'")
sleep 1 # ← 間隔は適宜変更
print "現在#{googlized_count}つ目が検索中... #{kw} #{sf}"
sf_count += 1
end
kw_count += 1
end


ところが、

&q=#{kw_sjis}+#{sf_sjis}'")
の部分の sf_sjis が外れて、kw_sjisのみ
が検索されてしまいます。

rubyには文字列の連結に
何か特別な書き方があるのでしょうか。
初心者ですが、よろしくお願いします。





872 :名無しさん@カラアゲうまうま:02/07/30 12:29
>>871
systemの引数が一つでメタキャラクタを含んでいる場合は、/bin/sh経由で実行される。
この場合は&'?~など。
START_PL = File.expand_path("~/local/bin/start.pl")

system(START_PL, "http://www.google.com/search?hl=ja&meta=lr=lang_ja&num=10&q=#{kw_sjis}+#{sf_sjis}")

と引数が複数あれば直接実行する(かわりにメタキャラクタは解釈されないのでパイプやリダイレクトは働かない)。

873 :しまった、途中だった。:02/07/30 12:32
で、おそらくSJISに変換した結果、シェルで誤って解釈されるコードが含まれてしまったのではないかと想像してみた。

874 :デフォルトの名無しさん:02/07/30 13:17
>>869
>>835の対応のことなら、
むしろ、よくあそこまで辛抱してつきあったとホメてやりたい

875 :871:02/07/30 14:41
サンクス>873
sjisが怪しいということで
以下のようにしてみた。

#!/usr/bin/env ruby
require "kconv"

START_PL = File.expand_path("~/local/bin/start.pl")

keyword_file = ARGV.shift
suffix_file = ARGV.shift
kw_count = 1
googlized_count = 1

File.foreach(keyword_file) do |kw|
print "sjis DebugPrint keywordの#{kw_count}つ目-->#{kw.chop}をループしてます。\n"
kw_sjis = Kconv.tosjis(kw)
 File.foreach(suffix_file) do |sf|
  sf_sjis = Kconv.tosjis(sf)
  print "#{kw_sjis.chop} #{sf_sjis.chop}\n"
  #system("~/local/bin/start.pl 'http://www.google.com/search?hl=ja&meta=lr=lang_ja&num=10&q=#{kw_sjis}+#{sf_sjis}'")
  system(START_PL, "http://www.google.com/search?hl=ja&meta=lr=lang_ja&num=10&q=#{kw_sjis}+#{sf_sjis}")
  sleep 1 # ← 間隔は適宜変更
  print "現在#{googlized_count}つ目を検索中... #{kw.chop} #{sf}"
  googlized_count += 1
 end
kw_count += 1
end
これをEUC_JPなターミナルでやると
おかしくなるので、
WinのTeraTermでターミナルをSjis表示にして実行
すれば、sjisのところは表示されているのを確認。


原因のsjis文字がだめなら、
URLエンコーディングなどで
%82%C6・・・・などに変換したいけど、
やり方判りません。
これから、rubyでURLエンコーディングしてる人を探して来ます。




876 :デフォルトの名無しさん:02/07/30 14:44
CGI::escape

877 :871:02/07/30 15:17
#!/usr/bin/env ruby
require "kconv"
require "cgi"
START_PL = File.expand_path("~/local/bin/start.pl")

keyword_file = ARGV.shift
suffix_file = ARGV.shift
kw_count = 1
googlized_count = 1

File.foreach(keyword_file) do |kw|
  print "keywordの#{kw_count}つ目-->#{kw.chop}をループしてます。\n"
  kw_esc = CGI::escape(kw)
  File.foreach(suffix_file) do |sf|
   sf_esc =CGI::escape(sf)
   system(START_PL, "http://www.google.com/search?hl=ja&meta=lr=lang_ja&num=10&q=#{kw_esc}+#{sf_esc}")
   sleep 1 # ←間隔は適宜変更
   print "現在#{googlized_count}つ目を検索中... #{kw.chop} #{sf}"
   print " #{googlized_count}つ目のDebug #{kw_esc.chop} #{sf_esc.chop}\n"
   googlized_count += 1
  end
kw_count += 1
end


878 :デフォルトの名無しさん:02/07/30 15:20
>>872 >>876 できました 有難うございました。 CGI::escape した時に語尾に付加される%0 ってなんですか?

879 :デフォルトの名無しさん:02/07/30 17:50
つーかie=euc-jp&oe=euc-jpつけてみれば?

880 :デフォルトの名無しさん:02/07/31 00:53
>>874
ああ。
自分ならとっくにブチキレてるな。

881 :putsとprint:02/07/31 12:25
require 'net/http'

host = 'www.ruby-lang.org'
path = '/en/'

http = Net::HTTP.new(host)
page=http.get(path)[1].delete("\n")
pages= page.scan(%r|<div [^<]+>Ruby Versions.*?</div>|i)[0].gsub(%r|<.*?>|,'')
#puts pages
print pages


において
printだと表示が直ぐに消えるけど
puts だと STDOUTにちゃんと表示される。
これって仕様ですか?


882 :デフォルトの名無しさん:02/07/31 13:02
zsh だったりする?

883 :881:02/07/31 14:49
>>882 はい。zsh です。

884 :名無しさん@カラアゲうまうま:02/07/31 17:06
zshはプロンプトを行頭から表示するらしいので、それに消されてるんだろう。

885 :デフォルトの名無しさん:02/07/31 19:53
~/.zshrc あたりで unsetopt promptcr しておけば消えないはず。


886 :putsとprint:02/07/31 20:45
http://dengaku.org/~naoki/zsh/FAQ-J/zshfaq03-j.html#l39
読みました。
以前からの悩みも同時に解決しました。
有難うございました。

887 :名無しさん@カラアゲうまうま:02/07/31 22:28
なんか全然rubyの話題じゃないよ。

888 :デフォルトの名無しさん:02/08/01 00:39
exerbでApolloごとexeファイルにできますか?

889 :848_:02/08/01 02:34
>>852
>>864
ありがとうございます。私の所はmswin32の方なのでvrubyはsigwinがないと駄目
みたいでした。
appoloは皮って居ますね。こちらはインストールして直ぐにGUIプログラミング
が出来るようになりました。中々良く出来ていますね。とても面白いです。

890 :名無しさん@カラアゲうまうま:02/08/01 10:37
vrubyはcygwinだけじゃなくてmswin32でも動くはずだけど。
少なくとも以前試したときは。

891 :名無しさん@カラアゲうまうま:02/08/01 11:16
>>888
exerb-dev MLで聞いてみたほうがいいと思うが、
ちょっと見た感じではコアの置き換え自体はそんなに問題ではないと思う。
どちらかというと問題は、Apolloがどの程度ruby本体を改造してるかかな。
あと、Apolloって本体はDLLになってるんだっけ?


892 :デフォルトの名無しさん:02/08/01 12:35
>>891
今ちゃんと調べる時間が無いんでアレですが、
今のApolloはRuby側のDLLには手を付けない様になっているはず。
Apolloの本体はPhi.soというDLL(だよね?)のはず。
間違ってたらスマソ。


893 :名無しさん@カラアゲうまうま:02/08/01 13:06
>>892
だったら、phi.soもくっつけてやればいいだけのような。

894 :デフォルトの名無しさん:02/08/02 00:53
vrubyはmswin32でも動く(もちろんmingwでも)。
というか、両方のプラットフォームで、それぞれメンテナがバイナリも
公開している。

895 :デフォルトの名無しさん:02/08/02 17:45
だれかこいつ[ruby-talk:46041]になんとかいってやってくだちい。

896 :putsとprint:02/08/02 22:27
>>895
ウケタ

897 :デフォルトの名無しさん:02/08/02 23:56
オブジェクト変数とはオブジェクトへのポインタですか?
クラス内でしか利用できないのですか?

クラス内にスコープを持つ変数が使いたいです。プロパティのように。

898 :デフォルトの名無しさん:02/08/03 00:56
>>897
オブジェクト変数ってなに? インスタンス変数のこと?

Class Foo
 def initialize
  @bar = nil # クラス内でしか見えない
 end
end

ってできるけど、それとは違うのかな。

すべての変数はオブジェクトへの参照だよ。
ポインタと似てはいるけども。

899 :デフォルトの名無しさん:02/08/03 01:33
あ、失礼、そうです。インスタンス変数でした。
@barはinitializeで初期化するのですか?例えば、

 Class Foo
  @bar="hello"
  def shigeSay
   print "shige!"
  end
 end

のように@barを書いて良いですか?
あと、Foo.deleteはしなくて良いのですか?

900 :デフォルトの名無しさん:02/08/03 01:45
>>899
そこに@barを書くのはダメだったと思う。
それと、クラスの定義はClassじゃなくてclassね。

class Foo
  def initialize
    @bar = "hello"
  end
  def shigeSay
    puts "shige!"
    puts @bar
  end
end
Foo.new.shigeSay

こんな感じ。初期化はinitializeメソッドでやる。
Foo.newってやると、initializeが呼ばれるようになっている。

で、通常使い終わったインスタンスを明示的に開放してやる必要はない。
ガベージコレクトのおかげで、ある特定のタイミングで
参照されなくなったインスタンスは自動的に開放される。

901 :デフォルトの名無しさん:02/08/03 01:59
>>900
あっと、補足。

別にインスタンス変数はinitializeメソッドの中だけでしか初期化できないわけじゃない。
う、二重否定だ。つまりinitializeで初期化しなかった変数だってつかえる。

class Foo
  def initialize
    @bar = "hello"
  end
  def setnum(n)
    @n = n
    self
  end
  def shigeSay
    puts "shige!"
    puts @bar
    puts @n
  end
end
Foo.new.shigeSay
Foo.new.setnum(10).shigeSay

ただ、インスタンス変数の初期化はinitializeでやるのが普通(だと思う)。

もし読んでないのなら、
ttp://www.ruby-lang.org/ja/uguide/uguide00.html
この辺読んどくといいよ。

902 :デフォルトの名無しさん:02/08/03 02:11
>もし読んでないのなら、
>ttp://www.ruby-lang.org/ja/uguide/uguide00.html
それ読みました。で、いまリファレンスマニュアルとProgrammingRuby(english)
の方読んでたんです。

それから、これ多分nilになってると思います。私の所ではそうでした。
def initialize
@bar = "hello"
end
これは多分、
 def initialize(s)
  @bar=s
 end
として、Foo.new("hello")としないと駄目みたいです4。

903 :デフォルトの名無しさん:02/08/03 02:14
んなこたぁない

904 :デフォルトの名無しさん:02/08/03 02:18
で、これから、rubyを勉強したいんですが、
1からやさしく教えてくれているweb siteって、ありますか?

905 :デフォルトの名無しさん:02/08/03 02:25
>>902
おー、原書のProgrammingRuby読んでるのか。おれ、日本語版しか持ってないヘタレ(w

>それから、これ多分nilになってると思います。私の所ではそうでした。
>def initialize
>@bar = "hello"
>end

いや、@barは"hello"で初期化されるよ。
ためしにそのクラスで@barをputsするメソッド作って呼んでみて見て。

def puts_bar
 puts @bar
end

みたいな。

サイトはしらんが、「Rubyプログラミング入門」はお勧め。
結構読み応えある(とおれは思った)。
ttp://www.bk1.co.jp/cgi-bin/srch/srch_detail.cgi/3d48d6aa9290b01024e6?aid=&bibid=01943123&volno=0000

906 :デフォルトの名無しさん:02/08/03 02:33
あ、またまた失礼。上のinitializeメソッドで@bar初期化されました。
私のコードに打ち間違いがあったようです。
英語のProgrammingRuby読んでたらinitializeがinitializerになってる
んだもんなぁ・・・。

907 :デフォルトの名無しさん:02/08/03 03:08
ま、あとは分かんないことがあったらここで聞いてみるとか。
ここしばらくネタもないし。

908 :デフォルトの名無しさん:02/08/03 10:57
>904
探したけど、ないなぁ。本探す方が良いかもしれない。

メソッドの呼び出し形式は関数形式とレシーバ形式があるようですが、これは
Integer(3.14) --- 関数形式
Kernel.Integer(3.14) ---レシーバ形式
でよろしいの?

909 :デフォルトの名無しさん:02/08/03 23:22
>>904
http://homepage1.nifty.com/~tetsu/ruby/intro/

910 :putsとprint:02/08/04 12:16
=**=<<=
*=>>=
+=/=&=
-=%=|=
.=x=^=

rubyに上記の演算子を追加させる
モジュールってありますか?

.= がツカーイターイのよ。


911 :デフォルトの名無しさん:02/08/04 12:27
Tabが消されてたので、再度。
=*    *=    <<=
    *=    >>=
+=    /=    &=
-=    %=    |=
.=    x=    ^=


912 :るび厨:02/08/04 13:31
るび基地にモジュールとクラスの違いをきいたけれど答えてくれないよ
ウハーン!

913 :デフォルトの名無しさん:02/08/04 13:32
>>911
色んなものが飛び交うAAですか?

914 :911:02/08/04 16:56
>>913
代入演算子のことだけど、何か?

915 :デフォルトの名無しさん:02/08/04 21:29
>>914
演算子は勝手に増やせないだろ。

916 :通りすがり:02/08/04 21:45
>>915
http://www.google.com/search?hl=ja&ie=Shift_JIS&q=%89%89%8EZ%8Eq%82%CC%83I%81%5B%83o%81%5B%83%8D%81%5B%83h&lr=lang_ja


917 :デフォルトの名無しさん:02/08/04 21:51
>>916
オーバーロードじゃ演算子は増えないだろ

918 :デフォルトの名無しさん:02/08/04 21:52
なんかしんないけどLinuxをインストールしたらRuby処理系が付いてきた。
やる気無くした。

919 :デフォルトの名無しさん:02/08/04 22:18
>>918
気にするな。使わなければないのとおなじ。

それはそれとして、できればそういうネタは撲滅スレでやってくれ、
と一応書いてみる。

920 :デフォルトの名無しさん:02/08/04 22:20
>>918
わざわざこんなところに書くようなことか?
そういえばカッコいいと思っているだけじゃ?
と一応書いてみる。

921 :sage:02/08/04 22:24
日本語のページからインラインスケートを検索しました。 約23,600件中1 - 50件目 ・検索にかかった時間7.74秒
ぐーぐるで7秒もかかったよ、
と一応書いてみる。


922 :デフォルトの名無しさん:02/08/04 23:50
MacOS8.6でRubyは動きませんか…?

923 :デフォルトの名無しさん:02/08/05 03:01
>>922
最新版でなくても良いなら、動くものがあります。

MacRuby
http://www.imasy.or.jp/~hisa/ruby/macruby.html


924 :デフォルトの名無しさん:02/08/05 22:02
>>911
この中で *= <<= >>= += /= &=
-= %= |= ^= あたりは使えるんじゃないかな。
.= は無理。

925 :sage:02/08/06 04:30
英辞郎サイトがUserAgentをcheckし始めたので、
「英辞郎 - コマンドラインから和英/英和単語翻訳
http://bulknews.net/lib/columns/02_eijiro/column.html
にあるコマンドが使えなくなった。UserAgentをつけろという。

元ソースを苦手なperlで弄るより、
rubyで改変したいが、rubyでUserAgentをつけるにはどーすれば
いいのかおしえてくらはい。


926 :名無しさん@xyzzy:02/08/06 06:11
俺も困ってるよ。てか、UA じゃなくてリファラのチェックしてるんじゃ
ないかなあ。HTTP ヘッダに流せば簡単に偽造できるよ。UA も リファラ
も。

927 :デフォルトの名無しさん:02/08/06 06:12
とりあえず手っ取り早くw3mを使って移植してみたけど、
「ユーザ名/パスワードが無効です」っつわれるな。
あとは適当にやってくれ。

#! /usr/bin/ruby
# eijiro.pl - http://www.alc.co.jp/eijiro/

require 'kconv'
require 'net/http'
require 'uri'
require 'readline'
#use HTML::FormatText;
#use HTML::TreeBuilder;

HISTORYFILE = File.expand_path('~/.eijirohistory')
W3M = "w3m"
USER_AGENT = "UserAgent: eijiro.rb"
ACTION = 'http://www.alc.co.jp/eijiro351.php3'

def translate(line)
 # 'je' if non-ASCII char is contained or 'ej'
 type_in = line.index(/[^\x00-\x7f]/) ? 'je' : 'ej'
 word_in = URI.escape(line.tosjis, '\W');
 system("w3m", "-header", USER_AGENT, "#{ACTION}?word_in=#{word_in}&type_in=#{type_in}")
end

# Terminal mode / Argv mode
unless ARGV.empty?
 translate(ARGV.join(' '))
else
 # read history
 history = []
 if File.exist?(HISTORYFILE)
  Readline::HISTORY.push(*File.readlines(HISTORYFILE).uniq)
 end

 # readline & translate
 while line = Readline.readline('eijiro> ')
  break if /^!exit/ =~ line
  translate(line)
  open(HISTORYFILE, "a") {|f| f.puts(line)}
  Readline::HISTORY << line
 end
 line or puts
end


928 :デフォルトの名無しさん:02/08/06 11:24
こんなんでどうよ?


ACTION = 'http://home.alc.co.jp/db/owa/eijiro_red2'

def translate(line)
 # 'je' if non-ASCII char is contained or 'ej'
 type_in = line.index(/[^\x00-\x7f]/) ? 'je' : 'ej'
 word_in = URI.escape(line.tosjis, '\W');
 system("w3m",
    "-header", USER_AGENT,
    "-header", "Referer: http://www.alc.co.jp/sa_menu.html",
    "#{ACTION}?word_in=#{word_in}&type_in=#{type_in}")
end


929 :デフォルトの名無しさん:02/08/06 11:29
某スレより。
------------------
bindkey -s "^xi" '\C-a`\C-e`\C-aforeach i \(\C-e\)'
bindkey -s '^[l' '\eb~/\ef\C-x*'
とかはかなりイイ。
普段は、C-mな俺は、C-jを
bindkey '^j' accept-and-infer-next-history
に、また
bindkey '^[^I' reverse-menu-complete
も直感的でイイ。
また、キーマップ指定で、
bindkey -M menuselect 'キー' command
とできるのもイイ。
-------------------
みんなのbindkey -s を見せ合おう。




930 :929:02/08/06 11:30
マチガイ。
無視してください。

931 :デフォルトの名無しさん:02/08/06 11:35
てか、英辞郎のページって
頻繁にURL変更しない?
ブラウザのGetメッソドで直接
検索させている奴は
一々対応しなければならず、
メンドーイはず。

932 :デフォルトの名無しさん:02/08/06 12:30
>>928
>  word_in = URI.escape(line.tosjis, '\W');

rubyのURI.escapeはperlのURI::Escapeとは違って、unsafeにStringを渡すと
Regexp.quoteするので、/\W/とすべし。


933 :>>92:02/08/06 12:42
>>928

system("w3m","-dump",
"-header", USER_AGENT,
"-header", "Referer: http://www.alc.co.jp/sa_menu.html",
"#{ACTION}?word_in=#{word_in}&type_in=#{type_in}")
end

の方がイイ。
いちいちw3mが起動するのはウザイ。



934 :デフォルトの名無しさん:02/08/06 13:06
つうかおまえら Nifty 使ってる友達のひとりもいないのか?

935 :デフォルトの名無しさん:02/08/06 13:08
http://ssl.ohmsha.co.jp/cgi-bin/menu.cgi?ISBN=4-274-06461-1
の索引って公開されていますか?
http://ssl.ohmsha.co.jp/cgi-bin/menu.cgi?ISBN=4-274-06385-2
の方は公開されているので、もしかしたら公開されていると嬉しい。


http://www.oreilly.com
なんて、ほぼ全ての本について、索引を公開している。
本を紐解く前に、PCで本の内容が確認できるのは嬉しい。
9月にプログラミングPer l第三版 が出版されますが、
上下巻もあるのなら、英語版を買って、索引を検索できるように
したほうが圧倒的に便利だと言える。

独り言でした。

936 :デフォルトの名無しさん:02/08/08 00:44
ruby-talk まで Unicode か。

937 :デフォルトの名無しさん:02/08/08 02:25
>>895

[ruby-talk:45931]もひどいな。

938 :デフォルトの名無しさん:02/08/08 09:58
>>927
これを改造して、Postメソッドを発行できるように
出来ますか?

939 :デフォルトの名無しさん:02/08/08 10:45
できます。


940 :デフォルトの名無しさん:02/08/08 16:55
携帯電話にメールを送る場合に整形してくれるスクリプト(ruby)があったと思うんだけど
名前かURLきぼん。

941 :デフォルトの名無しさん:02/08/08 20:11
>>937
厨房は放置することにしますた。

942 :デフォルトの名無しさん:02/08/08 20:25
>>940
http://www.ruby-lang.org/en/raa-list.rhtml?name=Scarlet

943 :デフォルトの名無しさん:02/08/09 00:17
>>941
今でもいくつかレスが付いてる。

しかし、この厨房、[ruby-talk:46032]とは全く違うなあ。

944 :デフォルトの名無しさん:02/08/09 01:20
>>943
禿同。
[ruby-talk:46376]にも呆れられてしまった模様。

945 :デフォルトの名無しさん:02/08/09 01:24
ところでお前ら、devもlistもマターリしすぎです。
少しはpython-ml-jpの殺伐さを見習ってくだちい。

946 :デフォルトの名無しさん:02/08/09 01:57
>>945
あのようには なりたくないものだ。

947 :デフォルトの名無しさん:02/08/09 18:11
次のスレはどうする?

948 :デフォルトの名無しさん:02/08/09 21:18
Ruby/Gtk でウィザード作りたいのですが、どうやると効率的でしょう?
5枚ウィザードあるなら、5個クラス用意してそれを順に出して……とか
やってるのですが、なんか激しくダメな方法な気が致します。

949 :tiltwait(;´Д`)ハァハァ:02/08/09 22:02
>>948
各viewに対してGtk::Dialogのサブクラスを作ってってことなら、問題はない
のでは。いちいちサブクラスを作るのはRuby的には回りくどい気はするけど。
中心にあるモデルをそれぞれ別のオブジェクトにしてってつもりなら、場合に
よるが、一度設計の見直しを奨める。

> 5枚ウィザードあるなら、
つーか、それぞれのダイアログをウィザード1枚と数えるとは知らなかった。


950 :デフォルトの名無しさん:02/08/09 22:17
>>947
立てるの?
立てるとしたら、以前あったrubyスレとは別にする?

951 :デフォルトの名無しさん:02/08/09 22:44
とりあえずRubyの本スレっぽくしてくれると嬉しい。
一本はまともなRubyスレ欲しいし。

952 :デフォルトの名無しさん:02/08/10 00:18
次スレです。

Rubyについて Part 2
http://pc3.2ch.net/test/read.cgi/tech/1028906179/l50

953 :デフォルトの名無しさん:02/08/10 00:24
速いね。thx

954 :デフォルトの名無しさん:02/08/10 00:36
>>949
MALIKTO!

955 :デフォルトの名無しさん:02/08/10 00:41
タイトルにRubyの付いたスレ。
ム板でないスレの方が良い感じ?

rubyを語るスレッド
http://pc.2ch.net/test/read.cgi/unix/1018967064/l50

【Ruby】RubyでCGI
http://pc.2ch.net/test/read.cgi/php/988948655/l50

goRua(Ruby/Gtkによる2chブラウザ)ってどうよ。
http://pc.2ch.net/test/read.cgi/unix/1008120213/l50


(駄スレ?)

ruby撲滅スレ その2
http://pc3.2ch.net/test/read.cgi/tech/1009193707/l50

Rubyの実装に疑問あり!
http://pc3.2ch.net/test/read.cgi/tech/1004873294/l50

【戦慄】最強対決!!COBOL対Ruby!!【恐怖】
http://pc3.2ch.net/test/read.cgi/tech/1013260213/l50

Ruby v.s. Python
http://pc3.2ch.net/test/read.cgi/tech/980786239/l50

Ruby >>>>>> C++ だろ(ぷ
http://pc3.2ch.net/test/read.cgi/tech/1017201348/l50

shige と作ろう Ruby で CGI
http://pc.2ch.net/test/read.cgi/php/1001292585/l50

他にもあるでしょう。

956 :デフォルトの名無しさん:02/08/10 00:50
>>955
上3つを、新スレに貼りますた。

957 :デフォルトの名無しさん:02/08/11 01:31
>>955
> rubyを語るスレッド
> http://pc.2ch.net/test/read.cgi/unix/1018967064/l50
このスレは非常に閑散としてる。

> 【Ruby】RubyでCGI
> http://pc.2ch.net/test/read.cgi/php/988948655/l50
>
> goRua(Ruby/Gtkによる2chブラウザ)ってどうよ。
> http://pc.2ch.net/test/read.cgi/unix/1008120213/l50
ちょっと目的が違うからなぁ。

> ruby撲滅スレ その2
> http://pc3.2ch.net/test/read.cgi/tech/1009193707/l50
その1の途中あたりは結構いい感じになってたんだが、今のはただの個人叩きだけ。

> Rubyの実装に疑問あり!
> http://pc3.2ch.net/test/read.cgi/tech/1004873294/l50
これもネタ切れっぽい。

あとはカス。

958 :デフォルトの名無しさん:02/08/11 17:10
Arrayクラスのfilterメソッドって今はないのですか?
実行すると何か
warning: Array#filter is deprecated; use Array#collect!
と叱られるんですけど.....


959 :デフォルトの名無しさん:02/08/11 17:36
>>958
1.7 では存在しなくなった。
http://www.ruby-lang.org/ja/man-1.6/?cmd=view;name=obsolete

960 :スレ誘導:02/08/11 18:50
次スレ
Rubyについて Part 2
http://pc3.2ch.net/test/read.cgi/tech/1028906179/l50

961 :デフォルトの名無しさん:02/09/20 01:02
こっそりうめたて

962 :デフォルトの名無しさん:02/10/19 03:01
忘れた頃に埋め立て

963 :デフォルトの名無しさん:02/10/19 03:05
梅殺陣

964 :デフォルトの名無しさん:02/11/02 03:07
1000!

965 :デフォルトの名無しさん:02/11/02 03:09
あと34レスでこのスレは自爆します

966 :rubyist@カラアゲうまうま:02/11/10 15:01
いおえじょい

967 :デフォルトの名無しさん:02/11/24 23:47
てすてす
http://www.hyuki.com/dp/cat_index.html#GoF
http://kitaj.no-ip.com/tDiary-FAQ/rw-cgi.rb?cmd=view;name=tDiary-FAQ#foottext:1

968 :デフォルトの名無しさん:02/11/29 03:36
Rubyがクソだと思う理由。
1)遅い。Perlにはもちろん、Pythonと比べても遅い。
2)Windows向けバイナリ配布にデファクトスタンダードがない。
3)ソースからモジュールをコンパイルするとの方法が統一されていない。
4)CPANを後から追っているのに、RAAは全然使い勝手が悪い。
5)ドキュメンテーションが不十分(RDによるドキュメンテーションはPerlに
おけるPODよりも全然なってないし、RDが完全に普及しているわけでもない...
RDがRubyの言語仕様に含まれていないためと思われる)。


969 :rubyist@カラアゲうまうま:02/11/29 03:39
>>968
わざわざRubyスレを探して、他スレのコピペを張るとはお前も必死だなw
後半「Rubyの良い点」を削除するなよ。

970 :デフォルトの名無しさん:02/11/29 03:42
釣られんな

971 :デフォルトの名無しさん:02/11/29 03:44
メジャーな処理系が3つ以上ない言語は、言語と呼ぶに値しない。
PerlもPythonもRubyもクソってこと。

972 :デフォルトの名無しさん:02/11/29 03:46
Delphiもクソでつか

973 :デフォルトの名無しさん:02/11/29 03:49
当然。DelphiもVBもC#もクソ。

974 :デフォルトの名無しさん:02/11/29 04:07
コワイ
http://us.news2.yimg.com/us.yimg.com/p/nm/20021113/mdf148570.jpg

975 :デフォルトの名無しさん:02/11/29 04:46
>>971
その理論だと LISP が一番素晴らしい言語ってことになるな。

976 :デフォルトの名無しさん:02/11/29 05:28
(´-`).。oO(すばらしいかどうかはまた別問題だろ

977 :デフォルトの名無しさん:02/12/01 03:58
>>975
今はCの方が処理系多いんじゃ?

978 :デフォルトの名無しさん:02/12/01 19:25
>>977
「今は」の根拠がわからんが、
Cはそんなに多くないよ。

979 :デフォルトの名無しさん:02/12/02 04:41
>>978
だって、Lispの処理系なんて今はほとんど皆無ジャン。

980 :名無しさん@xyzzy:02/12/02 06:53
>>979
emacsenだってlisp処理系だぞ。少なくともjavaよりは多いはず。

981 :デフォルトの名無しさん:02/12/02 12:32
>>980
それで1つ。あとは?

982 :デフォルトの名無しさん:02/12/02 13:53
http://www.google.co.jp/

983 :デフォルトの名無しさん:02/12/02 14:25
ちょっと検索してみた
->LISP
Allegro CL
Auto-Lisp
CAL
CLiCC
CLISP
CMU Common Lisp (CMUCL)
Corman Lisp
Digitool's Macintosh Common Lisp
ECo Lisp
Emacs-Lisp
GNU Common Lisp (GCL)
Goodies for VisualWorks Lisp Interpreter
Harlequin FreeLisp
LispWorks
OpenLisp
OpenMCL
Opus
PowerLisp
PureLISP at T3X Project
S-Lisp
Wade's Common Lisp (WCL)
XLISP-PLUS
XLisp-Stat


984 :デフォルトの名無しさん:02/12/02 14:25
AM scheme
3DScheme & 3DScheme Pro
Bigloo
Chez Scheme
CHICKEN
DrScheme
EdScheme
Elk
Esh
Galapagos
Gambit
Guile
Inlab Scheme
Kali Scheme
Kawa Scheme
KSM-Scheme
Larceny
LispMe
MIT Scheme
mini scheme
Open Scheme
PC Scheme
Petite Chez Scheme
Pocket Scheme
Pseudoscheme
QScheme
RScheme
Scheme 48



985 :デフォルトの名無しさん:02/12/02 14:26
Scheme->C
SCM
Scsh
SECDR scheme
SIOD: Scheme in One {Defun, Day}
Sizzle
Stalin
STk
SXM
T 3.1
The Ksi Scheme Interpreter
TinyScheme
VSCM
WinScheme


986 :デフォルトの名無しさん:02/12/02 14:30
HotScheme
PS3I
Silk
SISC
Skij
Scheme Applet

987 :デフォルトの名無しさん:02/12/02 14:32
禿しくどうでもいい上にスレ違いの話題にマジレス・・・

>>971 (元レス)より
「メジャーな処理系が3つ以上ない言語は、言語と呼ぶに値しない」

メジャーな・・・


988 :デフォルトの名無しさん:02/12/02 14:35
CLOE (Symbolics)
Eclipse (Elwood)
LispWorks (Xanalys)
Golden CL (Gold Hill)
LinkLisp (Conscious Computing)
muLISP-90 (Soft Warehouse)
NanoLISP (Microcomputer Systems Consultants)
Star Sapphire CL (Sapiens Software)
Commercial Macintosh Lisp Implementations
MCL (Digitool)
PowerLisp (Roger Corman)
Commercial UNIX Lisp Implementations
AKCL (Austin Code Works)
Ibuki CL aka IBCL (Ibuki)
Liquid (formerly Lucid) (Xanalys)
Medley formerly Xerox Interlisp (Venue)
Poplog (Poplog)
Butterfly (BBN)
Genera Lisp machines (Symbolics)
Explorer Lisp machines (Texas Instruments)
L embedded systems (IS Robotics)
ECoLisp (Giuseppe Attardi)
LILY (Roger Sheldon)
RefLisp (Bill Birch)
SBCL (W. Newman)
jlisp (Jeff Weisberg)
ALSP Embedded in ADA (Software Architecture and Engineering)
AWK Lisp Embedded in AWK (Roger Corman)
StarSim Embedded in CL (Thinking Machines)

989 :デフォルトの名無しさん:02/12/02 15:27
1000取り合戦開始

990 :デフォルトの名無しさん:02/12/02 15:28
990

991 :デフォルトの名無しさん:02/12/02 15:28
991

992 :デフォルトの名無しさん:02/12/02 15:28
992

993 :デフォルトの名無しさん:02/12/02 15:28
993

994 :デフォルトの名無しさん:02/12/02 15:29
994

995 :デフォルトの名無しさん:02/12/02 15:29
995

996 :デフォルトの名無しさん:02/12/02 15:29
996

997 :デフォルトの名無しさん:02/12/02 15:29
997

998 :デフォルトの名無しさん:02/12/02 15:32
3

999 :デフォルトの名無しさん:02/12/02 15:32
999

1000 :デフォルトの名無しさん:02/12/02 15:33
the end

1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

251 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)