オブジェクト指向スクリプト言語Ruby part2

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
2デフォルトの名無しさん:2001/04/14(土) 16:49
mod_ruby の Win 版作ってくれたら好きになるかモナー。
3デフォルトの名無しさん:2001/04/14(土) 17:58
NHKで紹介されてたよ。
4デフォルトの名無しさん:2001/04/14(土) 18:03
見逃してしまった・・・
5デフォルトの名無しさん:2001/04/14(土) 18:13
Ruby for Delphi(VC,VB,Java)かActiveX Ruby作ってくれたら
2chの全板にRubyマンセースレ建ててもイイ!
6デフォルトの名無しさん:2001/04/14(土) 18:53
7デフォルトの名無しさん:2001/04/14(土) 18:54
3 じゃなくて >>5 だった。
8デフォルトの名無しさん:2001/04/14(土) 20:38
>7
激しく感謝。
Windowsにごっつ冷たい、ゆーて聞ーててんけど、サポートしてるがな
あるやん、できるやん、全板にRubyマンセースレ建てなかんやん(藁
9しんでくださ>1:2001/04/14(土) 23:53
       /⌒彡
 ゴォー   / 冫、)
 ー   /  ` /
 ー   /  /
 ー  @─@
10デフォルトの名無しさん:2001/04/15(日) 16:52
Windowsにごっつ冷たいのは事実だぞ。
前スレ読めばわかるが。
11デフォルトの名無しさん:2001/04/15(日) 17:36
でもOpenSourceだから
「作者が」冷たくても他の人がなんとかしたりするし。
#そういう意味では「サポート」とはちょと違うかな。

まぁ、それが良いことだとも言えるし、
逆に作者の冷たさが際立つとも言うし(笑)。

ま、作者に遠慮なんかせずに使ったり中身いじったり
すりゃ良いわけで。

#こういう場合の遠慮度はやっぱり日本人は強いんだろうな…
12デフォルトの名無しさん:2001/04/15(日) 17:55
なんか前スレと同じ展開になりそうだな
13デフォルトの名無しさん:2001/04/15(日) 17:55
遠慮とかじゃなくて、使おうと思っても使えないんだろ。
14デフォルトの名無しさん:2001/04/15(日) 19:21
2chが、いじる気もないし本気で動く気もないし気長に待つ気もない人の
はけ口になるのは妥当な所とは言え、確かに進歩がないねえ。

質問スレの方が結果をまとめてフィードバックしやすくていいかもね。
15デフォルトの名無しさん:2001/04/15(日) 20:54
2chの意見を聞く気が無いから進歩が無いように見えるだけでしょ。
ここほど本音が聞ける場所はないよ。
16デフォルトの名無しさん:2001/04/16(月) 00:09
つーか「もう1つの本音」が出るよね2chは。
ノイズの海と呼ばれていても、一方で
ある一定濃度(笑)の真理は存在するみたいだ。
そういう意見が非生産的かどうかは、
場合によっては書き手じゃなくて読み手の解釈次第で
色々変化したりもする…
17デフォルトの名無しさん:2001/04/16(月) 00:11
>>16
なにがいいてーんだ、てめーわ(笑
18デフォルトの名無しさん:2001/04/16(月) 00:37
>>15
それはそうかもしれない。俺が危惧したのは、既出の不満の繰り返しで場が
不毛になっていき、それが形となってフィードバックされることなく無視
されていくことなんだ。誰しも、問題は解決したい。不満は解消したい。
でも、誰かがやってくれるまで無為に待っていたんじゃしょうがない。

皮肉なことだけど、ここ(2ch)に書かれた素晴らしい問題提起よりも、MLなどに
投稿されるたわいのない要望や質問の方が、ずっと早く結果が返ってくる。

現実を動かすには、まず不満を消化して実行しやすい形に変える必要がある。
そして、やる人のモチベーションを揺り動かす必要がある。それには、具体的に
小さいことからフィードバックして行くのがいちばんだということを前に言った。
コツコツというよりは、チクチクという感じでやるのがいい。

「もうたくさんだ」と思わせるくらいになれば大成功だ。次からは、作者自らが
文句の来ないように気を回すようになってくれるかもしれない。あるいは、
質の高いフィードバックを繰り返したと判断されたときは、権限を与えて自由に
いじれるようにしてくれるだろう。

一般的な言い方で「作者のみなさん、もっとドキュメントを充実させてください」
などと言うのも、決して悪いことじゃない。でも、人というのは身勝手なもので、
「とりあえず今回は」「俺はドキュメント苦手だから」「サンプルをつけたから」
「本書いたから」で済ませてしまうものだ。でも、「ここをこうしてくれ」なら
対応しやすい。

もし、すでにやっているけどあまり反応がないということなら、上の御託は
気にしないでくれ。そういう場合は、みんなで事例を集めてどうすればいいか
考えよう。

不満は発散することも生理的には大事だけど、できれば解消していきたいよね。
19>18:2001/04/16(月) 00:40
なげーよ。2、3行にまとめてこい
20デフォルトの名無しさん:2001/04/16(月) 00:43
すまん、改行がひとつ余計で省略された。
見えてないのは改行だけなので、上の「ここ」を押す必要はありません。
21デフォルトの名無しさん:2001/04/16(月) 00:45
>>19
すげー頻度でここチェックしてるんだな。それともタイミングがいいだけ?(笑)
22デフォルトの名無しさん:2001/04/16(月) 00:54
>>19
二三行で書くと、煽り口調になると思う
23デフォルトの名無しさん:2001/04/16(月) 01:09
解消されない限り同じ批判が繰り返される。
それが2ちゃん。(藁
24デフォルトの名無しさん:2001/04/16(月) 01:25
そうだなあ。危惧など無用。良くも悪くも、覚悟も度胸もいらないのが2ちゃん。

でも、Rubyに関わる人ならみんな漠然と思っている範囲の不満しか出てないのがあれだなあ。
25デフォルトの名無しさん:2001/04/16(月) 01:26
やる人のモナベーションを揺り動かす必要がある。
26デフォルトの名無しさん:2001/04/16(月) 01:32
前スレしか見てなくてココに気付かなかった。鬱。

今Apollo使っているよ。でもC++Builderしかもっていないから
足りないコンポーネントの追加が出来ない。
Delphiも入れるか。
27デフォルトの名無しさん:2001/04/16(月) 14:27
>>25 (・∀・)マターリイイ!
28デフォルトの名無しさん:2001/04/18(水) 09:16
>>719
>C#やVB.NETのラインタイムを移植することで得られるし、
ウソくさいぞ。
2928:2001/04/18(水) 09:20
あぅ(;_;)誤爆。
30デフォルトの名無しさん:2001/04/18(水) 17:51
Object Day 2001で、松本さん話すらしいな。

http://www.ogis-ri.co.jp/otc/objday2001/
31デフォルトの名無しさん:2001/04/19(木) 20:20
そういう技術系イベントって退屈そうで一度も行ったことないんだけど、
Rubyのおじさんの話だけは聞いてみたいなぁ。というか会社休んで絶対行く。
32デフォルトの名無しさん:2001/04/22(日) 16:38
eRuby を Win 2K + Apache で使おうと思ったら、

"ruby: cannot open temporary file: /tmp/d:\home\htdocs\public_html\test.rhtml"

とか出やがる。
訳分からんから、取り敢えず氏ね!
33デフォルトの名無しさん:2001/04/22(日) 16:45
>>32
うむ、Windows系OSで、サクッと使えないことがある、
というのがびみょーにストレスたまるんだよね。

だから、俺はWindowsでは使わない。
UNIXではバリバリ使ってるけど。
34デフォルトの名無しさん:2001/04/22(日) 16:56
>>32
PHP か JSP でマターリ行きませう!
35デフォルトの名無しさん:2001/04/22(日) 18:53
>>32
なんで作者とかMLとかに書かないかな。
って今から書いたらカミングアウトになるか(w。

でもディレクトリ名関係の不具合はよく起きるね。
パスの区切り文字が \ ってことはmswin32版?
cygwin版を使うと案外すんなり動いたりして。
もしくはERbを使うとか。
36デフォルトの名無しさん:2001/04/22(日) 20:17
>>35
32じゃないけど。
あのMLってさ、OS依存の話題すげー出しにくいじゃん。
俺も前Windowsで〜が〜出来ませんみたいな
質問したことあるけど、勇気いったよ。
37デフォルトの名無しさん:2001/04/22(日) 23:30
35です。
>>36
確かにそれはそうかもしれないと僕も思う。

それでも言わないより言った方が良いと思わない?
とりあえずココでグチを言うよりはマシでしょ。
どのみちトンチンカンな内容だったら無視されるだけだろうし(w。
38デフォルトの名無しさん:2001/04/23(月) 04:17
MLだと、匿名って分けにもいかんしな。
39>>32:2001/04/23(月) 04:47
[ruby-list:29334]と同じ話?最新のだと直ってるかもしれない。
40>>36:2001/04/23(月) 05:24
そお? OS依存の話も結構多いと思うけど。
マルチプラットフォームといっても結局プラットフォームがなきゃいけないのは
当然だし、Windowsも対象の一つなんだから別に気にする理由はないと思う。
41デフォルトの名無しさん:2001/04/23(月) 21:14
-dev は Win32 依存の話ばっか
42デフォルトの名無しさん:2001/04/24(火) 17:13
Ruby で変数宣言をしたいと考える私はヴァカでしょうか?
「したいときにしてしたくないときにはしなくていい」のが理想だと思うのですが。
なんか実現する方法ないもんでしょうかねえ?

String str = "This is a string."
puts str # => This is a string.
str = "This is another string."
puts str # => This is another string.
str = 65535 # => 例外発生

みたいな。
43デフォルトの名無しさん:2001/04/24(火) 18:22
>>38
偽名でいいじゃん。
44デフォルトの名無しさん:2001/04/24(火) 18:49
>>43
でも、HOSTだの何だのの情報が漏れるのが嫌なんでしょう。
45デフォルトの名無しさん:2001/04/24(火) 19:35
>>42
大文字ではじめて定数にすればいいんじゃないかな。
定数でも、中身は変更できるし。(String の場合は freeze() しない限り replace() 等が可能)
Numeric だと immutable だから変えられないけどね。

ちなみに、メソッドの signature をプロトタイプ宣言できるようにする拡張を
誰かがやってみたという話がこないだ ML に出ていたから、それを調べてみるといいかも。
46デフォルトの名無しさん:2001/04/24(火) 20:06
>>42
現在の言語仕様ではできません。
変数はあくまでオブジェクトについた名前でしかなくて、型はないから。
47デフォルトの名無しさん:2001/04/24(火) 20:30
>>42
あるクラスのプロパティに対して、それを外から変更しようとすると
必ずタイプチェックを行うようにする、とかいうならできそう。

class Hoge
 attr_reader :x
 def x=(x2)
  raise TypeError if x2.type != String
  @x=x2
 end
end

h = Hoge.new()
h.x = "hogehoge" ## 問題なし
h.x = 12 ## エラー

あおきさんのamstdに入ってるmust.rbを使うともっとスマートにできる。
>>44
Guyはコードを公開してないのでは。
48デフォルトの名無しさん:2001/04/24(火) 20:52
>>44
フリーのメールアドレスを偽名でとってそれを使う。
違法だろうけど…。

まっ、スーパーハカーには無意味かも知れないけどね(プッ
49デフォルトの名無しさん:2001/04/24(火) 23:02
>>45
replace を使いすぎると副作用からヤなバグを生みそうだけど。
50デフォルトの名無しさん:2001/04/25(水) 04:42
>> 42
Ruby にも宣言はある。最初の代入が変数宣言だ。型はないけどな。

しかしそんなに型宣言したいかなあ。型の宣言ってのはコンパイラが
楽をするためにあるんで、プログラマの役には立たないよ。用途を
はっきりさせたいなら名前を適切に決めるほうがいい。
5142:2001/04/28(土) 21:54
みなさんレスありがとうございました。
やはり、既に仕様の完璧に固まった部分のソースコードに型宣言が
適用できれば、下らないミスを防げていいかな、と思ったのですが。
それと、もしそういうことができたらひょっとしてRubyコンパイラなんかも
作れるのかなあ、なんて(素人考えですみません)。
やはりこういうことをするには変数のオブジェクト化が必須なんでしょうかね。
個人的には、クラスやモジュールなどのより抽象的なオブジェクトがあるのに
変数がオブジェクトではないのはなんだか不思議な気がします。
52デフォルトの名無しさん:2001/04/29(日) 00:57
>>51
型宣言があるとC++とかみたいにキャスト時に気を使ったり
するようになってしまうのだろうか…。ちょっとイヤ。

変数をオブジェクト化するという考え方がよくわかりませんが、
もし本当にそうなるとすると、変数の中の変数の中の
変数の中の…(中略)…変数の中の変数の中身は空、
なんてことも作り出せるわけですね。しかもこの場合
変数の型は変数自身というややこしい話になる。意味なし。

それはともかく、文法ではなくて、attr_*みたいに自動的に
メソッドを作って、その入り口で型をチェックする、というものなら
現実的でしょう。実用的ではないけど、目的は果たせると思います。

attr_型付accessor({:foo => String})
とかすると
def foo
@foo
end
def foo=(value)
if value.instance_of?(String)
raise(TypeError)
end
@foo = value
end
みたいなコードになるような感じ?(なんか違う気もする…)
53デフォルトの名無しさん:2001/04/29(日) 11:25
C言語タイプ中心の人には「変数 = オブジェクトの入れ物」という考えが
しみついていると思われ。

Rubyでは「変数 = オブジェクトの名前」と理解すべきだ。「変数」を
「名前」に置き換えて考えた方が多少理解しやすくなる。

Rubyで「変数」と呼んでいるものに「変数」という用語が割り当てられて
しまっているのが間違いのもと。
54デフォルトの名無しさん:2001/04/30(月) 00:26
>>52
amstd ってライブラリに入ってる property がそれっぽいですよ。

property :name, String, true, true

みたいな。(amstd は RAA にあるみたい)
55デフォルトの名無しさん:2001/04/30(月) 00:42
>>51
マシンコードが生成できればいいなら別に型宣言は関係ない
すよ。実際、いまでも JIT コンパイラはあるし。
ただしまだ 1.5 向けだと思ふ。ついでにあまり速くならない。
56かい:2001/04/30(月) 01:00
Rubyって言語おたく(matz(マッツ??・まつもとゆきひろ)さん自身が自分のことをそういうが)
の実験台(言語仕様を拡張するようなたぐいの)という要素が強くなってきているかもしれない。
(Delegatorモジュールとかって、言語の一部としたほうがすっきりするように思う。)

それだったらSmalltalk(Squeak)でいいのに、とか思ってしまう今日この頃…。
57かい:2001/04/30(月) 01:04
>>55
Rubyのインタプリタのソースを見る限り、
メソッドルックアップの仕組みが全くチューンナップされてないのが不思議でしょうがない。
自分のクラスに無かったらスーパークラスを探すという仕組み。一番原始的で一番遅い。
58デフォルトの名無しさん:2001/04/30(月) 01:21
>>57
後からスーパークラスにメソッドを追加するということもできるから、
継承した時点ですべてのメソッドを決定することはできない。
それとメソッドキャッシュがあるから、シークエンシャルに探すのは一回だけ。
59デフォルトの名無しさん:2001/04/30(月) 01:27
>>56
もともとそうだと思うけど。

> (Delegatorモジュールとかって、言語の一部としたほうがすっきりするように思う。)
専用の構文を用意するということ? モジュールでも充分だと思うけどなぁ。
60>56:2001/04/30(月) 01:50
関係無いけどあんたの文は括弧だらけで読みにくい。lisperか?
61かい:2001/04/30(月) 01:56
>>58
なるほど。
じゃあ実質的にほぼ静的キャッシングなんですね。
浅はかというか、早とちりでした。

>>59
べつにRubyがきらいとか、ダメとか言っているわけでは決してありません。
そこが良いところだと思うので。

#Java-HouseメンバーとRubyハッカーはかぶっているかと
62デフォルトの名無しさん:2001/04/30(月) 02:22
>>61 # ちなみに[ruby-list:29452]の人?
>#Java-HouseメンバーとRubyハッカーはかぶっているかと
Java-House読んでないんで分かんないんだけど、そう?
63デフォルトの名無しさん:2001/04/30(月) 08:40
Java嫌い。
64デフォルトの名無しさん:2001/05/03(木) 23:32
Perlにくじけた人、こっちにおいでよage
65デフォルトの名無しさん:2001/05/04(金) 00:12
Perlわからない奴がRubyわかるとは思えな
66デフォルトの名無しさん:2001/05/04(金) 00:16
ふつーpython
67デフォルトの名無しさん:2001/05/04(金) 00:17
schemer
68LISP Schemeスレの1:2001/05/04(金) 00:30
なにか書込んで〜>67
69デフォルトの名無しさん:2001/05/05(土) 16:43
「Rubyのある生活」ってどんな生活なのか予測してみよう。
まずはRubyで起床
70デフォルトの名無しさん:2001/05/05(土) 17:00
>69
Rubyで起床って、どういうのよ?(藁
71デフォルトの名無しさん:2001/05/05(土) 19:16
>>57
On [ruby-list:27092] 今日の一言(2001-01-12)
> メソッドルックアップは遅くないよ、木山くん。
> どうせやるならボトルネックで頑張らないと。
だそうです。
72デフォルトの名無しさん:2001/05/05(土) 19:20
RWiki 版 ML Topics に 2ch へのリンクが!
73デフォルトの名無しさん:2001/05/05(土) 21:16
[ruby-list:29517]にものすごい間違いを発見。
1. まえがき
2. 道案内
3. 設計
4. 横田わる問題

横田さん、グレたんでしょうか(wara
74デフォルトの名無しさん:2001/05/06(日) 10:43
WEBプログラミング板のRubyスレッドです。

【Ruby】RubyでCGI
http://corn.2ch.net/test/read.cgi?bbs=php&key=988948655
75デフォルトの名無しさん:2001/05/08(火) 13:05
ちょっとスレ違いな気もするけど、適切なのが見つからなかったので
ここで。

RDindexっての使って、エディタからリファレンス見れるようにしようと
思ったんだけど、なぜかOptionParserのメソッドしかインデックスされ
ないんです。どうしたもんでしょう?
Kondaraのパッケージでruby入れてます。
76デフォルトの名無しさん:2001/05/09(水) 01:44
html parserってありましたっけ?
raccを自分で拡張しないとだめなの?
77デフォルトの名無しさん:2001/05/09(水) 01:51
「ruby html parser」で検索してね。>76
78デフォルトの名無しさん:2001/05/09(水) 18:20
>>76
* Python由来(だったっけ?)の html-parser
ftp.netlab.co.jp の contrib
* Moonwolfさん の htmlsplit
www.moonwolf.com/ruby/
* うえのさんのxmlscanについてくる htmlscan
……どこだっけ。MLのログにあるはず。

てなところですか。単なるタグパーザなら他にもいろいろある。
そういえばみんなRAAには登録してないのか。

RDindexってまだ使ったことないなあ。RDは山ほど書いてるんだけど。
79デフォルトの名無しさん:2001/05/10(木) 02:28
Ruby なんてエロサイト運営用言語だろ?
matz の会社はエロサイト運営請け負いで食ってるし。
80デフォルトの名無しさん:2001/05/11(金) 05:24
エロサイトの開発運営業務が他の商用サイトと比べて特に違うということはないよね。マジレスsage。

早く 1.6.4 出ないかな。
81デフォルトの名無しさん:2001/05/11(金) 20:07
RubyUnitいい感じage
82>80:2001/05/11(金) 22:36
ごーるでんゐーくに出なかったから〜♪
夏休みかならららら〜〜♪
8379:2001/05/12(土) 08:37
>>80
でもさ、「エロサイト運営用言語」だったらカタい仕事に使えないじゃん。
84デフォルトの名無しさん:2001/05/12(土) 18:23
>>83
実際にどこで使われているの?
85デフォルトの名無しさん:2001/05/12(土) 18:35
>>84
「yendot.com って Ruby で実装されてるの?」というのが
YARPC (Yet Another Ruby/Perl Conference) のメニューに
のってた。
86デフォルトの名無しさん:2001/05/12(土) 18:42
>>85
ああ、ごめん。>>83の「エロサイト」はどこなの?って質問だったんだけど。

それはともかく、あそこはずっとPythonだと思ってました。
ソース公開されてるのかな。見たいな。
87デフォルトの名無しさん:2001/05/12(土) 18:43
ちなみに http://yendot.org/ ね。
88デフォルトの名無しさん:2001/05/12(土) 19:57
yendotはたまにエラーメッセージが出るから、それでRubyだと分かるよ。
それよりも、アクセスするたびに動的生成してるのが気になる。
アクセス数多そうなのに。大丈夫かな。
89デフォルトの名無しさん:2001/05/13(日) 01:15
>>83
もうその手の話のはさんざん出たけど、Perlの作者がアニメオタクだろうが、
Pythonの作者が頭おかしかろうが、fetchmailの作者が詭弁師だろうが、
そんなのに関係なく使われるというのが現実の世界。

別に「俺は使わん」というのは立派な話で誰も止めないけど。
90デフォルトの名無しさん:2001/05/14(月) 02:40
マターリいこう
91デフォルトの名無しさん:2001/05/17(木) 01:36
@lines = `cat foo.rb`
の様にコマンド起動、標準出力を
格納ってどうやるんですか?
$systemもなさそうだし...
92デフォルトの名無しさん:2001/05/17(木) 03:07
>>91
~$ cat itteyoshi.txt
omaemona.
~$ ruby -e 'p `cat itteyoshi.txt`'
"omaemona.\n"

って感じだから、`〜`の戻り値は出力結果だよ。
コマンド自体の戻り値は$?とかじゃないかな。

~$ ruby -e '`cat itteyoshi.txt`;p $?'
0
~$ ruby -e '`cat itteyosh.txt`;p $?'
cat: itteyosh.txt: No such file or directory
256

こんな感じ。
93デフォルトの名無しさん:2001/05/17(木) 03:15
>>92
なんか激しく勘違いしてたらゴメンね。
ちなみに結果は文字列で返ってくるから、行単位に分けるなら
splitとかを使えば良いです。

~$ ruby -e 'p `cat itteyoshi.txt`'
"omaemona.\nomaemona.\nomaemona.\n"
~$ ruby -e 'a = `cat itteyoshi.txt`;b = a.split(/\n/);p b'
["omaemona.", "omaemona.", "omaemona."]

一瞬「あれ?split!ってないの?」って思ってしまってちょっと鬱。
94デフォルトの名無しさん:2001/05/17(木) 03:30
実は、 String#split を使わなくても

a = `cat itteyoshi.txt`.to_a

でできてしまいます。String#each が行単位で取り出すイテレータで、 String は include Enumerable だから。
Enumerable のメソッドを活用すると以下のような感じ。

# itteyoshi の入ってる行全部
a = `cat itteyoshi.txt`.grep(/itteyoshi/)

# 空行とコメント行以外全部
a = `cat itteyoshi.txt`.reject {|line| line =~ /^ *$/ || line =~ /^ *#/}

# 行番号を付けて表示
`cat itteyoshi.txt`.each_with_index {|line,i| print "#{i+1}: " + line }
95デフォルトの名無しさん:2001/05/17(木) 03:36
あ、 split(/\n/) だと改行は除かれるから、ちょっと挙動が違うね。

# 各行の改行を除いて配列化
a = `cat itteyoshi.txt`.collect {|line| line.chomp}

でも、これなら split の方が速いかも。まあ、場合によって使い分けてください。
9692=93:2001/05/17(木) 03:44
>>94-95
フォローありがとうです。
97デフォルトの名無しさん:2001/05/17(木) 08:53
便乗質問
ruby 1.6.3 (2001-03-19) [i386-cygwin]で
a = `dir`.to_a
ってやるとcommand not found: dirってエラーが出て
a = `cmd.exe /c dir /b`.to_a
ってやるとうまくいくんだけど。前者の方法では呼べないの?
98:2001/05/17(木) 11:37
dosはあんまりしらないけど、dirってcmd.exeの内部コマンド
なんじゃないの?
素直にDirクラスを使うのじゃダメなの?
99デフォルトの名無しさん:2001/05/17(木) 12:15
>>98
単にバッチファイルやperlでは外部・内部の区別なく`dir`できてたんで
rubyでもやりたいなってだけなんだけどね。
100名無しさん@Emacs:2001/05/17(木) 13:16
>> 99
どの環境でも cmd.exe /c をつければ内部外部の区別無く使える
101デフォルトの名無しさん:2001/05/17(木) 17:55
>>100
Win9x,Meではcommand.comになるので
なるべくソースには書きたくない。
環境変数いちいち見るのも面倒だし。
やっぱ処理系に埋め込んで欲しいな~
102デフォルトの名無しさん:2001/05/17(木) 20:13
>>101
win32/win32.cに内部コマンド判別関数があるよ。ということは
mswin32版なら判別してくれそう?mswin32版は使ったことが無いので
わかりません。フォロー求む。

ところで>>97はcygwin版をDOS窓で使っている、と考えて良いんですよね?
bash上ではなくて。
10397:2001/05/18(金) 00:02
# command.com, cmd.exeでコマンドを実行
def cmd(arg)
`#{ENV["COMSPEC"].gsub(/\\/, "/")} /c #{arg}`
end

print cmd "dir" # <- こっちはうまくいく
# p cmd "dir" # <- ゴミが出る???

とりあえずできたが挙動がおかしい。よくわかんね〜。

>ところで>>97はcygwin版をDOS窓で使っている、と考えて良いんですよね?
です。
104デフォルトの名無しさん:2001/05/19(土) 00:20
cygwinはWindowsじゃないからdirなんてコマンドはなくて当然なのでは。

>>102
ちょっと前にruby-devでそんな話があったような気がしなくもない。
10592=93=102:2001/05/19(土) 00:21
>>103
p cmd("dir") で \203 とかが出るのは正しい動作。それとも
もっとでたらめな文字が出てる?

a = cmd "dir"
print a
p a

で違いを見てみるとわかると思うよ。
106デフォルトの名無しさん:2001/05/19(土) 15:06
コンパイラから生成したオブジェクトファイルを
Rubyで強引に読むことは出来ますか?
require "hoge.o"
みたいな感じで。
107デフォルトの名無しさん:2001/05/19(土) 15:19
>>106
読んで、それで「なにを」したいの?
目的はナニ?
rubyを暴走させたいという目的ならば(w)「出来る」かもだけど。

rubyにさせたいことをrubyに判るフォーマットで与える、
というもんだろ。それ以外の任意のファイルを読ませても
どーにもならんのは自明だろうに。

あるいは.oファイルを理解する能力をrubyに与えるか、だな。
でも、そこまでする理由は普通無いな。
.so作れよ。おわり。

rubyに読ませるってことはhogehoge_init()とかまでを
既にC(?)のソースには書いてあるんだろうけど、
#そうでないなら厨房
だったらあと一歩、.so(.slかどうかはさておき)を
作るところまでを勉強すれば、済むことじゃないのか?
ついでに言えばextconf.rbがほぼ全部の手間を肩代わり
してくれるので勉強すら要らないがな。

それともrubyと関係ないスタイルで書かれたCを
makeして.oが得られた、という状態なのか?
ならばもう1つCソース書いてhogehoge_init()を作って
hoge.oのお望みの機能をラップしろよ。
#どの機能をラップしたいのかを自分で判断できない厨房は論外
そうすりゃ後はextconfの助けを借りて.so作れるだろうから。

他を知ってるわけじゃない厨房なんで的外れかもだが、
rubyで.soを書くのは本当に楽だぜ。
まぁせいぜいREADME.ext.ja(だっけか)読め。
108:2001/05/19(土) 15:21
>>101
まさにそのためにDirクラスが存在するのだと思いますが。
systemで外部コマンドを使って、なおかつ移植性まで求める
のはどうかと思いますが。
109デフォルトの名無しさん:2001/05/19(土) 16:02
くだらない質問なんですが
> ruby hoge.rb
とすれば動くのに
> ./hoge.rb
ではそのようなファイルやディレクトリはありませんと出ます。
何が原因なんでしょうか?
chmod755して先頭に#!/usr/bin/rubyは書いてあります
110デフォルトの名無しさん:2001/05/19(土) 16:11
>>109
何かメッセージが出ない? それとも無言で終了する?
111デフォルトの名無しさん:2001/05/19(土) 16:15
>>108
今回たまたまdirを例に出しただけなのでは。
112デフォルトの名無しさん:2001/05/19(土) 16:24
>>109
#!/usr/bin/env ruby
113デフォルトの名無しさん:2001/05/19(土) 21:02
>>109
ファイルで使ってる文字コード(というか改行コード)を確認セヨ
114109:2001/05/20(日) 08:11
>>110
「ファイルやディレクトリはありません」と出ます。Vineなので(笑)

>>113
ビンゴでした。
CRLFだと動かないんですね。もうちっと融通きくかと思ってました。
115デフォルトの名無しさん:2001/05/21(月) 13:02
>>114
Rubyに限らず、改行コードがCR+LFだとシェルスクリプトやらPerlでも
同じような現象がおきません? 私はよく間違えてアセります。
116デフォルトの名無しさん:2001/05/21(月) 15:17
>>114
./hoge.rb とした場合にはシェルがスクリプトを起動させて、
その後に一行目に指定されたプログラムに処理を引き渡すような気がした。
117デフォルトの名無しさん:2001/05/21(月) 17:06
>>116
ようするに「融通きかないのはシェルだ」ってことだよね?
118デフォルトの名無しさん:2001/05/21(月) 17:29
>>116
Linuxだとシェルじゃなくてカーネルだと思うのだが。
119デフォルトの名無しさん:2001/05/21(月) 18:05
>>118
シェルだよ。
120デフォルトの名無しさん:2001/05/21(月) 23:24
そうなのか?UNIX系はふつう execve(2) が実行ファイルの種類を判別するもんだけどねえ。

じゃあ、 Linux では exec* で #! ファイルを実行できないってこと?んなアホな。
121デフォルトの名無しさん:2001/05/22(火) 01:33
#! を判別するシェルが多いから、カーネルもマジックナンバーの一つとして #! を見るというのは忘れがちだね。
122デフォルトの名無しさん:2001/05/22(火) 22:31
月末に256本が二冊同時発売らしい。B6からB5になったんだね。
給料日後で良かった。
123デフォルトの名無しさん:2001/05/22(火) 23:49
合わせて3600円か…ちょっときついな。
124デフォルトの名無しさん:2001/05/23(水) 12:30
>>122
ソースきぼーん。
125デフォルトの名無しさん:2001/05/23(水) 13:03
http://www.bulldog.co.jp/



紅玉制覇編
こんなふうになるとは、誰もが思っていなかった。256倍がRubyの熱気に押されて巨
大化!分散オブジェクトにピアトゥピア、Delphiとの融合まで。Rubyにできないコトは
ナイ。
http://www.ascii.co.jp/books/detail/4-7561/4-7561-3810-1.html


場外乱闘編
こんなふうになるとは、誰も思っていなかった。256倍がRubyの熱気に押されて巨大
化!CGIにRuby/Tk、Windowsメッセージだって怖くない。Rubyならなんでもアリ。
http://www.ascii.co.jp/books/detail/4-7561/4-7561-3809-8.html
126124:2001/05/23(水) 13:42
>>125
さんきう。
一行目のリンク、Smash Hit! だったよ!

合計3600円か。
今までCGIの本を除く全てのRuby本を買ってきたんだけど、
今回はパスかな…。
127デフォルトの名無しさん:2001/05/23(水) 19:39
そういえば、Rubyにjavadocみたいなツールってある?
128デフォルトの名無しさん:2001/05/23(水) 19:53
javadoc知らないのでsage
podみたいなのならある。
129デフォルトの名無しさん:2001/05/24(木) 02:16
RubyDoc というのが提案されて実装が始まっているみたい。(RD とは別。念の為)
ruby-talk を検索してみて。
130デフォルトの名無しさん:2001/05/24(木) 22:04
131デフォルトの名無しさん:2001/05/24(木) 23:26
ここきもちわるい。
132デフォルトの名無しさん:2001/05/25(金) 00:47
普及させたいんだったら本じゃなくてWEBに情報載せろっての。
Ruby信者っていやらしいね。(藁
133デフォルトの名無しさん:2001/05/25(金) 00:51
ここきもちわるい++
134デフォルトの名無しさん:2001/05/25(金) 03:09
毒も実もないスレだ。

MLに逝って良し。
135デフォルトの名無しさん:2001/05/25(金) 07:45
>>114
>CRLFだと動かないんですね。もうちっと融通きくかと思ってました。

#!/usr/bin/ruby --
ってしとけばCRLFでもおっけー。
136デフォルトの名無しさん:2001/05/25(金) 12:28
>>132
「WebやMLのアーカイブを見れ、っていうんじゃ普及しないよねー。
やっぱり本がないと使えないよ」とか言われてたんだよ!(藁
pickaxe本みたくOPLで公開できればいいけど、さすがにそれは出版社
を説得するのがたいへんそう。
137デフォルトの名無しさん:2001/05/26(土) 09:53
教えて厨房で、すまん。

ruby/GTK で、ストップウォッチもどきを作りたいと思ったら
タイマー処理がいるのだが、どう実装するの普通だろう。

スレッド使って、wait回数をカウントして書くの?
なんかもそっとエレガントな方法はありますか?
138デフォルトの名無しさん:2001/05/26(土) 16:09
>>137
スレッドとsleep使って実装するといいんじゃないかな。
標準ライブラリのtimeout.rbのソース見てみそ
139デフォルトの名無しさん:2001/05/26(土) 22:13
>>137
Time.now の差分をとればできるとおもふ。

Ruby/Gtk で一定時間ごとに繰り返したい処理があるなら、
Gtk.timeout_add をつかうといいかも。
140デフォルトの名無しさん:2001/05/26(土) 22:32
Rubyって、MINDに似てるな(;゜〇゜)
141デフォルトの名無しさん:2001/05/26(土) 23:01
>>140
aliasしまくって
日本語Ruby『紅玉』
ってのを考えたんだが
予約語が置換できなくて挫折
けっこうそれっぽくなるんだけどなー
142デフォルトの名無しさん:2001/05/27(日) 03:17
>>141
プリプロセッサ+evalっていう構成じゃ駄目?
143デフォルトの名無しさん:2001/05/27(日) 07:34
>>142
プリプロセス許すと『なんでもあり』だから
文法の範囲内でなんとかしたかったのよ。
144デフォルトの名無しさん:2001/05/27(日) 15:56
>>143
言えてる。C言語はこんなことまでできちゃうしなあ。
http://layer-8.com/sce/view_src.php3?argSrcId=94
145デフォルトの名無しさん:2001/05/27(日) 17:21
>>143
というか、それって予約語の書き換えを許してもらえないからには
新言語を作ってるってのと等価であるわけだから、
プリプロセッサという実装手段を使って(141の人が)
紅玉という新言語を作った、というかたちになるんじゃないか?と
思ったです。
プリプロセッサを紅玉ユーザーに公開する(Cみたいに)のではなくて。

「なんでもあり」にするかしないかは141の人しだい。
146デフォルトの名無しさん:2001/05/27(日) 17:34
なんでまつもとはfj.comp.lang.rubyに現れるのに、このスレには……。
誰か喚んできて。
147141=143:2001/05/27(日) 18:28
>>145
いや、
>>141>>143>>147は同一人物です

言語仕様にプリプロセッサを持ってないRubyで
プリプロセス許しちゃったらそれこそなんでもありでしょう
perl→Rubyトランスレータなんかあったとして、
それも広義ではプリプロセッサになっちゃう。
言語仕様の限られた枠内で以下に下らなさを競うかに
芸人の本懐はあると思われ。
148デフォルトの名無しさん:2001/05/28(月) 13:44
おいおい、RAAの日本語サマリあるじゃん(新しい256倍本)。

何で本家はこのデータを使わないのだ。
149デフォルトの名無しさん:2001/05/28(月) 14:15
馬鹿だから
150arton:2001/05/28(月) 14:53
何か?
151デフォルトの名無しさん:2001/05/28(月) 15:56
>>150
ご、ご本人ですか?
152デフォルトの名無しさん:2001/05/28(月) 16:40
つーか、恐ろしいほど256倍本、話題になってませんね。
かなり売れてるという噂なんだが。

ちなみに私は過去の256倍本も全て持っていて、今回の2冊も買いました。
Windowsをまったく使ってない人は、買うのを躊躇するかもしれないけど、
Windwosを使ってる人は、買いです。
WindowsでRubyを使いたくなります。
153デフォルトの名無しさん:2001/05/28(月) 18:13
>>148
使うってなにに使うの? RAA はもともと
日本語版は作らないことになってるよ。
154デフォルトの名無しさん:2001/05/28(月) 18:51
>>152
紅玉征覇編の Apollo が結構おもろかった。
あれは Linux + kylix でも動くらしいよ。
Win でも Linux でもぺとりこんぽ!
155デフォルトの名無しさん:2001/05/28(月) 18:51
>>153
そりゃまた賢いことで。(萎
156デフォルトの名無しさん:2001/05/28(月) 23:47
Ruby本参加したいねー。2ch編とかいって。

RAA 新しくするみたいだね。
全部が一つのテーブルに入っている今の最悪なレイアウトが
どうにかなってくれれば文句はない。
157デフォルトの名無しさん:2001/05/29(火) 00:32
2冊合わせてかったけど読む暇がねー。時間くれー
2ch編ってどんなんだよ(藁
158デフォルトの名無しさん:2001/05/29(火) 01:25
>>157
無難な線では、
ブラウザやログ解析・変換ツール作ったり、ロゴ作ったりとか。
後はスレでの議論を(まとめられるものなら)まとめて掲載。
ついでにMLじゃ言えないような毒舌座談会。
つーか編集者の人に声をかければできないこともないような気がする。
月に一冊なんて豪快なことを言ってるくらいだから変なのが一冊あっても大丈夫だろう。
159デフォルトの名無しさん:2001/05/29(火) 03:53
256本のレビュー求めますage
160デフォルトの名無しさん:2001/05/29(火) 08:53
>>153
>RAA はもともと
>日本語版は作らないことになってるよ。

あ、そりゃ知らなかったよ、マジで。
ちょっと前までRAAにはJapaneseとEnglishの切り替えのリンクが
あったでそ。だから、日本語バージョンも作るのかと思ってた。
161デフォルトの名無しさん:2001/05/29(火) 17:59
>>160
あんだけ更新が頻繁なものは、日本語版作るとしたらメンテが大変だからね〜。
英語版だけで困るっていうひともそれほど多くはないし。
162デフォルトの名無しさん:2001/05/29(火) 18:48
RAA に日本語版が無い理由。

[ruby-list:19484] のまつもとさんの投稿より
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/~poffice/mail/ruby-list/19484
> 前に述べた通り英語版しかありません。やはり国際化の時代だか
> ら、説明も英語でお願いします。

強制は方法としては美しくないけど、
日本ローカルで終らせなくするためにはしょうがないでせう。
163デフォルトの名無しさん:2001/05/29(火) 19:16
日本語での説明欄も設けて、日本語版では description_jp || description_en を表示する、という手はあるかもね。
164デフォルトの名無しさん:2001/05/30(水) 07:18
>>163
日本語が書ける人は日本語と英語、そうでない人は英語のみ、
という感じ?じゃないと日本語の説明しか書かない人が多数の
ような気がします。

RAAへの登録自体は十分機能していると思います。実際
各項目から日本語解説ページへのリンクが這ってあったりするから
RAA自体に日本語は必要ないのかも。
165デフォルトの名無しさん:2001/05/30(水) 08:49
>>164
俺もそれほど欲しいとは思ってなかったんだけど、256+倍本の日本語での
説明付のRAAの一覧見て、「あー、このレベルのものがWebに欲しいな」
ってとこまで変わった。
だって、知らないモノがやまほどあったから(w
166デフォルトの名無しさん:2001/05/30(水) 11:38
ML で出てた YetAnotherRAA
一覧がリストなので本家よりは軽い
http://ruby.yi.org/raa/ja/
167デフォルトの名無しさん:2001/05/31(木) 19:07
RubyのライセンスはGPLしてないとストールマンからメールが来たそうだ。
まつもと氏はライセンスに関して深く考えたくないみたいだが。
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/29941
168デフォルトの名無しさん:2001/05/31(木) 19:17
つーかRubyのライセンスはよく分からん。GPLとは違うものにしたいんだろうか。
GPLの下に置きたいのならGPLをそのまま添付するだけじゃだめなのか?
169a:2001/05/31(木) 20:20
GPLにするのは絶対だめ。

言語処理系はGPLにしてはいけないものの筆頭だよ。
(他にはアルゴリズム・プロトコルの参照実装等)

何にでも組み込めるのでなかったら価値が半減してしまう。
170デフォルトの名無しさん:2001/05/31(木) 21:22
gcc, g++, f77, gpc, gcl, ...いろいろあるね。
171デフォルトの名無しさん:2001/05/31(木) 23:09
>>170
全部GNU製だから当たり前じゃん。
172デフォルトの名無しさん:2001/05/31(木) 23:12
>>167
README.jpによればGPLとのdual licenseらしいが。
何がおかしいのかよく分からん。
173デフォルトの名無しさん:2001/06/01(金) 00:53
GNU製って何だよ?ライセンスがGPLであることか?>171
174デフォルトの名無しさん:2001/06/01(金) 01:05
>>170
スクリプト言語の処理系を組み込むのは良くやるが、
コンパイラを組み込みにすることはたぶんないと思う。
ストールマンもgccで作成したバイナリは
すべからくGPLにせよとまで無茶なことは言ってないよ。
175デフォルトの名無しさん:2001/06/01(金) 01:24
>ストールマンもgccで作成したバイナリは
>すべからくGPLにせよとまで無茶なことは言ってないよ。
バイナリがgccで作られたにもかかわらず、そのソースを手に入れられないと言
うこと?
176質問君でスマソ:2001/06/01(金) 05:16
配列のそれぞれの要素に対して、順番をランダムにした配列を格納したくて
以下のようにしたのですが、結局格納されません。
今、手元にRuby本がないので.eachの使い方が間違っているのでしょうが、
誰かヘルプお願いします。

@gaTable.each do |tb|
 tb = []
 ld = @data.dup
 0.upto(@data.size - 1) do |lp|
  n = rand(ld.size)
  tb.push(ld[n])
  ld.delete_at(n)
 end
 p tb
end
p @gaTable


結果はこんな感じ

(...中略...)
[1, 3, 8, 6, 4, 2]
[6, 3, 8, 2, 4, 1]
[4, 6, 8, 3, 1, 2]  <-各要素はしっかりランダムになっているが
[nil, nil,(......) nil, nil, nil, nil] <- gaTableには反映されない
177デフォルトの名無しさん:2001/06/01(金) 05:21
PDSにすればいいんだよ。
178質問君でスマソ:2001/06/01(金) 05:26
PDSとは?
ruby-langのマニュアルで調べたけど、発見できませんでした。
179デフォルトの名無しさん:2001/06/01(金) 05:34
>>178
 スマソ、上の方へのくだらない煽りだ、気にしないでくれ。
180デフォルトの名無しさん:2001/06/01(金) 05:50
検索しろよ・・・>178
181デフォルトの名無しさん:2001/06/01(金) 09:29
>> 176
tb = []
が原因
182デフォルトの名無しさん:2001/06/01(金) 10:35
GPLコンパチじゃないってどういうことなんだろう?
GPLのソフトにRubyのソースコードを流用できないという意味かな?
183デフォルトの名無しさん:2001/06/01(金) 11:37
>>169
matzはrubyを「何にでも組み込む」という志向を
全然持ってないじゃん(w
unixまんせーなんだもん。
「文句あるなら自分で新しい言語作ればぁ?」調でしょ。
184デフォルトの名無しさん:2001/06/01(金) 11:40
unixだと組み込まなくても便利に使えるのです。
185デフォルトの名無しさん:2001/06/01(金) 13:18
>>176

それはeachよりもcollect!の方がいいかも。

@gaTable.collect! do |tb|
 tb = []
 ld = @data.dup
 0.upto(@data.size-1) do |lp|
  n = rand(ld.size)
  tb.push(ld[n])
  ld.delete_at(n)
 end
 p tb
 tb ##<=要素にしたいものを最後に返す
end

p @gaTable
186デフォルトの名無しさん:2001/06/01(金) 13:19
>>183
はぁ?
187デフォルトの名無しさん:2001/06/01(金) 16:27
>>175
GPLのプログラムを、プログラムを動作させるのに使用したプログラムはGPL。
派生・引用・共有ライブラリの使用など。
別にgccでコンパイルしなきゃならんてこともないし。
VC++でコンパイルしたらNotGPLでgccならGPLてのは変でしょ。
ライセンスどちらかというとソースの方にかかる。

と、理解が間違っている可能性大なので突っ込みきぼん。
GPLの文面って激しく読みにくいし。

>>177
PDSだと完全放棄だかんねー。たとえソースを悪用されても文句言えない。

>>182
現在Ruby本体はGPLとRubyライセンス(Artisticぽいやつ)のdualライセンス。
使う人はどちらがいいか選べる。
Rubyライセンスならソース非公開で引用・組み込みも自由、たぶん。
でも、ストールマンのいうことにゃ、Rubyライセンスは不完全なのでGPLとのdualはできんよ、と。

MLでの流れはBSDLになってるねえ。無難な線か。
188デフォルトの名無しさん:2001/06/01(金) 16:33
>>183
knu氏の発言で、まつもと氏本人の弁はないが、特に否定もされてない。
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/29960
189デフォルトの名無しさん:2001/06/01(金) 16:34
s/本人の弁はないが/本人の弁ではないが/
190デフォルトの名無しさん:2001/06/01(金) 21:51
>>188
183にレスするなよ…。
191デフォルトの名無しさん:2001/06/01(金) 23:33
>>190
うーん。放置したら誤解する人もでそうだし。
しかし、MLの弁護士さんは何だか頼りない感じだな。
192デフォルトの名無しさん:2001/06/02(土) 00:16
>>191
俺には荒らしかドキュンにしか見えないが。
きっと疲れてるんだな…今日は寝よう。
193質問君でスマソ:2001/06/02(土) 01:16
>>185 さん
ばっちり動作しました。
ありがとうございます。

Rubyを使っていると、プログラムを組む楽しみを
再認識できると思うのは俺だけかな?(笑)
194デフォルトの名無しさん:2001/06/02(土) 01:27
熊谷のAkira@ROM
こいつには少々いらだちを覚えた。
MLに登場する顔文字は、うざったさが256+倍だな。
195デフォルトの名無しさん:2001/06/02(土) 03:07
そんな些細なことでさえ嫌悪するならここは君にとって居心地のいい場所ではな
いと思うよ。君は糾弾することによって自分の鬱憤を晴らしているつもりだろう
けど、結果として自分にとって好ましくない流れの中に身を置くことで自分のス
トレスを増大させているはずだよ。

よってガン死
196デフォルトの名無しさん:2001/06/02(土) 03:23
でも、ちっとびっくりしたよ。
Rubyがメジャーになってくるとこういう人も増えるんだろうなって。
JavaHouse化はしてほしくないねえ。
197デフォルトの名無しさん:2001/06/02(土) 03:28
>>187
つまり、GPLで要求してることを、もう一方のライセンスの方でも
要求しないとデュアルに出来ないってことかな?
198デフォルトの名無しさん:2001/06/02(土) 09:13
>>192
彼には気の毒だがおれにもそう見えるよ。司法試験っていったい‥
199デフォルトの名無しさん:2001/06/02(土) 13:12
>>196
しかも日頃MLに投稿しまくっている人達ではない人達が
replyしていたのはなかなか新鮮でした。
もっと荒れるかと思ったのに平和でした。
200デフォルトの名無しさん:2001/06/02(土) 13:27
>>194
同意。
顔文字を使うなとは言わないが、あの使い方はひどい。

>>196
JavaHouse化したらRuby使うのやめます。
201デフォルトの名無しさん:2001/06/02(土) 14:32
変わってるね。
202デフォルトの名無しさん:2001/06/02(土) 14:37
>>193
おれは思わない (思えない) なぁ。
Cの方が簡単だ。文法はね。
203デフォルトの名無しさん:2001/06/02(土) 16:20
>>202
今、Cを使わなければならない状況に立たされているのですが、
辛いですよ。本当に。
特に泣けるのが、文字列の取り扱いが面倒な事でしょうね。
mallocとかfreeが面倒だと感じるのは、まぁご愛敬としても。
204デフォルトの名無しさん:2001/06/02(土) 18:11
>>198
弁護士や弁理士を目指して勉強している知り合いがいるけども、
最低3年は自分の背丈ほどに積み重なる本の中で勉強しなくてはならないので、
マジで気が狂うと言ってました。
その影響が続いてるのかも。

>>203
Cも長く使っていれば、文字列処理でもメモリ処理でも
イディオムや自分なりの方法が身につくから、大して苦でなくなる。
でもRubyのStringのメソッドを使わせてくれとは良く思うけどね。
205デフォルトの名無しさん:2001/06/02(土) 18:27
>>194
初登場の仕方には,一瞬唖然としてしまったよ。
まだこんなやついたんだ・・・って。
どんな環境で育ったんだろう。
206デフォルトの名無しさん:2001/06/02(土) 19:34
207デフォルトの名無しさん:2001/06/02(土) 20:10
やっぱ痛いよこいつ。。。
208デフォルトの名無しさん:2001/06/02(土) 20:10
>>206
よく分かった。ありがとう。
しかしこんなのどうやって見つけるんだ・・・?
209デフォルトの名無しさん:2001/06/02(土) 20:12
210デフォルトの名無しさん:2001/06/02(土) 20:15
個人たたきならプログラマ板でヤレ。
ウザイ
211デフォルトの名無しさん:2001/06/03(日) 02:10
>>197
その辺りがいまいち分からない。
単にRuby'sライセンスはフリーソフトウェアのライセンスとして不十分だと忠告してくれただけ?
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/30001

この「フリーソフトウェア」はFSFのフリーソフトウェアなのかね?
つまりGPLコンパチでないという意味なのか、
一般的にいうフリーソフトウェアのライセンスとして不十分という意味なのか。
212デフォルトの名無しさん:2001/06/03(日) 02:22
ちょっと質問。
Rubyのヘッダファイルの intern.h って
自動で出力させているんですよね?
それとも手書き?
213デフォルトの名無しさん:2001/06/03(日) 02:22
>>211
それは単にRubyのライセンスがFSFのフリーライセンスとはいえないし
GPLコンパチじゃないと言ってるだけだねぇ。
しかし、GPLコンパチってなんだろ?
214デフォルトの名無しさん:2001/06/03(日) 02:28
>>213
というとやはり、GPLコンパチ(定義は抜きにして)なライセンスでないと
GPL と dual はできないよと言ってるのかね?
それとも今のままでも別にいいけど、
GPLコンパチなら尚よろしいと言っているのかな。
後者なら楽だけど前者なら面倒だねえ。
215デフォルトの名無しさん:2001/06/03(日) 02:46
GPLコンパチかどうかは

http://www.gnu.org/philosophy/license-list.ja.html

にある「GPL と矛盾しないフリーソフトウェアライセンス」「GPL と矛盾するフ
リーソフトウェアライセンス」あたりをを読めば分かるんじゃないか?
216デフォルトの名無しさん:2001/06/03(日) 04:32
>>214
もちろん後者。
217デフォルトの名無しさん:2001/06/03(日) 04:34
と思ったけど、あれで一部なのか。
だったらわからない。
218デフォルトの名無しさん:2001/06/03(日) 04:43
>>215
うーむ。矛盾の定義は読んでもあまりわからなかった。
ここからわかることは、Perlのライセンスは全体ではDualなので、
GPLコンパチだけど、Artisticライセンス単体はGPLコンパチでは
ないということ。
おそらく、Rubyのライセンスもこういう状態だと言いたいんだと
思う。
219shige:2001/06/03(日) 05:18
Perl使いは脳障害
220shige:2001/06/03(日) 05:21
Perl使いは糞虫。
汚らしいものをこね回して汚らしいものを作り上げることしか脳がない。

溶かして石鹸にでもした方がよっぽど有益なんだよ。

いいから早く死にな。

死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死
221デフォルトの名無しさん:2001/06/03(日) 05:25
誰か >>219-220 の心理状態の解説お願いします。
222shige:2001/06/03(日) 05:25
P・e・r・l使いって

面と向かっては文句言えないけど
場末の飲み屋のおカミの前ではクダまいちゃう
負け犬

と、同じ種族?

プププ爆笑ものですよこれは
223デフォルトの名無しさん:2001/06/03(日) 05:25
意味不明な煽りだなぁ。
ここRubyスレなのに。
224shige:2001/06/03(日) 05:26
Perl使いって・・・
そ・れ・で・も、人間続けたいんですか。

度胸ありますね。彼らって(わらい)
225デフォルトの名無しさん:2001/06/03(日) 05:27
このスレでここしばらくの間は、Perl使いとわかる人物の発言なんて無かったよな?
226デフォルトの名無しさん:2001/06/03(日) 05:29
>>223
そうだよね。
Perl使いがいない所でPerl使いを煽ってもしょうがないよね…
227shige:2001/06/03(日) 05:30
(ぷぷぷぷぷぷぷ)だーーかーーらーーー。

>Perl使い
どなたか、ruby使い以上にオブジェクト指向がお出来になる方、
いらっしゃるの? 実力で勝負できないから、匿名
で悔し紛れに人の中傷してるだけでしょ?オホホホ
228shige:2001/06/03(日) 05:30
誤爆。失礼した。
229デフォルトの名無しさん:2001/06/03(日) 05:33
わけわからん。
230shige:2001/06/03(日) 05:34
>>219-228
激しく同意!
231デフォルトの名無しさん:2001/06/03(日) 05:34
はあ?>228
キミね、病院行った方がいいよ
232デフォルトの名無しさん:2001/06/03(日) 05:36
ワラタ
233shige:2001/06/03(日) 05:36
>>231
太陽が黄色いぜ。
234>>233:2001/06/03(日) 05:37
だから、病院逝け。でてくるな。
235デフォルトの名無しさん:2001/06/03(日) 05:47
どうでもいいが、ruby使いって鬱屈してる奴多いのか?
236デフォルトの名無しさん:2001/06/03(日) 08:32
>>235
233みたいなやつは見たことないぞ。
あんなのといっしょにされたらこっちが困るよ…。

正直perlは過去のものだと思ってるが、
rubyはperlにいろいろ影響を受けているんだから、
perlやperl使いを馬鹿にするのは問題外。
237デフォルトの名無しさん:2001/06/03(日) 09:47
>>212
手書きだと思います。CVSのログにも時折追加した旨の記述がありますし。

ところで、自動出力と思った根拠は何ですか?
238212:2001/06/04(月) 00:12
>>237
手書きなんですかぁ。
自動出力と思ったのは普通 /* bignum.c */ 等のコメントの前とか
前後に手書きだったら見やすく空行を入れる事が多いだろうし、
#ifndef xxx 〜 #endif もついてなかったので。。。
239デフォルトの名無しさん:2001/06/04(月) 00:18
所で、それを知ってどうするの?>>238
240212:2001/06/04(月) 00:58
>>239
Cのプロトタイプ宣言のいちいちヘッダファイルに書き出すのが面倒で、
自動出力だったら、その効率のいいやり方を参考にしようと思っただけ。
241デフォルトの名無しさん:2001/06/04(月) 01:58
>>238
そこらへんは別に決まったことじゃありませんからね。
もっと何かはっきりしたものがあるかと思いました。

>>240
昔そういうのを見たことがありますよ。
それは、関数定義に仕掛けをしておいて、
それを見つけて抜き出すというものでした。

EXTERN void foo(char *bar)
{
}

があるとして、EXTERN がある行を見つけるとか言う簡単なもの。
実際はもっと細かいところがあると思うけどね。

こういうのの話?
242デフォルトの名無しさん:2001/06/04(月) 13:02
>>241
そういうのの話。
Cに限った話だと単純に static 以外の変数と関数を
ヘッダに出すとかでもいいと思うけど、C++だとクラスや
デフォルト引数を考慮しなくちゃいけなくて結構ややこしくなってくる

ところで cproto とか cextract というプロトタイプを自動生成する
専用ツールが存在することを今ごろ知ったんだけど、これ使ってる人いるのかな?

# Rubyと話がズレてってスマソ
243デフォルトの名無しさん:2001/06/04(月) 20:18
まともとさんのライセンスに対する考え方って最高。
訴えられたくない。それ以外は望まない。
俺と全く同じ。GPLじゃなくて、そういう考え方が
主流になって欲しかった。
244デフォルトの名無しさん:2001/06/04(月) 22:53
安定版1.6.4 リリースage。

previewからreleaseまでの週末数日間が、
ライセンスだけで終わってしまったような気がしますが気のせいでしょう。
早く落ち着くと良いですね。
245デフォルトの名無しさん:2001/06/04(月) 23:03
>>242
ああ、C++でそういうことするやつは知りません。

これ以上はRubyに関係ないからC++関連のスレで
質問した方がより良い話が聞けると思いますよ。いや本当に。
246デフォルトの名無しさん:2001/06/05(火) 01:47
>>236
>rubyはperlにいろいろ影響を受けているんだから、
>perlやperl使いを馬鹿にするのは問題外。

「ひとを馬鹿にするな!」ってのが人道上の理由からならまだ判るが、
儒教上の理由なら知らぬな。儒教自体が博物館に逝け。

技術畑で「おじいさんおばぁさんを大切にしよう!」とか言うな。
じじばばを克服する(駄目ならば批判する)ことで技術は進むんだぞ。
247242:2001/06/05(火) 09:19
へい、そうします。>>245
248デフォルトの名無しさん:2001/06/06(水) 18:36
次のようにWIN32OLEを使ってMSXML3パーサーをためして見ようと
思ったのですが、5行目で
 undefined method `childNodes' for nil (NameError)
と出てしまいます。
何か基本的なことで間違えているような気がするのです。
御教授ください。

require 'win32ole'
x = WIN32OLE.new("MSXML2.DOMDocument")
x.load("a.xml")
r = x.documentElement
r.childNodes.each do |n|
print n.text
end
249デフォルトの名無しさん:2001/06/06(水) 18:39
そんなメソッドはないと言われてるんだから
メソッド名が違ってるんでしょう。
250デフォルトの名無しさん:2001/06/06(水) 18:52
>>249
最初私もそれを疑ったのですが、
下のソースを実行すると,childNodesはあるんですよー。

うーむ、よくわからん。

require 'win32ole'
o = WIN32OLE.new('Msxml2.DOMDocument')
o.ole_methods.sort.each do |name|
if /childNodes/ =~ name
p name
end
end
251248:2001/06/06(水) 19:24
......a.xmlの文法が違っていた......。
お騒がせしてすみません。
鬱だ市脳。
252デフォルトの名無しさん:2001/06/06(水) 20:29
>>246
微妙に噛み合ってないような気がするよん。
>perlやperl使いを馬鹿にするのは問題外。
ここの「馬鹿にする」は219-のような、Perlを使っている人への
罵倒/中傷レベルのことを問題にしているのであって
批判自体がタブーだと言っているわけではないと思うよん。
253デフォルトの名無しさん:2001/06/06(水) 20:31
それと、儒教はそんな祖先/目上に対する盲目的な崇拝を励行する学問ではないよん。
254246:2001/06/06(水) 20:42
>>252-253
うるさい死ね。Perlは嫌いだ。
Perl使ってるヤツは死ね。つーか殺してやる
255デフォルトの名無しさん:2001/06/06(水) 20:55
219=246=254?
ネタにしては面白くないな…
256デフォルトの名無しさん:2001/06/06(水) 20:57
ほっとこう。相手するだけアホらしい。
257デフォルトの名無しさん:2001/06/06(水) 21:46
Perl6って大幅に変更されるという噂を聞いたけど
どうなんでしょうね?

激しくどうでもいいんですが・・・
258デフォルトの名無しさん:2001/06/06(水) 21:47
>>255-256
>>254は恐らくshigeです。
詳しくはヒーロースレ参照
259デフォルトの名無しさん:2001/06/07(木) 19:09
本屋に注文したところ、
Rubyの本(黄色い方)は、出版社がもう刷らないので
今出回っているので最後になる、とか言われたそうですが、
本当にそうなら、かなり普及に歯止めがかかってしまいそうですね。
260デフォルトの名無しさん:2001/06/07(木) 19:55
>>259
それであのゲス本(256倍)ばかり出るのはいたいなあ。
Pythonみたいにオライリーからきちんとした本が出ると良いのになあ。
261デフォルトの名無しさん:2001/06/07(木) 21:48
最近でたでかいやつ(256本)は買う気がせんね。
中身がうすそう。
262デフォルトの名無しさん:2001/06/07(木) 21:49
>>260
それってあの形式(256倍)が嫌だって事?

内容的にはRubyとその周辺というのが揃いつつありますが、
もっと欲しい内容とか取り上げて欲しい内容って何?

僕は雑誌の連載関連を殆ど追っていないので、
そこらへんが書籍になったり、まとまった本として出たりしないかなぁ、
と思ってます。
263デフォルトの名無しさん:2001/06/07(木) 22:28
Rubyって、実装が一つしかないのが他のスクリプト言語使いから
バカにされる理由の一つだと思うんだけど、どうでしょう?
264デフォルトの名無しさん:2001/06/08(金) 09:45
>>263
>実装が一つしかない
ってどういうことでしょう?

>バカにされる
Perlよりはましだと思いますけど(バカされる度合いが)
265デフォルトの名無しさん:2001/06/08(金) 16:00
>>259
Ruby本(黄色い本)は1.4ベースだから、これから相当手を入れるってこと
だと思われ。
現にRuby本の英訳版も来年2月に延期になったし。。
266デフォルトの名無しさん:2001/06/08(金) 16:30
>>265
たしかに、黄色い本には
「クラス変数は無い」と
書かれているからな(wara

とりあえず、早めの出版をお願いしたいところだな。
267shige:2001/06/09(土) 22:32
ヒヒヒ............
268shige:2001/06/09(土) 22:45
perl使いのサイトのbbsをrubyスクリプトで攻撃して6つほど潰しましたが、何か?
269デフォルトの名無しさん:2001/06/09(土) 23:14
shige = perl嫌い + ついでにrubyも中傷したいpython厨
270デフォルトの名無しさん:2001/06/10(日) 03:14
別に余計なことしてくれなくていいよ。
271デフォルトの名無しさん:2001/06/10(日) 13:10
本当はもっとやれと思ってるくせに(わらい
>shige
その調子で潰しまくれ
272デフォルトの名無しさん:2001/06/10(日) 18:20
271=shige
273デフォルトの名無しさん:2001/06/11(月) 03:35
ネタかと思ったらマジでやってたのか。
死ねよ。
274デフォルトの名無しさん:2001/06/11(月) 11:02
Rubyを学びながら、英語も勉強したいんだけど、
「Programming Ruby」以外に
英語のRuby関連本ってない?
275デフォルトの名無しさん:2001/06/12(火) 00:23
ないと思った。
Ruby本(ASCIIから出たRubyが表紙のやつ)の
英訳本が出る予定だったが、少し延期。
ruby-talk や comp.lang.ruby を読むのはどう?
276デフォルトの名無しさん:2001/06/13(水) 16:09
RAAからsource2html落として来たが使い方以前に、
インストールのやり方さえもわからん俺は
Rubyを使う資格がないんかのぉ。。。
277デフォルトの名無しさん:2001/06/14(木) 11:03
Rubyデスクトップリファレンスの英語版が
出るらしいよ。
278anonymous=Class.new:2001/06/15(金) 01:51
>>276
展開してsource2htmlをどっかPATHの通ったとこにコピー。
/usr/bin/envがないシステムなら一行目をrubyのフルパスに修正。
279デフォルトの名無しさん:2001/06/15(金) 20:47
ライセンス云々の話が出て以来、
ruby-talkが何だかつまらなく感じるのは漏れだけ?
280デフォルトの名無しさん:2001/06/15(金) 23:16
Rubyの公式MLってどれが面白い?
devやらlistやらtalkやらあるけど。
281デフォルトの名無しさん:2001/06/15(金) 23:26
>>280
おもしろさで言えば talk じゃない? 妙なもんが
いっぱい出てくるよ。正直言って最近の ruby-list は
いまいちパワーに欠ける。
282デフォルトの名無しさん:2001/06/16(土) 00:21
sage
283デフォルトの名無しさん:2001/06/16(土) 00:49
perl で挫折しても ruby ならわかるってことあるかな?
284デフォルトの名無しさん:2001/06/16(土) 00:51
>>283
あきらめなさい。
285デフォルトの名無しさん:2001/06/16(土) 00:52
rubyでも挫折するだろ。キミの場合。>283
286デフォルトの名無しさん:2001/06/16(土) 01:07
Perlの暗号っぷりに愛想を尽かせて
ぷらっとRubyに来たところ、どっぷり浸かってしまったのですが、
こんな私は283とは違いますか?
287デフォルトの名無しさん:2001/06/16(土) 12:07
あまり変わらないでしょ。
288デフォルトの名無しさん:2001/06/16(土) 12:07
あまり変わらないでしょ。
289デフォルトの名無しさん:2001/06/16(土) 12:08
あまり変わらないでしょ。
290デフォルトの名無しさん:2001/06/16(土) 12:08
あまり変わらないでしょ。
291デフォルトの名無しさん:2001/06/16(土) 12:08
あまり変わらないでしょ。
292デフォルトの名無しさん:2001/06/16(土) 12:08
あまり変わらないでしょ。
293デフォルトの名無しさん:2001/06/16(土) 12:08
あまり変わらないでしょ。
294デフォルトの名無しさん:2001/06/16(土) 12:08
あまり変わらないでしょ。
295デフォルトの名無しさん:2001/06/16(土) 12:08
あまり変わらないでしょ。
296デフォルトの名無しさん:2001/06/16(土) 12:08
あまり変わらないでしょ。
297デフォルトの名無しさん:2001/06/16(土) 12:08
あまり変わらないでしょ。
298デフォルトの名無しさん:2001/06/16(土) 12:08
あまり変わらないでしょ。
299デフォルトの名無しさん:2001/06/16(土) 12:08
あまり変わらないでしょ。
300デフォルトの名無しさん:2001/06/16(土) 12:08
あまり変わらないでしょ。
301デフォルトの名無しさん:2001/06/16(土) 12:08
あまり変わらないでしょ。
302デフォルトの名無しさん:2001/06/16(土) 12:08
あまり変わらないでしょ。
303デフォルトの名無しさん:2001/06/16(土) 12:08
あまり変わらないでしょ。
304shige:2001/06/16(土) 12:08
ヒヒヒ
305shige:2001/06/16(土) 12:08
ヒヒヒ
306shige:2001/06/16(土) 12:08
ヒヒヒ
307shige:2001/06/16(土) 12:08
ヒヒヒ
308shige:2001/06/16(土) 12:08
ヒヒヒ
309shige:2001/06/16(土) 12:08
ヒヒヒ
310shige:2001/06/16(土) 12:08
ヒヒヒ
311shige:2001/06/16(土) 12:08
ヒヒヒ
312デフォルトの名無しさん:2001/06/16(土) 23:21
あっちこっちでやってるよコイツ。rubyの印象最悪だな。
313デフォルトの名無しさん:2001/06/17(日) 00:31
いい迷惑だ。
314デフォルトの名無しさん:2001/06/17(日) 00:59
part3まで行ったら

・shige禁止

付けるか?
315デフォルトの名無しさん:2001/06/17(日) 01:24
ぜひ。
さらにいえば「shigeはruby禁止」とか。
316デフォルトの名無しさん:2001/06/17(日) 05:14
def set_pass
 @pass = get_pass_from_dokka
 nil # @passが漏れないように潰す
end
戻り値がvoidなメソッドって最後にnilを付ければいいんだけど
もっと明示的に戻り値の参照を禁止する方法はない?
317デフォルトの名無しさん:2001/06/17(日) 05:22
macro procedure (name body)
def name
body
nil
end

procedure set_pass
@pass = get_pass_from_dokka
end
318デフォルトの名無しさん:2001/06/17(日) 08:47
>>317
macroってはじめて見たけど1.7から追加されたの?

procedureといってもどうせ何か返さなきゃいけないんだから
nilよりもselfを返すように定義しといた方が便利
319デフォルトの名無しさん:2001/06/17(日) 11:15
「明示的に禁止する」という意味がよく分からないが、
nilを返すのじゃダメなの?
メソッドチェーンのためにはselfを返した方が便利だと思うが。

>>317 rubyにmacroはないよ。
320316:2001/06/17(日) 15:43
レスどうも
ゴミ返すのがいやor特に返すものがない
ならself返すのがrubyの慣習って事で了解です
321デフォルトの名無しさん:2001/06/17(日) 18:38
return selfといえばObjective-C思い出すなぁ。
322319:2001/06/17(日) 20:04
「macroはない」ってだけじゃ「なぁんだ」で終りなので付け加えると、
そういう場合はだいたいevalを使う。
# 残念ながらNodeを直接扱うことはできない。

class Module
 def procedure(func)
  module_eval %{
   alias _func_#{func} #{func}
   def #{func}(*args); _func_#{func}(*args); nil; end
  }
 end
end
def procedure(func)
 class << self; self; end.procedure(func)
end

############

def set_pass
 @pass = get_pass_from_dokka
end
procedure :set_pass

この例だとあんまり意味ないと思うけど。
323デフォルトの名無しさん:2001/06/18(月) 13:35
どうでもいいんですが、
みなさんRubyを書くときのエディタは何を使用していますか?

ちなみに私はgvim6(Win)
6だとハイライトやら自動インデントやら、
ver5以降のctagsはRubyも対応しているやらで。

えっ?
emacsもできる?
まぁまぁ・・・
324デフォルトの名無しさん:2001/06/18(月) 15:32
Windowsだとxyzzy、それ以外はXEmacs。
325名無しさん:2001/06/18(月) 19:59
Windows環境でODBCに接続するには、ADO経由がいいらしいみたいですが、
具体的に解説してるようなサイトとかないですか?

ってか、WIN32OLEで使用するオブジェクトの仕様やらメソッドの引数やらが
全然分からないんですけど、一体何を参考にして書くものなんですか?
もしかして、Visual Basic EditorやMicrosoft Script Editorの
オブジェクトブラウザ?
326デフォルトの名無しさん:2001/06/18(月) 22:24
基本的にVBと同じように扱えると思うよ。
ADOの仕様については、MSDNにGO!
327デフォルトの名無しさん:2001/06/18(月) 23:57
328デフォルトの名無しさん:2001/06/19(火) 00:06
俺もエディタはgvim6。
まつもとさんはemacs派らしいな。ちょっとがっかりだよ。
329デフォルトの名無しさん:2001/06/19(火) 00:28
わたなべさんはvi使いだ。でもzsh。
330デフォルトの名無しさん:2001/06/19(火) 00:45
WZ RUBY EDITOR 簡易クラスブラウザ付き
http://www36.tok2.com/home/desktop/img/img20010619004321.png
331デフォルトの名無しさん:2001/06/19(火) 12:53
>>328
emacs派だと、なんでがっかりなん?
332デフォルトの名無しさん:2001/06/19(火) 13:07
処理系のソース読んだけど、まあなんというか素朴な作りにびっくり。
学部の演習で作ったインタプリタかと思った。
少しはCAMLでも勉強したら?ベンチマークすると大負けしてるよ。>作者
333デフォルトの名無しさん:2001/06/19(火) 13:24
>>329
でも、ってどういう意味?Bill Joy つながりで csh でしょって話?

zsh は EDITOR=vi なら vi 風キーアサインがデフォルトになる。
zsh + vi ってポピュラーな組み合わせだと思うよ。
334デフォルトの名無しさん:2001/06/19(火) 13:48
>>332
煽りだな…。
Ruby interpreter 自身の source も読みやすくしているって
ことなのに…。
335デフォルトの名無しさん:2001/06/19(火) 13:50
読みやすくても遅くてはねえ…
CAMLだってそんなに読みにくくないよ。
CAMを理解してないとだめだけど。
あと、Rubyでもクロージャ変換くらいやってほしい。
あまりに素朴すぎる。
336デフォルトの名無しさん:2001/06/19(火) 14:07
>>335
CAML って http://caml.inria.fr/ のこと?

Ruby インタプリタの実装は
「効率と使いやすさが矛盾しる場合には躊躇無く使いやすさを選んでる」
らしいので素朴なのは仕方無いかと。

アイディアがあるなら、ruby-dev あたりでやるのがよいかと。
# と、話を公式の場に繋げようとする ;-)
337デフォルトの名無しさん:2001/06/19(火) 16:30
黙って放置しているわけじゃなくて、インタプリタの実装を書き直したいというのは
何度も公言されているように積年の課題で、最近やっと着手しはじめたところじゃ
ないかな。

語弊があるけど、 Ruby は CAML と違って Perl などがカバーするエリア・ユーザ層に
広く実用されているものだから、なかなかインタプリタの実装自体に注力はできなかった
のだよ。

でも、 ruby-talk や ruby-dev なんかを見ると、そろそろそちらにも照準を合わせた
動きがはじまりつつあるよね。今このときのソースを捉えて言えば素朴なのは確かだけど。
338デフォルトの名無しさん:2001/06/19(火) 16:37
>語弊があるけど、 Ruby は CAML と違って Perl などがカバーするエリア・ユーザ層に
>広く実用されているものだから、なかなかインタプリタの実装自体に注力はできなかった

ほんとに語弊が有るなぁ;->
純粋にヒューマンリソースの不足という意味ならばまぁいいけど、
ML(MailingListsのほう(藁))読んでたら、それ以上(以下?)の意味が
あるように、かなり読めたね。

「実用」って何だ?
CAMLって言語は知らぬが、CAMLとRubyの「実用」性はそんなに違うのか?
339デフォルトの名無しさん:2001/06/19(火) 16:57
わざわざ語弊があると書いたのに単語だけ抜き出さないでくれよう。
利用と同じ意味で使いました、実用的、非実用的の意味ではないです。
Perl みたいな泥臭い仕事に使うというニュアンスを実用と表現しただけ。

それと、「ヒューマンリソースの不足」というよりは、ユーザベースが上記の通り
なのでインタプリタの改良や書き直しという要求は比較的少なかったということが
あると思う。

たいがいの「遅い」という不満は Ruby のコードレベルでのチューニングやその他の
方法でたいがい解決できたしね。
340デフォルトの名無しさん:2001/06/19(火) 17:03
Cで拡張ライブラリを書くのがあまりに簡単だから深刻な問題にはならなかったのかもね。
俺もRubyでどうしてもパフォーマンスが改善できなかったら一部をCでさっと書いちゃうし。
341デフォルトの名無しさん:2001/06/19(火) 17:57
俺は実用性ならCaml>>>>Rubyだと思ってるけど。
342デフォルトの名無しさん:2001/06/19(火) 18:32
ところで、ベンチマークしたって、どんなのをだ?
CAMLにもrubyにも、それぞれ得意不得意があると思うのだが、
不公平なテストになってないのか?

テストソースあぷきぼん。
意味もなくObject作って捨ててを繰り返す奴か?
343デフォルトの名無しさん:2001/06/19(火) 18:34


  ハハハ
  ∧_∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ( ^∀^)<  あほか
 ( つ ⊂ ) \_________
  .)  ) )
 (__)_)     (^∀^)ゲラゲラ キエロ カイセンキッテクビモキレ ケラ
344デフォルトの名無しさん:2001/06/19(火) 18:35
Camlのインタプリタは確かに速いよね。
でもCamlは静的型付けの言語なんだから単純に比較しても
意味無いのでは?
345デフォルトの名無しさん:2001/06/19(火) 18:50
>>341
未定義の「実用性」なんて持ち出して煽らないように。
346345:2001/06/19(火) 19:03
あと、Rubyを擁護する人も、Rubyが十分に速いなんて思ってちゃ駄目だ。
局所的に見ても、末尾再帰とか部分文字列の copy-on-write とか、いくら
でも速くするネタはある。パッチも出たけど、既存の C 拡張ライブラリ
との互換性の問題で慎重になっているみたいだけど。

しかし、いよいよ 2.0 に向けて VM 化, bytecode 化という方針が出た
ことだし、その辺りの実装に興味がある人は今参加するとおもしろいと
思うよ。
347デフォルトの名無しさん:2001/06/19(火) 19:38
>>339
>Perl みたいな泥臭い仕事に使うというニュアンスを実用と表現しただけ。

というか、「広く実用」ってのが、ね。
あれを広いと呼んでいいのか?
あのユーザーベースの中なら(藁)呼べるのか?
というような疑問を、ぶつけてみました。ほい。

するってーとあれかな。ボトルネックは得てして
OS側というか、そっちのほうに集中してることが
(そのユーザーベースでは)結構多かった、ということなんだろうか?
そりゃまぁファイルやネットワークよりは速かろうな。
348デフォルトの名無しさん:2001/06/19(火) 20:24
Ruby使いはウザイやつばっかり。
(Ruby自体は悪くない)
349デフォルトの名無しさん:2001/06/20(水) 01:34
3501:2001/06/20(水) 02:20


  ハハハ
  ∧_∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ( ^∀^)<  あほか
 ( つ ⊂ ) \_________
  .)  ) )
 (__)_)     (^∀^)ゲラゲラ キエロ カイセンキッテクビモキレ ケラ
351339:2001/06/20(水) 05:21


  ハハハ
  ∧_∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ( ^∀^)<  あほか
 ( つ ⊂ ) \_________
  .)  ) )
 (__)_)     (^∀^)ゲラゲラ キエロ カイセンキッテクビモキレ ケラ
352デフォルトの名無しさん:2001/06/20(水) 05:21
言語オタク度ではObjectCamlがプロ級。
Rubyはアマチュア級。
353デフォルトの名無しさん:2001/06/20(水) 05:22


  ハハハ
  ∧_∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ( ^∀^)<  あほか
 ( つ ⊂ ) \_________
  .)  ) )
 (__)_)     (^∀^)ゲラゲラ キエロ カイセンキッテクビモキレ ケラ
354デフォルトの名無しさん:2001/06/20(水) 05:54

  ハハハ
  ∧_∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ( ^∀^)<  あほか
 ( つ ⊂ ) \_________
  .)  ) )
 (__)_)     (^∀^)ゲラゲラ キエロ カイセンキッテクビモキレ ケラ
355デフォルトの名無しさん:2001/06/20(水) 05:54

  ハハハ
  ∧_∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ( ^∀^)<  あほか
 ( つ ⊂ ) \_________
  .)  ) )
 (__)_)     (^∀^)ゲラゲラ キエロ カイセンキッテクビモキレ ケラ
356デフォルトの名無しさん:2001/06/20(水) 12:02
>>352
んまぁ、それには同意するけど…。関数型言語かつ強い型強制の ML を発展させ、
さらに OO にするっていうのは、どう考えてもヲタクの所業だもんね。

おかげで、まともに code 書くのはめちゃくちゃ大変になるんだけど。
357デフォルトの名無しさん:2001/06/21(木) 00:08
型強制と言っても、型推論があるから別に困らない。
関数型言語はOOと相性悪いが、それは言語に慣れてないだけ。
358デフォルトの名無しさん:2001/06/21(木) 01:01
変数に型がある言語と実行速度を比べたら、そりゃRubyは旗色悪いよ。
359デフォルトの名無しさん:2001/06/21(木) 01:50
型がないとバグ検出の点で不利だね。
その代わり、宣言を書く必要が無いとか、インターフェイスを作る必要が無い
とかの利点があるというのがRuby側の主張。
しかし、型があっても型推論があれば宣言はいらない。
360デフォルトの名無しさん:2001/06/21(木) 01:55
361デフォルトの名無しさん:2001/06/21(木) 02:12
型というか、あるオブジェクトが何であるかよりも
何ができるかというだけで充分だから。

>>358の意味は、
使用している側では変数の型を知らない=オブジェクトの実装が分からない
ために処理系が最適化できないということ。
362デフォルトの名無しさん:2001/06/21(木) 02:38
>>359
あと、キャストが必要ないというのはどう?
i.to_sなんてやったりするのは、キャストのようなものだけど。
363デフォルトの名無しさん:2001/06/21(木) 02:40
>>361
それで十分ではないとする主張が型無し言語逝って良しスレで何度も出てきてる。
364デフォルトの名無しさん:2001/06/21(木) 02:57
>>363
UnitTestでカバーできないかね。
理想論的には、設計がきちんと出来ていれば、
間違ったメッセージを送ることはないはずなんだけどね。
365デフォルトの名無しさん:2001/06/21(木) 03:00
  ハハハ
  ∧_∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ( ^∀^)<  あほか
 ( つ ⊂ ) \_________
  .)  ) )
 (__)_)     (^∀^)ゲラゲラ キエロ カイセンキッテクビモキレ ケラ
366ObjectiveCaml:2001/06/21(木) 04:55
名前間違えんといてください。
367デフォルトの名無しさん:2001/06/21(木) 17:25
  ハハハ
  ∧_∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ( ^∀^)<  あほか
 ( つ ⊂ ) \_________
  .)  ) )
 (__)_)     (^∀^)ゲラゲラ キエロ カイセンキッテクビモキレ ケラ
368ぴんぽん:2001/06/21(木) 20:44
Rubyなんて作って、ゆうめいになっちゃったけど
なんかに使えるんかなあ
369デフォルトの名無しさん:2001/06/21(木) 20:58
バカと言語は使いよう
370デフォルトの名無しさん:2001/06/21(木) 21:21
vectorにrubyのディレクトリがあるのがなんかムカツク
371デフォルトの名無しさん:2001/06/21(木) 22:18
  ハハハ
  ∧_∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ( ^∀^)<  あほか
 ( つ ⊂ ) \_________
  .)  ) )
 (__)_)     (^∀^)ゲラゲラ キエロ カイセンキッテクビモキレ ケラ
372デフォルトの名無しさん:2001/06/22(金) 07:43
>>356
>まともに code 書くのはめちゃくちゃ大変になるんだけど。
Rubyはそういうのを排除しようとしているからねぇ。

でも凄いですな>ObjectCamlのおたく度
373356:2001/06/22(金) 18:19
  ハハハ
  ∧_∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ( ^∀^)<  あほか
 ( つ ⊂ ) \_________
  .)  ) )
 (__)_)     (^∀^)ゲラゲラ キエロ カイセンキッテクビモキレ ケラ
374名無しさん:2001/06/23(土) 07:40
RubyにCRC-32計算させたら、遅過ぎて実用にならなかったんだけど、
そういうもんなの?
1MBで20秒も掛ったよ。漏れがなんか根本的に間違ってるのかなぁ。
既存のライブラリ無い?
375デフォルトの名無しさん:2001/06/23(土) 08:52
>>374
そーゆーもんだとおもうよ。
CRCみたいなのは、正にCで外部ライブラリにすべき例だと思うが。
つーか、MD5ではいかんのか?
376デフォルトの名無しさん:2001/06/23(土) 09:30
外部ライブラリ書くのって、cの文法知ってる程度の人でも可能?
377デフォルトの名無しさん:2001/06/23(土) 09:56
OSがLinuxなら可能であろう。
378デフォルトの名無しさん:2001/06/23(土) 10:12
MLのTacosってやつ、法律については非常に詳しいが、ライセンスについては
全くの無知だな。
法律に詳しいから知ったかぶりして難しいこと書いてるが、ライセンス
に関しては間違った事ばかりいってるな・・・
379デフォルトの名無しさん:2001/06/23(土) 10:42
ライセンスばなしには、正直。興味ない。
380デフォルトの名無しさん:2001/06/23(土) 12:49
>>376
俺でも出来たんだから問題なし。

gccとかが使える環境のほうが幸せであるようだ。
俺はBSDだった。まあどうせLinuxでも同じように動いたけど。

REDME.EXT.jp落ちついて読んでみ。さくさく書けるよ。

rubyがOOP言語だからってびびる必要もゼロだし。
matz氏も言ってるがrubyは「実行が全て」だから、
Cと相性も全然悪くない。
実行の順番のことを冷静に考えればオッケー。

あとはRuby提供の幾つかのC用Macroに慣れれば文句無し。
それにしたってキテレツなマクロはあんまり無いみたいだし。
381デフォルトの名無しさん:2001/06/23(土) 14:26
  ハハハ
  ∧_∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ( ^∀^)<  あほか
 ( つ ⊂ ) \_________
  .)  ) )
 (__)_)     (^∀^)ゲラゲラ キエロ カイセンキッテクビモキレ ケ
382デフォルトの名無しさん:2001/06/23(土) 16:06
Cマガジンの連載にRubyの組み込みの話があったよ。
読んだ人いる?
383デフォルトの名無しさん:2001/06/23(土) 18:17
Javaも、CRCはネイティブメソッドで計算してる。
Perlなんかもそうじゃないの?
384デフォルトの名無しさん:2001/06/23(土) 23:49
>>379
かなり興味ある。配布する時に絶対関係してくることだし。
正直、Rubyのライセンスってかなり怪しいじゃん?
怖くて配布できないよ。
385デフォルトの名無しさん:2001/06/24(日) 07:03
怪しいとはどこが?再配布者は特に怖いことはないと思うんだが。。

今問題になっているのは、逆に緩すぎて役に立たないのではないかということだよ。
(厳密には無理だが)法的に、あるいは社会的・政治的に開発者、あるいは開発自体を守れるのか
どうかということ。

再配布者は別にライセンス(= 事実上制約なし)に従っていれば問題ないのだし。
386385:2001/06/24(日) 18:36
ここでうだうだ言ってもしょうがないね。言語の話にだけ反応することにします
387デフォルトの名無しさん:2001/06/24(日) 22:36
>>385
前スレで話題になった。
Ruby全体のライセンスを守っても、Rubyを構成している一部分のライセンス
に違反するという話。
388デフォルトの名無しさん:2001/06/24(日) 22:38
>>386
何もしょうがないことは無いよ。知らずにライセンス違反するよりは、
知っておいた方がいいだろ。
389デフォルトの名無しさん:2001/06/25(月) 05:13
         _             _               _            
       _ \\           _\\            _\\
      //   \\         //  \\          // \\
     //     \\      //    \\       //    \\
  //        \\   //       \\    //       \\
 //          \\//          \\ //         \\
  ̄              ̄ ̄              ̄  ̄             ̄
     /\       /\
   /   \____/   \
 /     /\    /\ \
|                  |   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
|       \____/  |  /
|         \   /    |<  あ〜ほ〜か〜〜〜
 \  ___   \/     /   \
 /       \    __  \   \________
|        |  /      |
|      _/  |       |
 \           \_   /
  \       \      \
   |       |      |
  /       /      /
 /        \      \  //\\____//\\  /_ \\ ̄ ̄_ /_ \\ ̄ ̄_
|          |      ||     \    /     |/ ̄/ ̄   ̄ ̄// ̄/ ̄   ̄ ̄/
 \______/____/ \      \/      /   /      /   /       /
390デフォルトの名無しさん:2001/06/25(月) 20:38
Rubyか。
ちょい興味はあるけど、begin-endがどうも気に食わない…。
といって#defineしてcpp通すのもアホらしい…。
391デフォルトの名無しさん:2001/06/26(火) 05:56
>>390
どう置き換えたいわけ?

#define try begin
#define catch rescue
#define ensure finally

とか?でも catch はすでに別の意味のキーワードとして存在するしなあ。
392391:2001/06/26(火) 06:02
最後のは逆だった。begin ってそんなに悪いとは思わないけどな。

>>398
デカいと和まないよ。
393デフォルトの名無しさん:2001/06/26(火) 06:03
>>389 の間違い。鬱
394デフォルトの名無しさん:2001/06/26(火) 07:24
>>388
前スレでは会社の製品にRubyを込みこもうとしたけど、ライセンス
が怪しいから諦めたという話もあったよね。
395デフォルトの名無しさん:2001/06/26(火) 08:07
まあ、現状のライセンスだと、いわゆるオープンソースソフトウェエアの扱いに
馴れていない会社は手を出しにくいかもね。ファイル数の多くない Ruby では、
一つ一つのファイルを見て確認しても大した手間じゃないんだけど。

すっきりして余計な心配をかけたり手間を取らせないようにしてほしいね。
弁護士の見解や考察はもういいから、開発にかかわる・かかわってきた人の
合意を取ってさっさと進めた方がいいと思う。
396デフォルトの名無しさん:2001/06/26(火) 08:24
前スレの議論については誰かがメールして、まつもとさんも問題を
認識していたようなので、そのうち解決されるとは思うんだけどね。
397デフォルトの名無しさん:2001/06/26(火) 13:15
Rubyはブロックつきメソッドがあるから{}でなくて
begin〜endなんじゃないかなぁと。
398デフォルトの名無しさん:2001/06/26(火) 13:53
Rubyを256倍使うための本 網道編
http://www.cbook24.com/bm_detail.asp?sku=99923191

またまた新しい256倍本が・・・。
399デフォルトの名無しさん:2001/06/26(火) 17:03
>>398
リンク先、もう売り切れか。。。
rubyって、結構普及してるの??
400デフォルトの名無しさん:2001/06/26(火) 21:35
Cマガとかで連載してるから徐々に普及してんだとは思うけど、
うちの職場じゃ、使ってるのは俺だけだな。。
401デフォルトの名無しさん:2001/06/26(火) 23:53
とりあえずGC改良してほしいなぁ。
たまにGCのせいとしか思えない意味不明なエラーが出るので…。
402デフォルトの名無しさん:2001/06/27(水) 03:17
エラー報告したか?>401
ここで文句言ってても直らんぞ
403デフォルトの名無しさん:2001/06/27(水) 03:27
>>401
ちょうど今GCの話になっているから、
ちょうどいいんでないの。
404デフォルトの名無しさん:2001/06/27(水) 03:37
>>402>>403
エラー報告したいけど再現性がつかめないからなぁ。
405デフォルトの名無しさん:2001/06/27(水) 03:51
>>404
再現性のつかみにくい error というと、mod_ruby な ruby script で
thread をつかったりするようなものになると、なにがなんだかわからなく
なりますね。
406デフォルトの名無しさん:2001/06/27(水) 11:32
>399

本日(6/27)発売、だそうですよ<256本網道編
407デフォルトの名無しさん:2001/06/27(水) 19:32
ここがshigeの発祥スレか.....。
408デフォルトの名無しさん:2001/06/27(水) 22:17
はっきり言って笑いものになってる。
409ぎこるび:2001/06/28(木) 13:29
ひさびさです。本業(けんきゅう)が忙しくて全然Rubyしてないです。
ソフトウェア工学とRubyとで何かないですかねえ。

それはともあれ、網道編はeRubyの章が良かったかな。
分散Rubyはまだ勉強中。
単にマーシャルしてるだけだとすると
ネットワークへの負荷が高いような気がしますがどうなんでしょ。
410デフォルトの名無しさん:2001/06/28(木) 23:05
>>409
妄想したんだが、いっそNetを通さないってのも有りかな?
ローカル間だったら共有メモリ経由にするとかさ(わら
相手が同じマシンにいるのかどうかを調べて自動的に実装を切り替えるとか。
それはそれで富豪かも?

できるだけマーシャリングしないようなシステム(rubyとは無関係)を
触ったような記憶があるんだが、それもまた結局重くて重くて泣けてきた。
なんせ参照すること自体が「重い」んだもん。終わってる。
どっちの戦略が軽いんだろう?っていう問いは、一種の究極の問い
であるような気がする。鬱。

そういや誰もPCGIはやらないのかな…
411デフォルトの名無しさん:2001/06/29(金) 10:51
お布施と思って256倍本は全部買ってるんだけど、
網道編、CGI〜eRubyのあたりって場外乱闘編の使いまわし?
dRubyのところの読み応えとに免じて気にしないようにするけど、サ。

それはそれとしてerubyやmod_rubyは非常に楽しいですね。
412デフォルトの名無しさん:2001/06/29(金) 11:36
>>411
> 網道編、CGI〜eRubyのあたりって場外乱闘編の使いまわし?
> dRubyのところの読み応えとに免じて気にしないようにするけど、サ。

いや、あれはちょっとひどいよ。殆ど文章も"太字"もギャグもいっしょじゃん。

これからも、256+倍本のある章をちょっと水増ししたのを量産しそうだ。
同じネタでも、arton氏みたいに切り口を変えてくれればいいんだけど。
413デフォルトの名無しさん:2001/06/29(金) 14:40
>>412
全く同意。
ASCIIは読者をナメてるね。
414デフォルトの名無しさん:2001/06/29(金) 14:47
ほぼ月刊化、ということで楽しみにはしてるんだけど、
だからといって甘い評価してちゃダメか。
とはいえ、クズ本呼ばわりするにはarton氏のところの密度が濃いんだよなあ。

# 412の指摘にあるように今後も256倍+本の水増しに流れていくんだったら悲しいな。
415デフォルトの名無しさん:2001/06/29(金) 23:02
>>411
逆。どっちかといえば256本の草稿から256+。
書いてる人間同じでネタも一緒だし。
416デフォルトの名無しさん:2001/06/30(土) 03:41
shige引き取ってください
417デフォルトの名無しさん:2001/06/30(土) 11:24
>>416
息を?
418デフォルトの名無しさん:2001/06/30(土) 11:45
>>417
(・∀・)イイ!
419デフォルトの名無しさん:2001/06/30(土) 11:58
「ルビ厨」なんて用語も出来てるし....
420411:2001/06/30(土) 16:56
>>415
なるほど。と、いうことは256+本が
これからの256本のプレビュー版だと思っとけばいいのかな。
421デフォルトの名無しさん:2001/06/30(土) 18:01
>>410
>ローカル間だったら共有メモリ経由にするとかさ(

Corba 処理系ではふつーに提供されてるアイデアだよ。
同一マシン上だと共有メモリ/メッセージパッシング
異なるマシンで同一アーキテクチャだと、マーシャリングを部分的に省く。
正体不明の場合は規格通りに通信。
422デフォルトの名無しさん:2001/07/01(日) 04:54
>>421
ただ、これをやると architecture の変更をしたときに正体不明の
bug が発生しがちでは?
423デフォルトの名無しさん:2001/07/01(日) 07:08
>>422
ん?Corba 内部のバグなら Corba ベンダーになおさせればいいじゃない?
高い金払っているんだから、そういうところは楽ですよ。
424デフォルトの名無しさん:2001/07/01(日) 14:18
>>421
どもです。ガイシュツ技術だったか。
がっくりしたような、ほっとした(既に使えるのだから)ような。

>>423
じゃあFREE実装はどうなるの?と一瞬思ったが、
ライブラリ作り萌えな人々は先を争って直すだろうから
結局同じことだな。
モジュラリティという意味での直しやすさの度合いは
商用でもFREEでもそうそう違わないだろし。

X鯖みたいに「鯖ごとに自分の必要に応じたMap方式を実装している」
ってな感じかな?共有メモリで通しちゃうAPIも有るんだったよねたしか。
425デフォルトの名無しさん:2001/07/02(月) 00:11
>>424
MIT-SHM Extensionのこと?
426RubyはPerlのパクリ:2001/07/02(月) 01:26
Rubyなんて名前の付け方からして
明らかにPerlのパクリsage
427So fucking what?:2001/07/02(月) 02:15
名前の punning はUNIXの伝統だろ。more-less, yacc-bison などの例をひくまでもなく。

機能の話なら、PerlはawkやshとCのパクリ, LinuxはUNIXのパクリ, JavaはC++のパクリ。
でもそれがどうした。進化は破壊, 合成, 再構成の繰り返し。
428デフォルトの名無しさん:2001/07/02(月) 02:23
Rubyのかっちょいいアイコンファイル(.ico)ないですか?
429デフォルトの名無しさん:2001/07/02(月) 02:53
KDE2の倉庫番のアイコンがなんとなくルビーっぽいので使ってる。
RubyWinにもアイコン付いてたと思うけど、あれじゃダメ?
430デフォルトの名無しさん:2001/07/02(月) 03:39
確かに(RubyWinより)かっちょいいのが欲しいな。
個人的にはBeOS調のがいい。アニメヲタっぽくないやつ(藁
誰か描いてくれよう。
431Rubyは絶対に流行りません:2001/07/02(月) 17:53
Rubyは書式がダサイすぎる。
お前らグローバルスタンダードって言葉知ってるのか?
んん?
432shige:2001/07/02(月) 18:01
ウザイよ。ボク
433デフォルトの名無しさん:2001/07/02(月) 19:33
↑ワラタヨ。
434デフォルトの名無しさん:2001/07/02(月) 23:27
>>431
どのへん?
まぁ俺もbegin〜endより{〜}が好みではあるけど、
書式(見た目のこと言ってるんだよね?)ダサすぎって程でもないんじゃないかな。
435デフォルトの名無しさん:2001/07/02(月) 23:28
RubyはクラスもオブジェクトでIntはClassのインスタンスって言ってるけど、どういうこと?
Int = Class.newって定義されてるの?
436153:2001/07/02(月) 23:53
VB=頭良いヤツが使う言語
VC=頭良いと勘違いしてるヤツが好む言語
ruby=頭悪いことを認めたくないヤツが使う言語

頭良いヤツは、VBでさっさと仕事終わって帰宅するんだよ。ボケ


http://piza.2ch.net/test/read.cgi?bbs=tech&key=993720050
437デフォルトの名無しさん:2001/07/02(月) 23:59
Intは普通に継承してるだけ。
class Numeric < Object;end
class Integer < Numeric;end

Class を使ってクラスを動的に作成することもできる。

giko = Class.new
giko.class_eval("def mona; print 'itteyosi';end")
fusa = giko.new
fusa.mona #=> itteyosi

これは以下と同等
class Giko
def mona
print 'itteyosi'
end
end
fusa = Giko.new
fusa.foo #=> itteyosi
438153:2001/07/03(火) 00:02
rubyてネーミングがD’QN臭を漂わせてるよ。
バカ丸出し。
439435:2001/07/03(火) 00:12
>>437
ほほ〜。なるほど。
class_evalなんてメソッドがあるのか。
440デフォルトの名無しさん:2001/07/03(火) 02:24
441KD:2001/07/03(火) 11:28
以下のコードの XC のクラスメソッドが動かない理由を教えてください。
Ruby使いの方、よろしくおねがいします。

--
module M
def m
puts 'ok'
end
end

class C
include M
def c
m()
end
end
C.new.c

class XC
include M
def self.c
m()
end
end
XC.c


--

ok
xxxx.rb:30:in `c': undefined method `m' for XC:Class (NameError)
from xxxx.rb:33
442Rubyは絶対に流行りません:2001/07/03(火) 11:29
Rubyはまず流行らないでしょう。
こんな言語だーれも知らないし。
はやく糞言語は消え去ってほしいでっす。
443デフォルトの名無しさん:2001/07/03(火) 11:50
なんかRubyが噂になってるから入ってきたんだけど、
VBの悪いとこだけ真似したような言語だな。
誰かの言った目糞鼻糞は名言と確信。
444デフォルトの名無しさん:2001/07/03(火) 12:52
あ、ここはshige禁止ですので。

>>441
includeはインスタンスメソッドを追加&
クラスメソッドからインスタンスメソッドを呼ぶという形になってるので
ダメだと思う。次のようにすればOKかな。

module M
def m
puts 'ok'
end
module_function :m
end

class XC
def XC.c
M::m()
end
end

XC.c
445KD:2001/07/03(火) 13:48
>>44

なる程、ありがとうございました。
446デフォルトの名無しさん:2001/07/03(火) 19:22
>>442

class XC
 extend M
 def self.c
  m()
 end
end
XC.c

でもいいかと思われ。
447446:2001/07/03(火) 19:28
すまん、>>441 だった。
448デフォルトの名無しさん:2001/07/05(木) 02:43
セットアップ面倒なのでさっさとcygwinに標準でついてくるようにして欲しいね。
2.xxの安定版がでる頃までは無理なのかな...
449デフォルトの名無しさん:2001/07/05(木) 09:04
>>448
え?rubyを?そこまでは望まないなぁ俺。

というか、make環境が正しく構築できたかどうか?のテストに
いつもrubyを使っているような気がするなぁ俺。
cygwinやそれ以外の幾つかの環境で、ディスクをケチるために
色んなファイル削ってinstallしたりするんだけど、
よく判ってない厨房なんで、削除が間違ってなかったかどうかを
確かめる手段が欲しいわけね。rubyが丁度いい。

あ。勿論そうやってmakeしたruby自体も使ってる(わら
450ぎこるび:2001/07/05(木) 13:37
>>443
VBの悪いとこだけってのはどういう意味ですか?
ちょっと気になりますので解説きぼん。
VBはVBAをごくたまーに使うくらいなので、ほとんど知りません。
451デフォルトの名無しさん:2001/07/05(木) 18:38
VBに似ているのは見た目だけです。そんなレベルの煽りに答える必要なし。
逆に他の言語のことをよく勉強せずにRubyの方がいいとかRubyじゃなきゃこうは
行かないとか言わないように自戒しよう。
452デフォルトの名無しさん:2001/07/05(木) 19:20
>>450
shigeの自作自演のような気がする。煽りのレベルが低いし。

この調子だと他のスレから来た人への注意書きも必要かな。
・shigeと名乗る「自称」Ruby使いは無視してください。
とか。

>>451
同意。適材適所だね。
453デフォルトの名無しさん:2001/07/05(木) 20:33
>>448
同意。蛇は入ってんのにな。
454デフォルトの名無しさん:2001/07/05(木) 23:10
乗るなよ。
455shige:2001/07/06(金) 05:14
ハハハ
  ∧_∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ( ^∀^)<  あほか>>452
 ( つ ⊂ ) \_________
  .)  ) )
 (__)_)     (^∀^)ゲラゲラ シネヤ
456shige:2001/07/06(金) 05:17
                             1111
                 11 11       1111
   11111   11111 11 11  111111111111111
   11111    11111 11 11  111111111111111
   11111    11111           1111    1111
  11111     11111          1111    1111
  11111     11111          1111    1111
  11111      11111         1111    1111
  11111      11111         1111    1111
 11111       11111        1111    111


                             1111
                 11 11       1111
   11111   11111 11 11  111111111111111
   11111    11111 11 11  111111111111111
   11111    11111           1111    1111
  11111     11111          1111    1111
  11111     11111          1111    1111
  11111      11111         1111    1111
  11111      11111         1111    1111
 11111       11111        1111    111


                             1111
                 11 11       1111
   11111   11111 11 11  111111111111111
   11111    11111 11 11  111111111111111
   11111    11111           1111    1111
  11111     11111          1111    1111
  11111     11111          1111    1111
  11111      11111         1111    1111
  11111      11111         1111    1111
 11111       11111        1111    111


                             1111
                 11 11       1111
   11111   11111 11 11  111111111111111
   11111    11111 11 11  111111111111111
   11111    11111           1111    1111
  11111     11111          1111    1111
  11111     11111          1111    1111
  11111      11111         1111    1111
  11111      11111         1111    1111
 11111       11111        1111    111
457shige:2001/07/06(金) 05:23
                             1111
                 11 11       1111
   11111   11111 11 11  111111111111111
   11111    11111 11 11  111111111111111
   11111    11111           1111    1111
  11111     11111          1111    1111
  11111     11111          1111    1111
  11111      11111         1111    1111
  11111      11111         1111    1111
 11111       11111        1111    111


                             1111
                 11 11       1111
   11111   11111 11 11  111111111111111
   11111    11111 11 11  111111111111111
   11111    11111           1111    1111
  11111     11111          1111    1111
  11111     11111          1111    1111
  11111      11111         1111    1111
  11111      11111         1111    1111
 11111       11111        1111    111


                             1111
                 11 11       1111
   11111   11111 11 11  111111111111111
   11111    11111 11 11  111111111111111
   11111    11111           1111    1111
  11111     11111          1111    1111
  11111     11111          1111    1111
  11111      11111         1111    1111
  11111      11111         1111    1111
 11111       11111        1111    111


                             1111
                 11 11       1111
   11111   11111 11 11  111111111111111
   11111    11111 11 11  111111111111111
   11111    11111           1111    1111
  11111     11111          1111    1111
  11111     11111          1111    1111
  11111      11111         1111    1111
  11111      11111         1111    1111
 11111       11111        1111    111
458shige:2001/07/06(金) 05:23
                             1111
                 11 11       1111
   11111   11111 11 11  111111111111111
   11111    11111 11 11  111111111111111
   11111    11111           1111    1111
  11111     11111          1111    1111
  11111     11111          1111    1111
  11111      11111         1111    1111
  11111      11111         1111    1111
 11111       11111        1111    111


                             1111
                 11 11       1111
   11111   11111 11 11  111111111111111
   11111    11111 11 11  111111111111111
   11111    11111           1111    1111
  11111     11111          1111    1111
  11111     11111          1111    1111
  11111      11111         1111    1111
  11111      11111         1111    1111
 11111       11111        1111    111


                             1111
                 11 11       1111
   11111   11111 11 11  111111111111111
   11111    11111 11 11  111111111111111
   11111    11111           1111    1111
  11111     11111          1111    1111
  11111     11111          1111    1111
  11111      11111         1111    1111
  11111      11111         1111    1111
 11111       11111        1111    111


                             1111
                 11 11       1111
   11111   11111 11 11  111111111111111
   11111    11111 11 11  111111111111111
   11111    11111           1111    1111
  11111     11111          1111    1111
  11111     11111          1111    1111
  11111      11111         1111    1111
  11111      11111         1111    1111
 11111       11111        1111    111
459shige:2001/07/06(金) 05:23
                             1111
                 11 11       1111
   11111   11111 11 11  111111111111111
   11111    11111 11 11  111111111111111
   11111    11111           1111    1111
  11111     11111          1111    1111
  11111     11111          1111    1111
  11111      11111         1111    1111
  11111      11111         1111    1111
 11111       11111        1111    111


                             1111
                 11 11       1111
   11111   11111 11 11  111111111111111
   11111    11111 11 11  111111111111111
   11111    11111           1111    1111
  11111     11111          1111    1111
  11111     11111          1111    1111
  11111      11111         1111    1111
  11111      11111         1111    1111
 11111       11111        1111    111


                             1111
                 11 11       1111
   11111   11111 11 11  111111111111111
   11111    11111 11 11  111111111111111
   11111    11111           1111    1111
  11111     11111          1111    1111
  11111     11111          1111    1111
  11111      11111         1111    1111
  11111      11111         1111    1111
 11111       11111        1111    111


                             1111
                 11 11       1111
   11111   11111 11 11  111111111111111
   11111    11111 11 11  111111111111111
   11111    11111           1111    1111
  11111     11111          1111    1111
  11111     11111          1111    1111
  11111      11111         1111    1111
  11111      11111         1111    1111
 11111       11111        1111    111
460デフォルトの名無しさん:2001/07/06(金) 05:31
結局こうなるのか.....。
shige厨と、粘着にPerl/HSP/VBスレ荒らしてる馬鹿は死んでくれないかな。
461デフォルトの名無しさん:2001/07/06(金) 05:37
>>460
なんつか、Perlスレに嫌味なのが張り付いてるね。
HSPとVBスレのは名無しだけど、低レベルだからshigeじゃないかな。
462shige:2001/07/06(金) 05:57
                             1111
                 11 11       1111
   11111   11111 11 11  111111111111111
   11111    11111 11 11  111111111111111
   11111    11111           1111    1111
  11111     11111          1111    1111
  11111     11111          1111    1111
  11111      11111         1111    1111
  11111      11111         1111    1111
 11111       11111        1111    111


                             1111
                 11 11       1111
   11111   11111 11 11  111111111111111
   11111    11111 11 11  111111111111111
   11111    11111           1111    1111
  11111     11111          1111    1111
  11111     11111          1111    1111
  11111      11111         1111    1111
  11111      11111         1111    1111
 11111       11111        1111    111


                             1111
                 11 11       1111
   11111   11111 11 11  111111111111111
   11111    11111 11 11  111111111111111
   11111    11111           1111    1111
  11111     11111          1111    1111
  11111     11111          1111    1111
  11111      11111         1111    1111
  11111      11111         1111    1111
 11111       11111        1111    111


                             1111
                 11 11       1111
   11111   11111 11 11  111111111111111
   11111    11111 11 11  111111111111111
   11111    11111           1111    1111
  11111     11111          1111    1111
  11111     11111          1111    1111
  11111      11111         1111    1111
  11111      11111         1111    1111
 11111       11111        1111    111
463ぎこるび:2001/07/06(金) 19:51
>>451
begin endがあるっていうのが似てるということ?
何だかなあ……
言語それぞれに長所短所がありますからね。
良い意味での言語オタクにはなりたいですね。

>>460
フレーム合戦ならまだ楽しめる余地がありますけど、
単なる荒らしは邪魔なだけですからねえ。
464デフォルトの名無しさん:2001/07/06(金) 21:16
別に Ruby では begin と end が対というわけではないでしょう。
(上でも何度も出てくるけど、なんで?)

end に対応するものが定まっていないのが気持ち悪い、というのが
C/Perl ({-}) や Python (インデントを使いキーワードはない) や
Pascal (begin-end) のファンからたまに出る感想だよね。

好みと慣れの問題だけど。
465デフォルトの名無しさん:2001/07/06(金) 21:34
VB に begin てあったっけ?Ruby のコードの見かけが VB に似ているところを挙げるなら、
if, then, else, end, loop, do, while, case あたりのキーワードとか、
構文上あまり記号を使わないところとか、
メソッドをプロシージャ的に使うときに呼び出しのカッコを省略するのが一般的なところだよ。

似てると言われてもいいじゃん。それが、 VB と同じで見かけの第一印象での敷居が低いことを意味するなら。
「Perlの機能をほとんどすべて内包している」ことすら宣伝文句にしているわけだしね。

ほんとにいろんな言語を勉強した人には、たくさんの言語の構文や機能を踏まえていることに気づいてもらえると思うけど、
そうでない大多数には「VB に似ているね」程度で入ってもらえばよし。
466ぎこるび:2001/07/06(金) 22:34
>>464
まあ、対になるのは例外処理の時くらいですね。
ネストが深くなると end ばかりになって眩暈がすることはあります(笑
end の10連コンボとか。

>>465
構文より統合環境が似ている方が大部分の人にとって嬉しいんでしょうね。
RubyWin はまだ実用的とは言いがたいし。Komodo に期待かな。
UNIX な人だと emacs あればこと足りるんでしょうけど、
Win な人にはそれじゃ通じないですからね。
467Rubyを端的に表すと:2001/07/06(金) 23:24
「水清くして魚住まず」
468デフォルトの名無しさん:2001/07/06(金) 23:41
rubyの構文嫌いって人は、そこから自分で拡張するなりすれば
いいんじゃない?
ソースも公開されてるんだからさ。
互換性が無くなるってのが嫌ならトランスレータ作ればいいわけだし。
469>>467:2001/07/07(土) 05:06
たくさんモジュールも出ているし、アプリケーションも出てきてるじゃん。
英語のMLを見るとたくさんプロジェクトが動いてるし、日本語のMLを見ると
プログラミング自体に相当不慣れそうな人までプログラム書いたりしているのが
見える。

ところで、その諺は「水清ければ〜」じゃなかった?
470デフォルトの名無しさん:2001/07/07(土) 05:17
>>466
VBは言語自体はどうにも貧弱で使いづらいが、環境が素晴らしいからね。
構文がシンプルだからRADとも相性がいい。

Rubyは見かけ的にはVBと遠くはないけど、その実態はあまりに動的すぎて、
統合環境のエディタにぜひほしい補完とか型の推測が実装しにくそう。

かといって、コメントに制御情報を埋め込むようにはして欲しくないなあ。
(Visual Cafeを思い出す。。)
471デフォルトの名無しさん:2001/07/07(土) 14:13
ここってWindowsユーザいるみたいだから聞きますけど、
RubyWinやApolloって使ったことありますか?
Windows上のRubyでGUIを動かすことになると
それらを使うことになると思いますが、
使い心地とかはどうでしょう?
472デフォルトの名無しさん:2001/07/07(土) 14:47
>>470
>VBは言語自体はどうにも貧弱で使いづらいが、環境が素晴らしいからね。
>構文がシンプルだからRADとも相性がいい。

それはひとたびDelphiを見ると瓦解するご意見です。はい。
構文シンプルさとRADとの相性ってのは、あんまり関係ないんだよね。

C++がRADに向かないのの理由は別にある。
フクザツかどうかが問題なんじゃなくて、
「必要な」柔軟性が有るかどうかが問題なんだよね。
腕力なんぼ有っても、関節が硬ければ、曲芸はできないんだよね(わら

>コメントに制御情報を埋め込む

MSVC++もソレ系っすね(笑)
言語自体がそういう風に出来ていないのが痛い。
Javaもそういや実はあんまりRAD向きとは言えない…

>統合環境のエディタにぜひほしい補完とか型の推測が実装しにくそう。

まぁSmalltalkみたいな生き方もあることだし。

>>471
>RubyWinやApolloって使ったことありますか?
>Windows上のRubyでGUIを動かすことになると
>それらを使うことになると思いますが、

直接は関係ないんじゃない?

RADで重要なのは、言語の柔軟性と、あと
「RADの情報をいかにうまくファイルに落とすか」、です。

というわけであとは実はRAD情報保存フォーマットを決める作業
だけでいい、とも言えるんだよね。
それさえ決めておけば、実際のRADツールは誰がどう実装してもよい
(=互換性がある)ということになるし、
WinだろうがMac(笑)だろうがUnixだろうがOK、
GUIライブラリもドレでもOK、
ということになる…かも知れない。

誰か、挑まない?
473デフォルトの名無しさん:2001/07/07(土) 14:57
>>467
その称号はLisp系にあげて下さい…
474471:2001/07/07(土) 17:19
>>472
そうなんですか。ありがとうございました。
475470:2001/07/07(土) 18:27
>>472
どう瓦解するのかぜんぜんわからないけど、 Delphi の構文は VB 程度にシンプルでないという意味?
Pascal は明らかに構文解析のしやすさを念頭に作られていて、 Delphi でもシンプルさは損なわれてないじゃん。
(俺は Delphi2 から 4 あたりまでを使っていたから、説明する上で基本的なことは省略してくれて構いません)
476470:2001/07/07(土) 18:41
あ、 Ruby と関係ないから VB と Delphi について膨らますのはやめた方がいいかな。

Ruby に関しては、 SmallTalk みたいな生き方というのに賛同。というか、
SmallTalk (の役割)を置き換えるという方向性は結構有力かもしれない。
そのためには、Ruby のクラスライブラリにはいまいちな点も多いから、
SmallTalk のクラスライブラリを搭載した Ruby というのが見てみたい。
477デフォルトの名無しさん:2001/07/07(土) 22:49
>>475
ああ。「構文が」か。
構文という単語を正確に使ってたわけね。
ならばオッケーだ。これにて和解。

「なんとなく見た目」のシンプルさと
「構文」のシンプルさは、結構別概念だってのは
お気づき(多分)の通りだわな。
そこで前者を採用しちゃうMSがドキュなわけで。

>>476
matz氏、ST方向(というかunix以外の全ての「環境」)を
色々嫌いらしいからなあ…(ぉ
やっぱり目標はMorphかな。

言語の大筋はSTにかなり近い、んだけどねえ。
逆にいえばSTにRuby風ライブラリ積めば
Rubyと同じことが出来るようになる
(=氏のいう「閉鎖的」な環境じゃなくなる)
だろうに、なにを嫌っているのやら…
478デフォルトの名無しさん:2001/07/08(日) 01:07
matz氏が「嫌い」というのは「自分はやりたいと思わない」という意味でしょ。

Windows はじめいろいろな環境への対応にしても、他の人がやるのは歓迎していて
自由にやることを許しているし、そのために必要なグローバルな変更に関しても
できる範囲でサポートしていると思うけどなあ。
479デフォルトの名無しさん:2001/07/08(日) 01:17
嫌い嫌い言ってりゃ、そういう奴が集まるに決まってる。
Rubyの紹介文からして他言語に嫌味全開だから、同じような攻撃的な奴が集まったりとかな。
480デフォルトの名無しさん:2001/07/08(日) 01:31
そういうのは日本人に多いな。他人の考えを尊重する方法として同化しか知らない人間が多い。
自分の考えと違うことを強烈に言うのを見ただけで憎んだり、
こっちの方が短くて速くてきれいだ、という価値観を共有し(させ)たがったりね。
「Ruby vs. Perl」という視点のときもそうだし、「Ruby らしいコードは何か」というときもそう。

ruby-talk の方を読むと、欧米の人間の方が「なんでこいつはこう考えるのだろう」とか
「どういう考え方をすればこういう実装になるのか」というところに頭を持っていくのが得意なように見える。

いろいろ刺激を受けないとね。
481デフォルトの名無しさん:2001/07/08(日) 08:37
>>480
がいいこといった!
「余計なこと言うなら来ないで下さい」とかほざく馬鹿は、多いな。
matz氏はそこまで直接的な馬鹿じゃないようではあるが。

…のだが、それは別として、
>>478
自由は当然許してる(してなきゃオプソとすら言えぬ)けど、
あのAPIの用意の仕方は、unix以外にとっては余計でしかない
という意味において、「自分はやりたいと思わない」の
域を越えた圧力(わら)を、感じるけどな。

ま、攻撃的な奴が集まるなら集まるで、
ruby「へ」攻撃的な人間だって集まって良さそうなもんだし。
482デフォルトの名無しさん:2001/07/08(日) 09:37
正直UNIX以外はどうでもいい。
http://samurai-x.hypermart.net/cgi-bin/kitty.cgi
483デフォルトの名無しさん:2001/07/08(日) 10:28
↑ブラクラ

とりあえず>>480を読みただ噂だけでRubyを嫌悪するのは止めようと思ったYO!
484デフォルトの名無しさん:2001/07/08(日) 11:57
>>480
>>480
何かと言うと「欧米では…それに比べて日本は…」というのは
やめた方がよいです。氷魚みたいに馬鹿に見えます (マジよ)。
485デフォルトの名無しさん:2001/07/08(日) 13:30
一度持ち出しただけで「何かと」って....(わら)

> (マジよ)。
(大爆笑)
486デフォルトの名無しさん:2001/07/08(日) 13:58
クリック猿なんかに使ってもらっても嬉しくないよ。
どうせRubyの良さなんて分からないだろうし。人種が違うと思うが(わら)
487デフォルトの名無しさん:2001/07/08(日) 14:35
>>486
やめれ。つーか消えろ。
488デフォルトの名無しさん:2001/07/08(日) 14:38
>>484 みたいな反応が、まさに >>480 が指摘しているステレオタイプそのものなんだよな。
「欧米がそうなんだからそうじゃなきゃいけない」と主張しているように勝手に読んじゃうの。

「刺激を受けないとね」とわざわざ予防線張ってあるのに。
489shige:2001/07/08(日) 14:53
クリック猿は死滅させるべき。

↓ここをクリック
http://plaza29.mbn.or.jp/~syuuki/labo/realip.html
↑ここをクリック
490デフォルトの名無しさん:2001/07/08(日) 14:58
[Warning] すでに言葉遊びの領域に踏み込んでいます。
491デフォルトの名無しさん:2001/07/08(日) 14:59
>>480の言ってることがよく分かるよ…激しく鬱。
492デフォルトの名無しさん:2001/07/08(日) 15:01
良いものが有るのだから、それを使うべき。
何か文句ある?
493デフォルトの名無しさん:2001/07/08(日) 15:10
>>492
文脈がないよ。文脈なしに「良い」だの「べき」だの言えないし、そもそも良い「もの」って何のことよ?
Ruby のことを言ってるのか、 Ruby よりいいものがあると言いたいのか。

[Warning] すでに言葉遊びの領域に踏み込んでいます。
494デフォルトの名無しさん:2001/07/08(日) 19:24
495デフォルトの名無しさん:2001/07/08(日) 23:11
shigeに賛成するのも何だが、クリック猿野郎は逝ってよし(わら)
496デフォルトの名無しさん:2001/07/09(月) 01:06
はいはい。shige君。
497デフォルトの名無しさん:2001/07/09(月) 03:19
RubyはLGPLのソースコードを変更して使っているので、
LGPLに基づく派生物として作られていますよね?

LGPLの181行目のSection2に次のような記述があるのですが、

> But when you
> distribute the same sections as part of a whole which is a work based
> on the Library, the distribution of the whole must be on the terms of
> this License, whose permissions for other licensees extend to the
> entire whole, and thus to each and every part regardless of who wrote
> it.

RubyのライセンスはLGPLより緩い別のライセンスになってしまっています。
これはLGPL違反ではないでしょうか?
498デフォルトの名無しさん:2001/07/09(月) 04:03
違反です。
499デフォルトの名無しさん:2001/07/09(月) 04:19
いいえ。LGPL なのは regex.[ch] のみであり、その部分は他と明らかに独立しています。
つまり、 LGPL の規定する「ライブラリ」の「派生物」としての範囲は regex.[ch] の
二つのファイルに依然として止まっています。

そして、 Ruby のライセンスには regex.[ch] に関する例外条項があり、それらについての権利は
尊重・保護されていると合理的に考えられます。

また、 LGPL の上記引用部分の直後に

> Thus, it is not the intent of this section to claim rights or contest
> your rights to work written entirely by you; rather, the intent is to
> exercise the right to control the distribution of derivative or
> collective works based on the Library.
>
> In addition, mere aggregation of another work not based on the Library
> with the Library (or with a work based on the Library) on a volume of
> a storage or distribution medium does not bring the other work under
> the scope of this License.

という条項があり、道義的にも契約上も LGPL に違反しているとは考えられないと思います。
500デフォルトの名無しさん:2001/07/09(月) 04:26
shigeはエディタで間違っていじってセーブしてしまったregex.cの変更を公開しないのでLGPL違反だと思います。
501デフォルトの名無しさん:2001/07/09(月) 04:28
>>499
あんたにMLでライセンス問題を仕切ってもらいたかった…
502デフォルトの名無しさん:2001/07/09(月) 04:29
>>499
おいおい、regex.cってRubyから独立してるか?
明らかにRubyの一部を構成してるだろ?
503デフォルトの名無しさん:2001/07/09(月) 04:34
分離可能という意味で独立しています。それがライブラリの定義。
gettext を同梱したら全体を LGPL にしないといけないわけではないのと同じ。
504デフォルトの名無しさん:2001/07/09(月) 04:46
>>502, >>502
ライセンス(LGPL)上は、独立しているかどうかはどうでもよくて、LGPLのコードから派生したものがLGPLで扱われることを保証しているかどうかだけが問題。
そしてRubyではregex.[ch]だけがLGPLのコードの派生物なので、RubyのライセンスがそれらをLGPLで扱うことを要求している以上は問題ありません。

その他のコードはLGPLのコードを元にしたわけではないから、LGPLの適用範囲には入りません。(GPLだと入ってしまう)
505デフォルトの名無しさん:2001/07/09(月) 04:47
>>502, >>503, でした
506デフォルトの名無しさん:2001/07/09(月) 04:53
regex.c[h]はLGPLの派生物なのに、regex.cが必要不可欠なRubyはLGPLの派生物ではない。
そんな理屈はちょっと無理があると思うぞ。
507デフォルトの名無しさん:2001/07/09(月) 05:38
ハァ?無理があるのは自分の頭だろ。依存と派生の区別もつかんのか。

なんで GPL に加えて LGPL ができたのかをまったく理解していないな。
上に引用されているところすら読まないんじゃ話にならん。

オムロンに、 GUI に GTK+ を採用しているんだから Wnn7 は LGPL の派生物だ、
ソースを公開しろ、と訴えてみたら?公開されたらみんなよろこぶよ。(笑
508497:2001/07/09(月) 06:02
>>499>>504
497よりわかりやすい部分がありました。
訳は私が勝手に訳したので間違ってるかもしれません。

116行目
> A "work based on the
> Library" means either the Library or any derivative work under
> copyright law: that is to say, a work containing the Library or a
> portion of it, either verbatim or with modifications and/or translated
> straightforwardly into another language.
> 「ライブラリに基づく作品」とは、ライブラリそのものや著作権法に基づく派生物のことを意味する。
> すなわち、ライブラリやその一部を含んでいる作品のことである。ここでいうライブラリとは、
> 変更されていないもの、変更されたもの、他の言語に直訳されたもの、さらには、変更しながら他の
> 言語に訳されたもののことを言う。

つまり、regex.cを含んでいるRubyは「ライブラリに基づく作品」に該当すると
思います。regex.cが生成するバイナリは他の部分と静的にリンクしてますよね?

149行目
> 2. You may modify your copy or copies of the Library or any portion
> of it, thus forming a work based on the Library, and copy and
> distribute such modifications or work under the terms of Section 1
> above, provided that you also meet all of these conditions:
> <中略>
> c) You must cause the whole of the work to be licensed at no
> charge to all third parties under the terms of this License.
> 2. 下記の条件を全て満たす限り、ライブラリまたはその一部を変更して、
> 「ライブラリに基づく作品」を作り、そのような変更物や作品を上記セクション1に
> 基づいて複製し配布できる。
>
> c) 作品の全体を、このライセンスの条項のもとで、無償で全ての第三者に提供しなければならない。

この部分や497で私が引用した部分はGPLでの表現とよく似ています。
「ライブラリに基づく作品」全体をLGPLにしなくてはならないということです。
なお、regex.cは単に保管のために別々のソフトとして他の部分と一緒になってるわけではなく
他の部分と協力してRubyという一つの作品を構成しているものなので、499で引用された部分は
影響ないと思います。その証拠に、499の部分とほとんど同じ部分(LibraryがProgoramに
なってる)がGPLにも存在します。

そういうわけで、今のところ私はRubyがLGPL違反だといわざるを得ませんが、どうでしょうか?
509デフォルトの名無しさん:2001/07/09(月) 06:21
静的リンクと動的リンクはバイナリ配布のときに問題になる(静的リンクすると同梱が必須になる)区別であって、
ソース配布上は関係ないよ。バイナリ配布に関しては確かにまずいかもね。

regex を共有ライブラリ化して LGPL の元で別配布とすれば問題は完全になくなるけど、
本当は regex をもっと緩いライセンスのものをベースに作りなおしたいね。
510デフォルトの名無しさん:2001/07/09(月) 06:22
つうか、引用が長くなると 2ch でなんか読んでられないし、ちゃんとまとめて ML に振り直してほしいな。
511デフォルトの名無しさん:2001/07/09(月) 06:38
ライブラリが作品に含まれているかどうかはどうやって判断するんだ?
512デフォルトの名無しさん:2001/07/09(月) 07:20
reademe.txtにregex.[ch]は本プログラムに含まれるって書いてあるぞ!
513名無しさん:2001/07/09(月) 10:11
100%フリーのニューエンジン開発するんならやってもいいがなー
とちょっと思った。
514デフォルトの名無しさん:2001/07/09(月) 10:57
>>508
regex.cが「work based on the Library」で、それ以外のRubyの
コードは「work that uses the Library」です。

あとは、LGPLの第6節を読みましょう。
#ただ、LGPLの第6節はLibrary GPLとLesser GPLで文章が違うので
#注意。

>>511
LGPLの第5節を読みましょう。
515デフォルトの名無しさん:2001/07/09(月) 11:20
>>508
それでもやはり、 LGPL 由来のコードを使っていない他の著作物まで LGPL の影響下に入るというのは LGPL の意図するところではないと思う。
そういう事態になる GPL だと困る場合があるから LGPL が作られたわけで。 (ここで言う「使う」は複製、改変、転用の意)

あと、「他の部分と協力してRubyという一つの作品を構成している」ってのは言葉遊び(解釈論)の香りがする。
基づく(based on)と強調動作は区別されるべき概念でしょう。regex.[ch] に加えられた変更というのは UTF8 対応と Perl 拡張正規表現の
サポートの追加であり、依然として正規表現ライブラリのままの体裁を保っています。
事実、 regex.[ch] を libregex.so として分けることは容易です。(たぶんすぐにでも可能)

そして、 GPL における "progoram" と LGPL における "library" の違いはまさに肝です。
言い換えられているところこそ重要。なぜなら、

program: 厳密な分離が不可能なコード片
library: 明確な分離が可能なコード片

という使い分けであり、 LGPL は分離可能な範囲だけに権利の行使を限定するものである、と
>>499 で引用された部分にあるから。
516デフォルトの名無しさん:2001/07/09(月) 13:00
それで「分離が可能」じゃあ、何でも分離が可能じゃん。
よほどお馬鹿なソースでなければ。
517デフォルトの名無しさん:2001/07/09(月) 13:05
そうだな。
regexのように密接にRubyと結びついたものが分離可能だなんて言い張るのは明らかに間違ってるな。
518デフォルトの名無しさん:2001/07/09(月) 14:57
>>517
それは、linux/win上でmakeしたrubyを
linux/winと分離不能だ、と呼んでいるようなものでは?
519デフォルトの名無しさん:2001/07/09(月) 15:06
regexってRubyのソースだろ。
520デフォルトの名無しさん:2001/07/09(月) 15:31
そもそもRubyはGPLと独自ライセンスのDualライセンスだろ…
521デフォルトの名無しさん:2001/07/09(月) 15:44
Dualだったら良いという問題じゃないだろ。
522デフォルトの名無しさん:2001/07/09(月) 15:52
>>517
Ruby の regex.[ch] は namazu からも (Ruby 全体をリンクせずに)
使えてるんだから、それは分離されてると言えるんじゃない?
523名無しさん:2001/07/09(月) 15:54
>regexってRubyのソースだろ。
GNU Emacsから引っぺがした感じのソース。
sed,grepのパーツにもなっている。
機能が多いのでいろいろと流用されている。
524デフォルトの名無しさん:2001/07/09(月) 16:14
指定したディレクトリ以下を巡回して渡したブロックを実行して周るクラスってないですか?
525デフォルトの名無しさん:2001/07/09(月) 16:22
>>524
Findというクラスがあるよ。
526デフォルトの名無しさん:2001/07/09(月) 17:03
regexはどう見てもRubyの一部じゃん。
527デフォルトの名無しさん:2001/07/09(月) 17:55
>>524
カレント以下のファイル名を再帰的に辿って表示
$ruby -rfind -e 'Find.find("."){|file| p file}
528524:2001/07/09(月) 19:12
やっぱあるんですね。Findはディレクトリ以外も列挙してしまうので
Find.find('.'){|f|
 next if File.directory?(f)
 ...
}
で目的の機能が得られました。
529デフォルトの名無しさん:2001/07/09(月) 20:41
やっぱり515の分離云々がちょっとずれているのではないでしょうか。別にLGPLな
regexpをリンクしないと動かない、ってことでもLGPL的にはOKでは? LGPLで
ライセンスされているライブラリそのものが適切に配布されていれば。

まずは
・今のRubyの全ての配布形態やライセンスがLGPL的にまずいのか
・特定のバイナリの配布形態がLGPL的にまずいのか
・誰かがRubyを独自に配布したい場合にLGPL的にまずいことが起こりうる
 (起こりやすい)のか
を切り分けて考えたほうがいいと思います。
530デフォルトの名無しさん:2001/07/09(月) 22:59
rubyのregex.[ch]はソースが直接使われてるから
ライブラリとは言えない気がする。
531デフォルトの名無しさん:2001/07/10(火) 00:20
>>530
とほほ。。

じゃあ、 #include <abc.h> したら abc.h を直接使っていることになるから、
abc.h というヘッダを提供する libabc.a (or .so) というものはライブラリではない?
gettext を同梱しているソフトは腐るほどあるが、 gettext がライブラリとは言えない?
532デフォルトの名無しさん:2001/07/10(火) 00:23
GNU regexライブラリという存在自体を知らないとしか思えない発言が多いのはさびしいよ。
GPL や LGPL についての議論に参加するなら、せめて一回くらい GNU grep/sed/awk あたりの
ソース構成なんかを眺めてみてくださいな。損はないから。

まあ、2chだから野次馬が多いのだろうけどね。
533デフォルトの名無しさん:2001/07/10(火) 00:33
>>531
いやだから、soとかaを使わずに、ソースレベルで結合してるから
ライブラリとは言えないように見えるんだろ?
ライブラリといえば、libとかaというイメージあるだろ。
534531:2001/07/10(火) 00:51
>>533
だーかーらー、 gettext の例もひいたでしょ。
gettext を同梱しているものは、一緒にコンパイルしてスタティックリンクして使っているものが多い。
先んじて反例を挙げておいたのに、何にもならなかったな。
535デフォルトの名無しさん:2001/07/10(火) 00:55
aやlibを作ってるならライブラリだろ。regex.[ch]は作ってないじゃないか。
そんなこといったらなんでもライブラリじゃないか。main.cもなにもかも。
536デフォルトの名無しさん:2001/07/10(火) 00:56
「LGPLにおけるライブラリ」をちゃんと理解してくれ。
537デフォルトの名無しさん:2001/07/10(火) 01:01
そもそも regex.[ch] は LGPL であって、提供している側もライブラリとして扱うことを求めている。以上。

何か議論の余地が?
538497:2001/07/10(火) 01:04
私は>>529の意見に賛成です。その上で話を進めますが、

>>514
> regex.cが「work based on the Library」で、それ以外のRubyの
> コードは「work that uses the Library」です。

仮にregex.cがライブラリだとすると、第5節を読む限り確かにあなたの言うことは
正しい気がします。
ですが、だからと言って、Rubyが「work that uses the Library」とはいえないと思います。
なぜなら、regex.cを含んでいるからです。
Rubyは>>508に書かれている定義によると「work based on the Library」です。

バイナリはどうかということを考えると、いちいち引用はしませんが、LGPLには「work
that uses the Library」とLibraryをコンパイルして静的に結合すると、「work
based on the Library」ができると明示してあります。
したがって、Rubyのバイナリはいずれにしても「work based on the Library」であり
LGPLまたはGPLでライセンスしない限りLGPL違反だと思います。

次にソース配布はどうかということですが、私はさっきも書いたようにregex.cが
Rubyに含まれる限り「work based on the Library」であり、それ故にLGPL違反だと
言わざるを得ません。
もしも、regex.cがRubyに含まれないと言えるのならば、違反ではなくなるはずですが、
少なくとも、作者がregex.cがRubyに含まれると言ってしまっている以上は、Ruby
にregex.cが含まれないとするのは今のところ間違ってるのではないかと思います。

ちなみに、議論となってる「LGPLにおけるライブラリ」ですが、

> A "library" means a collection of software functions and/or data
> prepared so as to be conveniently linked with application programs
> (which use some of those functions and data) to form executables.

となってます。「conveniently」が曖昧なので、私には判断できません。
539デフォルトの名無しさん:2001/07/10(火) 01:05
>>537
だったら、その求められてる使い方をしてないってことだろ。
540デフォルトの名無しさん:2001/07/10(火) 02:15
ソースについては、regex.cはregex.cのライセンスが優先ってRubyのライセンスに書いてなかったっけ?
541デフォルトの名無しさん:2001/07/10(火) 02:20
でもRuby全体をLGPLにすると言ってるわけじゃない。
542デフォルトの名無しさん:2001/07/10(火) 05:00
要するに、ライセンス的にグレーゾーンで危ないから
まともに使うのは止めとけということだな。
543デフォルトの名無しさん:2001/07/10(火) 05:06
皆さん、なんかマジメだね(わら)
なんかタマってるわけ?
544デフォルトの名無しさん:2001/07/10(火) 05:11
LGPL第6説を読んでください。
ソースコードが公開されていれば、LGPL著作物を含んだ実行形式を
独自ライセンスで配布することは可能。
545デフォルトの名無しさん:2001/07/10(火) 05:29
>>544
そうだといいね。それはバイナリだけの話?
546544:2001/07/10(火) 06:17
>>545
バイナリに限ってはいません。

LGPLの解説は、
http://www.open-news.com/~maki/txt/license.html
がわかりやすいです。
547デフォルトの名無しさん:2001/07/10(火) 07:02
>>546
このHPを見てしまうと、今までの議論はいったい・・って感じになるな。
548デフォルトの名無しさん:2001/07/10(火) 07:23
>>546
そのホームページだとわかりにくいが、"you may also compile or link"
と書いてあるからバイナリだけだろ。
549デフォルトの名無しさん:2001/07/10(火) 07:40
複雑だな。
550544:2001/07/10(火) 07:53
>>548
え、どこ?
6. の最初の文は、"you may also combine or link" だよ。
compile でなく。
551デフォルトの名無しさん:2001/07/10(火) 08:08
>>550
rubyに入っているものではcompileになっているが。
552デフォルトの名無しさん:2001/07/10(火) 08:31
>>551
それが本当ならちと由々しき事態って感じだが、
本当に両者は同じ(?)行をさして話してるのか?
553544:2001/07/10(火) 08:40
>>550
確かに。こっち見るべきですね。スマソ
LGPL Version 2.1 (February 1999) だと combine 。
554514:2001/07/10(火) 12:32
>>538
バイナリレベルの話、つまりlibruby.aとかlibruby.soとか実行形式としての
rubyとかがLGPLになる、ということは同意します。

で、ソースレベルなのですが、作者がどう言っているかというよりも、
regex.[ch]以外のコードはRuby's で配布されるとドキュメントに書かれて
いるので問題ないのではないでしょうか? 別に違反していないと思うの
ですが。
555ぎこるび:2001/07/10(火) 16:49
http://www.ruby-lang.org/ja/
<引用>
* 「他言語との比較」ページをあまりにも真面目にとらえる人が 多いので(かつ、そういう人からの文句に疲れたので)、このページ へのリンクを削除します。面白いと思ったのになあ。(2001-07-10)
</引用>

あーめん
556デフォルトの名無しさん:2001/07/10(火) 16:55
>>555
あぁあ
557デフォルトの名無しさん:2001/07/10(火) 17:10
くだらん。根性無しが泣き言垂れるな。
無視しとけばいいのに。
558デフォルトの名無しさん:2001/07/10(火) 17:15
他の掲示板でもshige厨みたいなのが顰蹙を買っているのだろうか・・・・
559Rubyの法則:2001/07/10(火) 17:19
Ruby専用のコミュニケーションの場以外でRubyを持ち出すと必ず荒れる。
560なんか、:2001/07/10(火) 17:42
宣伝の手段を間違えた、って感じだね……。
561デフォルトの名無しさん:2001/07/10(火) 18:05
消える前に保存しとけ。
http://www.ruby-lang.org/ja/compar.html
562デフォルトの名無しさん:2001/07/10(火) 18:29
>>561
心配しなくてもCVSレポジトリにずっと残ります。
563デフォルトの名無しさん:2001/07/10(火) 18:32
みんな、そんなにマイナスのオーラを感じなくていいのに。

/. の Why Not Ruby? が思ったほどフレームウォーになっていないのに感心したよ。
564デフォルトの名無しさん:2001/07/10(火) 18:50
shigeが技術的な話をした覚えないが…
565デフォルトの名無しさん:2001/07/10(火) 19:50
UNIX以外に消極的なのがそんなに気にくわないのかな?
みんなWindowsマンセーなのね。。。
566うん。気に食わない。:2001/07/10(火) 20:30
なぜかmswin32版だけ ruby-lang.org には置いてないし。
ここまで露骨に差別しなくてもいいのにね。
567デフォルトの名無しさん:2001/07/10(火) 21:55
メンテナが自分のサイトに置いた方が楽だからだろう。
ミラーしようという話が出れば、すんなり通ると思う。

Windows が差別されているとか言ってるやつらは動かなさすぎなんだよ。
FreeBSD や NetBSD や MacOS X の人たちは、みんな修正してくれって
言って修正してもらってるじゃん。UNIX だからかどうかなんて関係ないよ。

なかださんとかわたなべさんとか、 Windows のことをよく分かっていて
まつもとさんにも信頼されている人がいるんだから、ちゃんと動けば希望も
通せるんじゃないの?
568デフォルトの名無しさん:2001/07/10(火) 22:09
>>565
Windowsユーザにはコミュニケーション力が育っていないだけのような気がする。
2chで文句垂れたりあきらめて見せたりして発散するだけというのが多数派のようだ。
誰かが2chの意見を吸い上げてうれるのを待ってるだけなんてもどかしすぎるよ。

そういう態度は、優先度が低いままなのを甘受するということを意味する。
フラストレーションをハングリー精神に置き換えて、どんどん求めればいいんだ。
569デフォルトの名無しさん:2001/07/10(火) 22:11
頼んだくらいでやってくれるんなら、頼む前からやれよ。
頼むとか頼まないとかの問題じゃねーだろ。
そのわたなべとかそういう人たちは何やってるんだ?
570デフォルトの名無しさん:2001/07/10(火) 22:18
何様だよ。。
571デフォルトの名無しさん:2001/07/10(火) 22:20
駄々っ子だな。何して欲しいかも言えない赤ん坊。
572shige:2001/07/10(火) 22:23
口を開けて待っていれば、いつか誰かがやってくれるってか(笑)
甘ちょっろい事言うなよ。
このガキが。
573デフォルトの名無しさん:2001/07/10(火) 22:28
569 みたいな厨房がいるからって、他の Windows ユーザは委縮しなくていいよ。
こうしてほしいというのがあれば、遠慮なく ML に投げてみてくれ。
574デフォルトの名無しさん:2001/07/10(火) 22:45
>>569は開発者が心を読む力を持っていると思ってるらしいw
というわけで>>573に同意。ただし、最低限の礼儀は守って。
575うん。気に食わない。:2001/07/10(火) 23:50
漏れはもうインストールして遊んでるし、他人のために動く気もないんだよねぇ。
Windowsユーザは面倒くさがりだから、たぶん要望なんか出ないよ。
(他人が使いやすいものを提供するなら利用しよう、そうでなきゃ他のもん使えばいいや、という文化)
「Ruby1.6.4(WIndows95/98/2000/Me) ダウンロードはこちら」みたいな誘導に慣れてるから、
cygwinとかmswin32なんて言われても宇宙語にしか見えないだろう。

まあ手を出しやすくしたらしたでMLに「なんだかわからないけど動きません!大至急Resください!」
みたいなメールを投げる人種は確実に増えるしね。
Perlをリプレイスするのが夢らしいが、シェアや知名度よりコミュニティの平和/レベル維持を図る
というのも自由だから、お好きにしてください、という感じ。


そういえば、何でもオブジェクトなんだから組み込みクラスの説明はとても重要なはずなのに、
各クラスの説明にはサンプルコードも無い。こういうのも厨房避けなんだろうか。
志が高いと色々大変ですな…。
576デフォルトの名無しさん :2001/07/11(水) 00:14
>>575
組み込みクラスのサンプルは、Dave&AndyのProgramming Rubyなり
riなりに載ってるやつじゃだめですか? 説明は英語だけど、リファレンス
なら日本語のがありますし(日本語しかないのはちょっとまずい)。
577デフォルトの名無しさん:2001/07/11(水) 00:49
厨房やだだっこを切り捨てる限り、PerlをReplaceするなんて無理無理。
578デフォルトの名無しさん:2001/07/11(水) 01:03
別にPerlを排斥する必要なんてまったくないし、Perlユーザを改宗させる必要もないよ。
PerlでやっていたことをすべてRubyでもできるようになれば万々歳。
579デフォルトの名無しさん:2001/07/11(水) 01:07
>>575

>そういえば、何でもオブジェクトなんだから組み込みクラスの説明はとても重要なはずなのに、
>各クラスの説明にはサンプルコードも無い。こういうのも厨房避けなんだろうか。
>志が高いと色々大変ですな…。

それだ。
俺にとって一番楽しくないプログラミングが、「他人の作ったライブラリの使い方や挙動がよくわからないで苦労する」こと。DirectXとか。
Rubyは楽しいプログラミングをお題目に掲げているが、慣れない言語で書かれたコメント皆無のライブラリのソースコードを読まないと何も出来ないというのは、どう考えても楽しくない。
Rubyは作者が日本人だから、ドキュメントなどの日本語対応度が高いのどうの言われるが、Perlの方がよっぽど良い。

まぁ、マニュアルの売り上げで開発費の元を取るビジネスモデルのつもりなら、文句つけるのは筋違いだけど・・・結構御布施してるし・・・。
580497:2001/07/11(水) 01:33
>>546
わかりやすいHPですね。日本語訳へのリンクもあり、大変参考になります。
私も一瞬セクション6でぬか喜びしたのですが、そのHPには大きな見落としがあると思います。

> a) Accompany the work with the complete corresponding
> machine-readable source code for the Library including whatever
> changes were used in the work (which must be distributed under
> Sections 1 and 2 above);

とありますが、「(which must be distributed under Sections 1 and 2 above)」
が何を修飾しているかが問題です。
この「(which must be distributed under Sections 1 and 2 above)」を
先ほどのHPでは見落としているのではないかと思います。
そのHPからリンクが貼ってある日本語訳ではなぜかchangesを修飾してるようですが、
これは誤訳でしょう。
私は「the work」を修飾してるものだと思い込んでいましたが、「source code」を
修飾してるとも考えられますね。前者ならやはりRubyはLGPL違反。後者ならRubyは
バイナリなら違反をなくすことが出来ると思います。私には両方の解釈がありえる
としか思えないです。誰か英語力のある方の見解を聞きたいところです。

ところで、LGPLの新しいバージョンのセクション6の b) はかなり緩いですね。
このb)はかなり使えると思います。
それに加えて、私の考えが正しいならばの話ですが、新しいバージョンのLGPLで
ソースコードも灰色にすることが出来ると思います。
LGPLは、配る人が新バージョンでライセンスすることも出来るはずなので、
まつもと氏が新バージョンを選択すれば解決に一歩近づくのではないで
しょうか?

>>554
> regex.[ch]以外のコードはRuby's で配布されるとドキュメントに書かれて
> いるので問題ないのではないでしょうか? 別に違反していないと思うの
> ですが

そう書いてあるから問題だと思うのです。regex.[ch]以外のコードもLGPLにしなければ
違反ではないでしょうか?
581ぎこるび:2001/07/11(水) 01:36
確かに初心者向けのサイトが皆無ですね。
休眠中のサイトを復活させようかな…

閑話休題。
リファレンスマニュアルは RWIKI なので誰でも編集できますよ。
http://www.ruby-lang.org/ja/man-1.6/index.cgi?cmd=view;name=Ruby%A5%EA%A5%D5%A5%A1%A5%EC%A5%F3%A5%B9%A5%DE%A5%CB%A5%E5%A5%A2%A5%EB

Array なんかは結構例がついているので、それを参考にしてどんどん書いてみては?
http://www.ruby-lang.org/ja/man-1.6/?cmd=view;name=Array
582デフォルトの名無しさん:2001/07/11(水) 01:36
windowsのバイナリが置いてあった方が良いなんて当たり前じゃん。
そんなことすらユーザーの心を開発者が読まないとわからないらしい。(w
583ぎこるび:2001/07/11(水) 01:38
>>582
おいてありますよお。
http://www.ruby-lang.org/ja/download.html
mswin32版配布先へのリンクもはってありますし。
584デフォルトの名無しさん:2001/07/11(水) 01:41
結局RubyはどうあがいてもLGPLに違反しているのか?
585デフォルトの名無しさん:2001/07/11(水) 01:53
何をして欲しいのか言えないだけかと思ったら、何が達成されているのか自分で把握しようともしないわけね。クズだな。
586デフォルトの名無しさん:2001/07/11(水) 02:01
Rubyは違法屑ソフト。
587ぎこるび:2001/07/11(水) 02:03
いやでも Windows のバイナリというと
exe クリック一発インストールなイメージですよね。
そういうインストールキットもあるんですが(Andyところじゃなくて)、
全然メンテされてませんしリンクもはってません。
そういう意味では置いてないかも。
588デフォルトの名無しさん:2001/07/11(水) 02:22
ActiveScriptRuby は Ruby-mswin32 のページにリンクがあって一発インストールだしちゃんとメンテナンスされてるだろ。。
589名無しさん:2001/07/11(水) 02:27
apacheとか見てると、最近は.msiとかいう形式で配布するのがカコイイみたいだが?
590デフォルトの名無しさん:2001/07/11(水) 02:28
>>585
このスレで執拗にRubyを煽ってるだけだろ。shigeかも。
591デフォルトの名無しさん:2001/07/11(水) 02:31
使う側の注意としては、 ruby 自体は LGPL で扱い、自分のソフトに組み込む場合はスタティックリンク
でなくダイナミックリンクにしておけば問題ないと思われる。
592デフォルトの名無しさん:2001/07/11(水) 02:32
>>589
ActiveScriptRubyはまさにそのmsi形式だよ。
593デフォルトの名無しさん:2001/07/11(水) 02:35
>>591
しかし大本のrubyが違反していたらlgplの権利は全部失われるんだぜ?
594ぎこるび:2001/07/11(水) 03:03
>>588
あ、忘れてた。<こればっかり……、まじ鬱
いつの間にか色々してくれるようになったみたいですね。
実は regsvr32.exe 使って自分で登録する頃にインストールしたきりで。
ruby-lang.org から直接サイトにリンクしてほしいですね。
595デフォルトの名無しさん:2001/07/11(水) 03:15
>>593
LGPL で扱っている限りは Ruby に含まれるどのファイルのライセンスにも違反しないから、
「使う側」が咎められることはないと思うのだけど、どうかな?

LGPL をタテに regex.[ch] の権利者が要求できる権利というのは、 Ruby を LGPL でライセンスしろ、
ということだけだよね?たとえ賠償を求めるとしても、それは LGPL に違反した取り扱いをした人しか
対象にはならないし。
596デフォルトの名無しさん:2001/07/11(水) 03:28
>>594
mswin32 プラットフォームの中には ActiveScriptRuby もある、というリンク構成なので、
件の mswin32 のページの ActiveScriptRuby へのリンクをもっと上の目立つところに
置いてもらうと、いいかも。

何にしても、これで改善できることが一つ見つかったんだから、動いてみてよ、Windowsユーザの人。
597596:2001/07/11(水) 03:32
ぎこるびを指名。(w
598デフォルトの名無しさん:2001/07/11(水) 04:27
LGPLの勉強になった。
599shige:2001/07/11(水) 05:30
俺じゃない。
600デフォルトの名無しさん:2001/07/11(水) 06:20
んで、バイナリで配る時はBSDLの問題もあるよな。
ライセンスウゼー。
601514 :2001/07/11(水) 13:05
>>580
「(which must be distributed under Sections 1 and 2 above)」は
(ライブラリの)source codeだと思います。そうでないと、その後の
「and, if the work is an executable linked
with the Library, with the complete machine-readable "work that
uses the Library", as object code and/or source code,(以下略)」
の意味がとれなくなりませんか?

「LGPLを新バージョンにするかどうか」は、旧バージョンで配布しているものは
新バージョンでも配布できるので、その辺は再配布したいひとにお任せ、という
のがまつもとさんのスタンスかと思います。

ちなみに改変したライブラリをソースで再配布する(=Rubyのオリジナルが
行っている再配布方法)には、第1節と第2節を守ればよくって、第6節は関係ない
のでは?
602デフォルトの名無しさん:2001/07/11(水) 17:10
>>600
(旧)BSDLの問題はないです。ライセンスの文面には宣伝条項が残っていますが、それは過去の著作権者に
無断で変えられないから残っているだけで、 UCB からは「もう宣伝しなくていいよ」という通知が
何年も前に *BSD コミュニティに通達されています。(という話は ML に既出)

よって、宣伝条項は無視していいです。著作権表示は、配ったときの CD-ROM の中のどこかの
ドキュメントに入っていれば問題なし。(まあ、 Ruby のソース配布を含めておくのが簡単だろう)
603デフォルトの名無しさん:2001/07/11(水) 23:40
でもいちいちバイナリ配布するのにソースも含めるのか?
サイズがでかくなって嫌だな。
604497:2001/07/12(木) 02:00
>>591
なるほど。たしかに第三者は権利を失いませんからね。
複雑ですが、

・LGPLとして配布することにして、それを実際に配布する。
・その配布したものを使うことにする。
・Ruby以外の部分が、独立して一つの「Rubyを使う作品」だということにする。
もしくは、新しいLGPLでRubyバイナリを配布してセクション6のb)を使ったことにする。

という手順を踏めば使う側としては大丈夫だと私は思います。どうでしょうか。

>>600
そういったライセンスの文面を配布アーカイブのドキュメントに含めないと
いけないかもしれないですね。

>>601
>「and, if the work is an executable linked
> with the Library, with the complete machine-readable "work that
> uses the Library", as object code and/or source code,(以下略)」
> の意味がとれなくなりませんか?

なぜでしょうか?セクション1、2にはこれと矛盾する記述はありませんよね?
ソースコードやオブジェクトコードを配布してはいけないという記述は無い
ですから。
それ以外の後半の意見は全て同意します。

私の今のところの意見まとめると、

・Rubyの、ソースコードのみで配布されてるものは現在LGPL違反であり、
バイナリは適切な配布の仕方をすれば灰色になる。
・ただし、再配布者がLGPLで配布し、regex.[ch]以外のライセンスも守れば再配
布者に限っては違反で無くなる。
・regex.[ch]のライセンスを新ライセンスにして配布すれば、灰色になる。
・だから、せめて、公式の配布を灰色にするために、まつもと氏がregex.[ch]の
ライセンスを新ライセンスにして配って欲しい。

ということです。
605デフォルトの名無しさん:2001/07/12(木) 03:08
これがきっかけでruby消えるといいね!
606デフォルトの名無しさん:2001/07/12(木) 03:34
別に明示しなくても、任意の時点で(例えば、取り扱いについて問いただされたときに)「最新の LGPL で扱っています」
と言えば済むのが LGPL ではないの?

添付の COPYING.LIB を最新の Lesser の方にした方がいいというのは確かにそうだけど。


>>605
Rubyが消えても一番ダメなキミは残るね!
607デフォルトの名無しさん:2001/07/12(木) 04:38
>>606
つーか、古いバージョンの文面を載せて配布したら
古いバージョン使って配布してることにしかならんだろ。
608デフォルトの名無しさん:2001/07/12(木) 04:51
LGPLはバイナリだけで配布することは出来ないのか?
609544:2001/07/12(木) 06:10
>>580
> とありますが、「(which must be distributed under Sections 1 and 2 above)」
> が何を修飾しているかが問題です。

どちらを修飾しても意味は変わらないと思います。
なぜなら、Sections 1 and 2 では、
「"the Library" (or with a work based on the Library)」
のみについて制限しているためです。
たとえ上の関係節が、
"the work" = "(portions of) the Library" + "the work that uses the Library"
の全体を修飾しているとしても、実際に関係するのは前者の方だけで、
"the work that uses the Library" の方は与り知らぬことになります。

つまり、「変更点を含む"the Library"」をLGPLで配布し、
"the work that uses the Library" の
少なくともソースを適切なライセンスで提供すれば、
それを結合して作ったバイナリ全体も好きなライセンスにすることができる、
と読むべきでしょう。

ただし、Rubyがこれに違反しているかどうかは別問題で、
Sections 1 and 2 に沿っているかどうかによるでしょう。
私は、regex以外は "the work that uses the Library" だと思う。

>>603 >>608
ソースを添付したくなければ、LGPL 6節 b)以降のどれかに従えばよいかと。
610デフォルトの名無しさん:2001/07/12(木) 08:27
>>609
"the work" = "the work based on the Library" = Section 2の対象
611609:2001/07/12(木) 09:14
>>610
この等式が成り立つとは考えられない。
ライセンスの文面には "work" が違う意味で出てくるでしょ。
なのに単に "the work" とだけ出てきたら、
その直前に出てきた"work"、つまり6節の冒頭の
"a work containing portions of the Library"
を指すはず。
612514:2001/07/12(木) 09:50
>>604
>なぜでしょうか?セクション1、2にはこれと矛盾する記述はありませんよね?

いわゆる経済性の原則によるものです。「きみは○○しなければならない。
そしてきみが××ならば、きみは△△しなければならない」という文があった
とき、○○の意味が△△の意味をふつう含まない、というか。
もっとも、そういう言葉の使い方は冗長でヘン、というだけなので、そういう
使い方がありえない、というわけではありません。

私は『今のRubyの配布は基本的には問題ないけど、バイナリ配布の方法はちと
めんどくさいことがある』という意見なので、497さんの意見とはいまいち
理解できないのでした。

497さんは、例えば「LGPLなライブラリをリンクして使用するBSDライセンスな
プログラム」というものは、ソース形態ですら配布できない、という意見なん
でしょうか?
613デフォルトの名無しさん:2001/07/12(木) 14:30
>>611
成り立つよ。>>508を参照。
614497:2001/07/13(金) 00:58
>>609
「the work」は「Library」を含むわけですから、全体として「work based on the
Library」になるはずです。
確かに、regex以外の部分は「the work that uses the Library」のような気が
します(しかし、私にはそうだと言い切れません)。
しかし、セクション2や前書きなどに書かれていることをみると、ライブラリ以外の
部分を独立した離れた作品とみなせなければ、全体がLGPLに従わなければ
ならないと書いてあります。
そして、Rubyはみなせないように見えます。理由は以前書いた通りです。

>>612
なるほど、言われてみれば、その通りですね。おそらくsorce codeを修飾する
と考えた方が自然でしょう。

> 私は『今のRubyの配布は基本的には問題ないけど、バイナリ配布の方法はちと
> めんどくさいことがある』という意見なので、

私も、バイナリ配布については、複雑な条件をクリアすれば問題無しに出来ると
いう意見です。
しかし、なぜソースでの配布が問題無いのでしょうか?
仮にセクション6の問題箇所がsorce codeを修飾しているとしても、
古いLGPLでは、セクション6はバイナリにしか適用されないと考えるのが
自然ではないでしょうか?
ですから、今のソースの配布は問題だと思います。

すぐ出来る解決法としては、

・regex.c以外の部分が独立した作品であると宣言する
・regexに新しいLGPLを採用する

というのが考えられます。前者は本当に宣言通りになっているのかが問題で、
後者は、それで本当にセクション6が適用できるのかどうかが問題です(すなわち、
regexが本当にライブラリで、それ以外が本当にライブラリを使う作品なのか)。
その上、後者ではセクション6の解釈の問題も一応あります。
どっちにしろ灰色には出来ると思いますし、どちらかを採用すれば、私見では白に
近いと思います。
615497:2001/07/13(金) 01:09
>>612
> 497さんは、例えば「LGPLなライブラリをリンクして使用するBSDライセンスな
> プログラム」というものは、ソース形態ですら配布できない、という意見なん
> でしょうか?

LGPLには、そのプログラムが独立した作品だと合理的に考えられれば大丈夫と
書いてあるように思います。
その判断は難しいですが、その場合に当てはまるなら大丈夫だと思います。
616609:2001/07/13(金) 07:20
>>610 >>613 >>614
そうか。section 2 に差し戻された時点ではそうなりますね。失礼しました。

>> 614
> そして、Rubyはみなせないように見えます。理由は以前書いた通りです。

結局みなせるみなせないに行き着くので、なんだかな、と。
もうちょっと改善した方がよいというのは同意します。
617デフォルトの名無しさん:2001/07/13(金) 09:37
ライセンスはちゃんと考えた方がいいね。
無関心でいたがるプログラマ多そうだし。
618514:2001/07/13(金) 12:35
>>614
>しかし、なぜソースでの配布が問題無いのでしょうか?
ライブラリのソースでの配布に関することは、第1節(修正しない場合)と
第2節(修正する場合)ですよね?
ここを守れば何の問題もないのでは?

そして、ライブラリを利用するプログラムについても、第5節で、
「Such a work(注:"work that uses the Library"のこと), in isolation,
is not a derivative work of the Library, and therefore
falls outside the scope of this License.」
とあります。つまり「outside the scope」だと。
さらにこの後に、
「 However, linking a "work that uses the Library" with the Library
creates an executable that is a derivative of the Library (because
it contains portions of the Library)」
とありますが、これはリンクして実行形式を作った場合のことです。
よってソース配布について制限を加えるものではありません。
619514:2001/07/13(金) 12:36
497さんが「プログラムが独立した作品でなければならない」とする根拠は
どの辺りにあるんでしょうか?
LGPLは、どちらかというとその逆の、「ライブラリが(プログラムから)
独立していなければならない」、つまり配布されたひとがライブラリを
いじっても、そのプログラム全体と再リンクしていじることができる、
ライブラリ自体を「自由」にいじれることを求めているように読めます。

第2節にも、
Thus, it is not the intent of this section to claim rights
or contest your rights to work written entirely by you;
rather, the intent is to exercise the right to control
the distribution of derivative or collective works based on
the Library.
とありますし。
620デフォルトの名無しさん:2001/07/13(金) 13:34
ハァ?
621499:2001/07/13(金) 13:35
>>619
同意。

しかも、ライブラリ自体は他に転用できる形[*]で維持されており、
LGPLの意図を十分に尊重していると言える。

[*] 細かい部分が多いが、 ruby インタプリタと通信する部分は
律儀に #ifdef RUBY 〜 #endif で括ってある。
622499:2001/07/13(金) 13:43
実際、 Ruby の regex.[ch] は PHP3 国際版にそのまま転用されていて、
regex.[ch] のライブラリ性という点の主張を補強する実例となっています。
623デフォルトの名無しさん:2001/07/13(金) 15:16
Namazu の正規表現部分も Ruby のじゃなかったっけ?
624デフォルトの名無しさん:2001/07/13(金) 16:20
そうですがなにか?
625デフォルトの名無しさん:2001/07/13(金) 17:41
煽りのレベルが低すぎる!
626shige:2001/07/13(金) 23:02
http://www.japu.org/
むかつく。潰す。
627497:2001/07/13(金) 23:38
>>618
その部分は「in isolation」や「(because it contains portions of the Library)」
の部分が重要です。
つまり、独立した作品なら「outside the scope」であり、ライブラリを含んだ場合
はLGPLによってカバーされるということだと思います。
セクション1と2に違反しなければ良いというのはその通りなんですが、セクション2に
は497で私が引用した部分があります。

> But when you
> distribute the same sections as part of a whole which is a work based
> on the Library, the distribution of the whole must be on the terms of
> this License, whose permissions for other licensees extend to the
> entire whole, and thus to each and every part regardless of who wrote
> it.

つまり、全体の一部としてregexを配る限りソース全体がLGPLに従わなければ
ならないと思うのです。

>>619
私の言い方が悪かったのかもしれませんが、「大丈夫」というのは
「LGPLに違反しない」というだけの意味です。
LGPLの目的や意図に言及したわけではありません。
628デフォルトの名無しさん:2001/07/13(金) 23:45
ライセンス問題にするなら、
g正規表現部ぐらい作り直せよとか思ってしまうが。
629497:2001/07/13(金) 23:45
すみません。正確には、全体の一部として「regex以外」を配布し、全体が
「a work based on the Library」なら全体がLGPLに従うということですね。
結局同じような意味ですが。
630デフォルトの名無しさん:2001/07/13(金) 23:52
matz氏の望みどおりのライセンスでっち上げて
それと相容れない部分のコードを削るなり
作り直すなりすればそれでいいじゃん

好きに使え。ただし俺を訴えるな。
ってのが一番自然だと思うんだけど。
631デフォルトの名無しさん:2001/07/14(土) 00:00
rubyから正規表現取ったらクソしか残りませんか?
632デフォルトの名無しさん:2001/07/14(土) 00:04
PerlやPythonのを使うってのは駄目か?
633デフォルトの名無しさん:2001/07/14(土) 00:16
soやdllにして外部から組み込む様にすれば?
634633:2001/07/14(土) 00:17
ageちゃったスマソ。
オンデマンドローディングとか、かっこいいとおもう。
635デフォルトの名無しさん:2001/07/14(土) 01:21
正規表現使わないスクリプト言語プログラムって、あんま無いと思う・・・
636デフォルトの名無しさん:2001/07/14(土) 01:59
コーラは人間が飲む飲み物じゃない。
637デフォルトの名無しさん:2001/07/14(土) 02:09
でも今飲んでる。
他にドリンクが無いから。
638デフォルトの名無しさん:2001/07/14(土) 02:20
他の飲み物買ってこいyo!
639デフォルトの名無しさん:2001/07/14(土) 02:29
外暑い
640デフォルトの名無しさん:2001/07/14(土) 02:32
じゃあフロにでも入れyo!
641デフォルトの名無しさん:2001/07/14(土) 02:32
中も暑いぞゴルァ
642デフォルトの名無しさん:2001/07/14(土) 02:36
会社で寝泊まりしたいこの頃
残業代+光熱費
でも仕事したくない4!
643デフォルトの名無しさん:2001/07/14(土) 02:46
>>642
会社で寝泊まりって、寝袋か?
それとも仮眠室やベットあんのか?
644デフォルトの名無しさん:2001/07/14(土) 02:50
ふぃー
      ∧_∧
     ( ´_ゝ`) 
    /     \
   / /\   / ̄\
 _| ̄ ̄ \ /  ヽ \_
 \ ̄ ̄ ̄ ̄ ̄ ̄ \__)
  ||\            \
  ||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄
  ||  || ̄ ̄ ̄ ̄ ̄ ̄ ̄||
  ||  ||           ||
645デフォルトの名無しさん:2001/07/14(土) 02:55
机の上で寝袋。>643
646デフォルトの名無しさん:2001/07/14(土) 03:04
oioi机の上で寝るなyo!
647デフォルトの名無しさん:2001/07/14(土) 03:09
>>636-646
きみらの気持ちは分かるが、スレ違い。
雑談スレって無かったっけ?
648デフォルトの名無しさん:2001/07/14(土) 12:32
ハッシュのスライスに対して配列を代入するのはどうすればいいんでしょうか?

names = [ 'foo', 'bar' ]
hash.indexes( *names ) = str.split( /,/ )

としたのですが、indexesの結果に代入はできないのか、parse error。

tmp = str.split( /,/ )
names.each_index{ |i| hash[names[i]] = tmp[i] }

だとできますけど、わざわざ一時配列なんか作りたくないんですが。
649デフォルトの名無しさん:2001/07/14(土) 12:39
str.split(/,/).each_with_index {|value,i| hash[names[i]] = value }

なら一時配列は作らなくていいんじゃないかな。

Perlの @hash{@keys} = @values; って確かに使うことはあるんだけど、
メソッドとして用意するほどのものか、というと疑問はあるんだよね。
いい案を思いついたら提案して。
650デフォルトの名無しさん:2001/07/14(土) 13:27
ほう。perlのは随分とわかりやすいね。
651shige:2001/07/14(土) 13:42
苛めるぞ。
652デフォルトの名無しさん:2001/07/14(土) 14:08
>>651
思考停止で脊髄反射してないで何か案を考えろよー。
Perlよりもよくしようという気がないなら苛めるぞ。

Rubyは配列でも何でもハッシュのキーにできるから、
hash[ary1] = ary2 で一括代入するようにはできないんだよな。
hash[*ary1] = *ary2 も []= の文法上できない。
Array とインターフェースを合わせることも考えると案外難しいし。

ということで hash.____(keys, values) という形が無難だとは
思うんだけど、メソッド名は何がいいかな?mset なんてのじゃかっこわるい。
653648:2001/07/14(土) 14:36
>>649
どもです。each_with_index なんてあったんですね。
勉強になりました。

>>652
ついでにArrayにも array.____(indexes,values) という形のものが欲しいです。
654デフォルトの名無しさん:2001/07/14(土) 19:03
>>652
> ということで hash.____(keys, values) という形が無難だとは
> 思うんだけど、メソッド名は何がいいかな?mset なんてのじゃかっこわるい。

少し前にMLで、obj.foo(arg1) = arg2 を obj.foo=(arg1, arg2) と等価にする
という案が出てた。これができれば解決するじゃないかな。

class Hash
 def indexes=(*keys)
  vals = Array(keys.pop)
  keys.length == vals.length or raise ArgumentError, "length mismatch"
  vals.each {|v| self[keys.shift] = v}
 end
end
655デフォルトの名無しさん:2001/07/14(土) 22:19
>>652

別のクラスを作って、そこにそういう機能を入れるという手はどうだろ?
試しに、別スレで作ったクラス(PerlValue)に追加してみた。
http://walrus-ruby.hoops.ne.jp/perlvalue/perlval.rb

hash = PerlValue.new
str = "hoge,fuga"
names = [ :foo, :bar ]
hash[names] = str.split( /,/ )

p hash[:foo] # => "hoge"
p hash[:bar] # => "fuga"

ついでに、こんなこともできた。

hash['あ'..'ん'] = 'ア'..'ン'
p hash[['か', 'な']] # => ["カ", "ナ"]
print hash["おまえもな".scan(/./)] # => "オマエモナ"
656デフォルトの名無しさん:2001/07/15(日) 13:35
Rubyを何に使うかが重要だけど、オブジェクト指向を勉強する言語として
選ぶならSmalltalkをまず最初に選択した方が、将来に繋がっていくよ。
657デフォルトの名無しさん:2001/07/15(日) 14:32
>656
「その条件で」選ぶなら、rubyでも十分良いと思うけど。

ただ、それ以外に、「OOPを使ったらこんなことも(簡単に)出来るんだぁ」
というのを経験するため、という意味なら、smalltalkのほうが
良さげだな。見聞が広がるのは多分あっちのほう。

文法がメジャー路線かどうか、という話は
この際わきに置いておくとして(わら
658デフォルトの名無しさん:2001/07/15(日) 16:26
Smalltalkは勉強しておくべきものだと思うけど、そっちに行ったきり帰ってこない人には
なってほしくないな。もっともっとOOのよさをいろいろなシーンで実践に移してほしい。

Smalltalkマンセーな人がたくさんいる、OOを前面に押し出している某社の内情は、
「棲み分けができています」などという言葉とは裏腹に。。(自粛)
659デフォルトの名無しさん:2001/07/15(日) 22:51
Hash の複数代入については ruby-dev にパッチが出た。
660デフォルトの名無しさん:2001/07/16(月) 00:09
>>658
いろいろなシーンってゆーけど、どうなの?
単にSmalltalk「を」いろんなシーンに適用すりゃいいんじゃねーの?

俺もこの考えはこないだまでドキュ極論に過ぎぬと思ってたのだが、
考えたらこれってまさに今Javaがやって旨くいってる路線なのな。

Smalltalk(+なんぼかのネイティブコード)でも、
パフォーマンスとかの意味で結構いけるわけじゃん。
Squeakの変態デモ(わら)とか見れば判るように。

じゃああとは適用の仕方の問題だけだ。

適用といえばどうしても思い出すのがrubyの姿勢なのだが(わら)、
unixのmakeに対するjavaのAntの「改良」点が、つまり決め手なのだと思う。

OS側のプロセスを叩く必要なんて殆ど無いんだよ。
1つの仮想機械にclassを順次ロードすりゃいいんだよ。
そのほうが(OOPの恩恵を受けるという意味で)柔軟性高いし、
速度も有利だ。

わざわざ旧来のシステムとのハイブリッド(わら)環境なんていう
うざいものに拘泥するより、Smalltalk(以外でも同じことだが:
つまりrubyだって同じことが言える)を
望むシーンに持ち込んだほうが、いろいろ良くないか?
ま、レガシーシステムのラッパーといえば聞こえがいいけどな(わら
661658:2001/07/16(月) 04:59
俺が指摘したいのは、普遍的適合性とか再利用性という妄想や幻想に
取り付かれすぎている人間が少なくないということだよ。

いつでもどこでもいつまでも、とでも言いたげに一つの器にこだわったりな。
現状では金持ちの玩具と言ってもいいレベルのODBを在庫管理やまして
勘定系にまで推してくる輩には閉口する。

ライフサイクルというものを考慮に入れずに再利用性云々を口にするのも
なんだかなーと思う。うまく適用できたときの感慨はひとしおなんだが、
いつのまにか見合わない労力をかける悪癖が身に付いてしまうようでは
本末転倒。
662658:2001/07/16(月) 05:02
まあ、ほとんど起こりもしないことまで気にしていろいろ工夫するのが
楽しかったりするのだけど、やりすぎや思い込みは禁物ということで、
ほどほどに。
663デフォルトの名無しさん:2001/07/17(火) 01:07
>いつでもどこでもいつまでも、とでも言いたげに一つの器にこだわったりな。

それを言っちまったら、rubyの…はどうでもいい(!)として、
OOPの、立場が無いんじゃないの?

立場ってのはナニかってーと、今実際にこれだけOOPが流布
していることの、「説明」がつかないじゃんか?ということ。
未来や過去のことじゃなくて。もろに1つの器じゃん。

色んなシーンね。ああ。
かったるいシーンを含めるっていう意味だったのか。
うーん。出来れば割り当てられたくない仕事だな。
というかもうお腹いっぱいというか。

蛇足だが、
>いつのまにか見合わない労力をかける悪癖が身に付いてしまうようでは

fork()について全く同じことを感じるよ。
まさかJavaごときに、「本当のOOPらしさ」という点で
足元すくわれるとは、思ってなかったなあ…しみじみ…。
プロセスなんて捨て捨て!という時代が、
多分そこまで来てるんだろうな。
664デフォルトの名無しさん:2001/07/17(火) 02:37
何か思い込みがあるみたいだけど、シーンなんていろんな切り方があるんだよ。
例えばOSという軸について切ってみる。

Rubyの現在のプライマリターゲットはやはりUNIX/POSIXとなっている。これは、
Windowsもが多くを受け入れたAPIだから、応用範囲を確保する意味では妥当と
言えるだろう。

その哲学をRubyはOOで斬って見せた。それが俺の言っている「シーンへの適用」の一例だ。
泥臭い仕事は泥臭い言語(Perlなど)でやらなければならないというパラダイムを崩してみせたわけ。

もちろん、RubyのコアがUNIXに依存しているわけではないから、WindowsというOO世界とRubyの
相性が悪くない(どころか抜群である)ことを実証している人たちもいる。
665デフォルトの名無しさん:2001/07/17(火) 02:49
あと、OOが一つの器ってのはおおざっぱすぎ。その解釈も適用の仕方もたくさんある。
何で「これだけOOPが流布して」いるのにエージェント指向なんてのが出てきたか、
説明できないじゃんか。
666デフォルトの名無しさん:2001/07/17(火) 02:54
何にしても、新しいパラダイムってどれもおもしろいね。jakarta-antはかなりいい。
667デフォルトの名無しさん:2001/07/17(火) 04:37
アレイスタークロウリーは知っとるかね?
668デフォルトの名無しさん:2001/07/17(火) 07:51
俺の言っているって言われても、誰が誰だかさっぱりわからん。
669デフォルトの名無しさん:2001/07/17(火) 17:40
分かるけど。同一人物という保証は何もないが。
670愚痴:2001/07/18(水) 23:51
デバッガないとつらいなぁ
671デフォルトの名無しさん:2001/07/19(木) 00:04
そもそも別に、OOやるのにrubyである必要性は全く無い。
そういうの取っ払った、ruby自体の話題きぼん。
672デフォルトの名無しさん:2001/07/19(木) 00:31
ruby - OO == nil
673デフォルトの名無しさん:2001/07/19(木) 00:59
>UNIX/POSIXとなっている。これは、
>Windowsもが多くを受け入れたAPI

おいおい。ありゃ、米国防省かどっかが
「これからPOSIXなOS以外は買わないよーん」と
言い出したから慌ててつけた機能だろ(わら

国防省だかが「技術的に十分よい」判断をしたかどうか?は別問題だ。
あの時期なら、単に消極的に「他の選択肢が無かった」とも言えるだろし。

>RubyのコアがUNIXに依存しているわけではないから

だから、
require 'unix'
っていう風にしろって。
require 'win32api'
と同じにさ。

>何で「これだけOOPが流布して」いるのにエージェント指向なんてのが出てきたか

エージェント指向は、ドキュな偽指向だ、ということで
結構評判は定着してたと思ったが?

というかmatz氏にもサクっと無視されてるしさ。

エージェントなんぞより、氏の「パラダイムシフトは
2回しかなかった」説のほうが、まだしも納得できるよ。
674デフォルトの名無しさん:2001/07/19(木) 01:01
C#のデリゲーションってどうやってやるの?
675デフォルトの名無しさん:2001/07/19(木) 01:02
matzはただ単にオブジェクト指向信者だからエージェント指向を
煙たがってるだけだろ。
Rubyはエージェント指向を考慮すると糞言語になってしまう
かもしれないしな。
676デフォルトの名無しさん:2001/07/19(木) 01:08
ところでエージェント指向って、まぢ、どこ行ったの?
最近は話すら全然聞かないのだが、ポシャってないの?

OOPの次というかもっと「高級」なものは、
いずれ出ないと駄目なのは間違いないが、
エージェントがそれだとは、ちと思い難い。

>Rubyはエージェント指向を考慮すると糞言語になってしまう

よし!きみ、指向^H^H思考実験スタート!
「エージェント指向つきになったruby」が
どんなソースになると思われるか、試しに書いてみてくれ!
とりあえず実装できるかどうか考えるのは(何年も)後回しでいい!
「ほら!エージェントだとこんなに楽!」ってのを見せてくれ!
677ぎこるび:2001/07/19(木) 01:16
ちとぎもーんなんですが、
エージェント指向ってプログラミングのパラダイムなんですか?
678デフォルトの名無しさん:2001/07/19(木) 01:21
679ぎこるび:2001/07/19(木) 01:29
うーん。システム構築のアーキテクチャの一つにしか思えないんですが。
激しく印象批評します。

*セキュリティが怪しそう。
*モバイルエージェントが本当にモバイルしたらトラヒックがすごそう。
*マルチエージェントは効率悪そう。

そういえばエージェントのスレってないですね。
情報システム板向きの話題?
680ぎこるび:2001/07/19(木) 01:32
実はネタにマジレス?
カコワルイので帰ります…
681デフォルトの名無しさん:2001/07/19(木) 01:33
>>678
これが本当に「現実のモデル化」になっているのか?
どっちかというと「願望のモデル化」に思えてならない。
弱い生き物である人間の、御都合主義な「願望」だ。
世界と旨く適合する保証がどこにもない。

Eコマース用語らしきものがいきなり氾濫してるのも胡散臭げ。

それはともかく、これはフレームワークの域だなあ。
682デフォルトの名無しさん:2001/07/19(木) 01:40
おとといからRubyをはじめて、
mswin32の1.6.3を使っているものですが、ちと悩んでます。

array_x = ["a","b","c","d"]
array_y = array_x
array_y.delete_at(3)
この時点で、array_yが["a","b","c"]になるのはわかるのですが、
array_xまで["a","b","c"]になってしまうのが腑に落ちません。

これはRubyの仕様?なのでしょうか?
683デフォルトの名無しさん:2001/07/19(木) 01:49
>>682
rubyの定番FAQっすな。

変数は(ほぼ)全部、参照です。ポインタです。矢印です。
ポインタを=で代入しても、Objectの「コピー」はされません。
もとのObjectをコピーした別のものが欲しければ、dupとかしましょう。

array_x = ["a","b","c","d"]
array_y = array_x.dup
array_y.delete_at(3)

これでお望み通りかと。

ちなみに、こんなの面倒だという奴が後を絶たないようだが(笑)、
実はrubyのこの仕様のほうが便利なんだな。
というのは、=でコピーされるようにしちまうと、
複数の変数が同一のモノを指すってのを
どう書くんだ?という心配をしないとならなくなる。
#あるいは、Cみたいに新しい記号(ポインタ演算子とか)を導入して
#地獄道にはまるか(笑)
684デフォルトの名無しさん:2001/07/19(木) 01:52
同一性の問題。>682
rubyは知らないけど、恐らく=で変数から変数へ代入しただけでは、
データの参照が増えるだけで、データそのものはコピーされない
んでしょうね。
データを完全に複製するメソッドが別にある筈です。
それを使いましょう。
685ぎこるび:2001/07/19(木) 01:53
出戻ります…

>>682
array_x と array_y が同じであることは id メソッドで分かります。

irb(main):001:0> array_x = ["a","b","c","d"]
["a", "b", "c", "d"]
irb(main):002:0> array_y = array_x
["a", "b", "c", "d"]
irb(main):003:0> array_x.id
84366440
irb(main):004:0> array_y.id
84366440

複製をしたいときは dup や clone を使いますが、そこにも罠が。
http://www.isc.meiji.ac.jp/~ce11725/ruby/tips/dup.html

この辺りの質問って公式のFAQにありましたっけ?
686デフォルトの名無しさん:2001/07/19(木) 01:58
>>683
ありがとうございます。今デスクトップリファレンスで確認しました。

危うくバグ発見とか抜けたことをMLに投げるところでした(^^;
687デフォルトの名無しさん:2001/07/19(木) 02:02
>複製をしたいときは dup や clone を使いますが、そこにも罠が。

rubyのFAQというか、これはOOP全体のFAQだな。
今、結城さんのデザパタ本を読んでみてるんだが、
当然のようにそこでもshallow copyについての指摘が出てくる。

で、その問題からヘタに逃げようとしたばっかりに
逆に泥沼にはまったのが、C++の変数埋めこみObjectな(わら
逃げられないんだってば、OOPでは本来。

>データを完全に複製するメソッドが別にある筈です。

それは(特定のclassの話じゃなく)一般論っすか?
だとすればそれは「無理」っす(^^;
だって、どこまで(ポインタを手繰ること)をもって完全と呼ぶか?を
一意に言えないっしょ。
688デフォルトの名無しさん:2001/07/19(木) 02:11
>>684 そういえばリファレンスにポインタ操作の項がないなあと思ってました。
   こういうことだったんですねー。

>>685 リンク情報ありがとうございます。今読んでます。なるほど・・・
689デフォルトの名無しさん:2001/07/19(木) 02:14
>>670
debug.rbは試した?
690684:2001/07/19(木) 02:22
lispならその辺明快なんだけどね。lispでは
同一
同値
同表現
の3つを別個として考えます。
691デフォルトの名無しさん:2001/07/19(木) 02:24
>>673
MS-C/VC++の標準ライブラリにはANSI Cの範囲を超えてUNIX互換関数があるし、
そもそもWindowsのTCP/IP(含Winsock)やファイルI/Oやファイルシステム操作って
UNIXのサブセットにしか見えないんだけど。

Windowsが標準でサポートしていない範囲を require 'unix' に追い出せ、
ということなら別に誰も外すにやぶさかじゃないだろうけど、むしろWin32向けに
がんばって独自に関数を用意しているところなんかは便利な気がするんだけどなあ。

具体的にWin32で不自由なところはどこかな?そしてそれはActivePerlなんかでは
どうなってる?なぜそんなことを聞くかというと、もしMSの資金でやっている
ActivePerlでさえダメなら、Rubyに望むのは酷ではないかと思って。
692デフォルトの名無しさん:2001/07/19(木) 03:22
Pythonはその辺分離されているけど、そこ自体はそんなに便利な気はしないなあ。
693デフォルトの名無しさん:2001/07/19(木) 06:10
>691
歴史を無視した発言
694デフォルトの名無しさん:2001/07/19(木) 13:59
>>693
Windowsユーザがその点について何も作ってこなかったという歴史か?(藁

標準にこだわる前にまずはデザインして作ってみりゃいいじゃねえか。
二年も三年も経つんだから、愛想を尽かすか手を動かすかはっきりしろって。
695デフォルトの名無しさん:2001/07/19(木) 14:05
Windows以外はみんなUNIX系という現状では、互換性のラインを引けるのはWindows使いだけなのにね。
696670:2001/07/19(木) 15:09
さんきゅ。
まだバグは取れていないけど、
printデバッグの苦しみから解放されそうです。
697デフォルトの名無しさん:2001/07/19(木) 15:58
698670:2001/07/19(木) 16:53
普段使っていますが、
急ぎ用のプロトタイプを作成していたので、
メンドイからいいや、と思っていたのですよ。
したら、これだもの・・・

結論:どのみちRubyUnitを使った方が効率イイらしい。
699デフォルトの名無しさん:2001/07/19(木) 17:25
>>691
>Windowsが標準でサポートしていない範囲を require 'unix' に追い出せ、

いや、ちょっと違う。

二つのOSのことしか考えない、というわけじゃなく。
template methodパターンみたいなもんだが、
Winだのunixだのの具体的OSに依存しそうなところは
「全部」追い出せばいいのよ。

少なくとも1+1やiteratorはOSには依存するまい。
forkやselectはばりばり依存だな。
(rubyにゃ無いが)CreateProcessもそう。
Threadは依存しないがタイマを参照する部分「だけ」がOSに依存する。

…そんな感じ。必ず全てにおいてきちんと線が引けるとは
言い切れないけど、だいたいは出来るんじゃないのかな?

そういやPalmに乗せようとしてる人がいるってのは本当?
これでOSは3つ目か(わら
そういや昔はMac版もあったんだったよね。
一応4つ目。
700デフォルトの名無しさん:2001/07/19(木) 22:29
>>699
DirクラスやFileクラスを標準で抱え込んでいる時点で、
ファイルシステムを持っているOSに依存しているような気がします。
実際ruby(コマンド名)を動かそうとすればそうなるのは当然なのですが、
逆にいえばファイルシステムの機能が無いOSへの移植は困難
または手間がかかる、ということではないでしょうか。

もしそうなら、文法周りや、他への依存性の無いクラスやモジュールだけで
作られたRubyの実装というのがあれば、他のOSというか環境への移植や、
アプリケーションへの組み込みも楽になるのではないかなぁ、と考えてます。

…考えるだけじゃだめなんだけど、やる時間がなくて…。
701shige:2001/07/19(木) 22:35
----------------------------------------------------
The End
----------------------------------------------------
702デフォルトの名無しさん:2001/07/20(金) 05:13
>>700
fs がない OS で scipt lang を使うのか? っていう問題が。
とはいえ、POSIX 準拠以外の OS 以外頭に浮ばなかったから、ヲレに
とっては新鮮な視点でした。ありがとう。
703700:2001/07/20(金) 16:45
>>702
ああ、ごめんなさい。>>700の「ファイルシステム」は「特定のファイルシステム」と
読み替えた方が問題無いと思います。元の文のままでも良いですけど、
ちょっと現実味がないですね。読み替えたら読み替えた出と別の意味に
なってしまったけど。ゴメンナサイ。

それはともかく、後半の「文法周りや、他への依存性の無いクラスや
モジュールだけで作られたRubyの実装」が欲しいというのが一番
言いたいことです。ただこれも現実的ではないかな、と思ってます。
というか、松本さんは書かないだろうなあ、と。
704デフォルトの名無しさん:2001/07/20(金) 17:14
>>700
超同意。Fileのことを失念していました。
確かにFileが格好の例です。
実際、linkという概念はunixにはあるけどwinには無いなど、
結構差があるわけで。MacやBeだとまた色々違うし。BTRONも。

>>702
FSが無いと使わない、と思う辺りが既にUNIXどっぷりの思考規定状態です。
そういやPalmにも移植するって言ってる人がいたんでしたよね。
PalmにゃFSないですよ(笑)。俺も驚いたんだが。
まぁえらく違う概念のもの(データ永続手段)はあるけどね。
あの移植を指差して徒労と呼ぶ度胸は俺にはないですし、
実際動くようになったら超便利だろうなと期待してます。

Fileについては、他の幾つかの言語のライブラリでは
「Stream」などというクラスが用意されている場合がありますね。
Streamはデータをシリアライズしてやり取りできる行き先(笑)
であるわけで、ファイル名があるかどうかは別問題
(それは別のクラスで表現する)です。MemoryStreamとか
NetworkStreamとかが兄弟クラスとして存在します。

OSレベルで「全部ファイルだ」という無茶な抽象化を
してるUNIXとは違うのだよUNIXとは(わら)。つまり
Streamという抽象概念が一発あって、そのサブとして
Fileなりなんなりがあるという。

で、あれはOberonだったと思ったけど、いわゆるファイルは
ファイル名クラス、Streamクラス、Openしてアクセスするiterater
であるところのRiderクラス、の3つだかで表現されてるそうです
(友人からの伝聞御免)
これくらい分けてくれると「綺麗」と呼べるですね。

あとrubyでIO「クラス」ってのが痛い。
あれがIO「モジュール」になっていて、かつその根底に
いきなりPOSIXの意味のIOが癒着(わら)してなければ
結構すっきりしたのにな。
名前(matz氏もそれを重んじるべきであることは認めてる)から
察するにこれが上記Streamに近いものとなったであろうに、
rubyではいきなりPOSIX。他の用途に転用できない。
そりゃ同じメソッドのクラスを全然別に自作すれば済むわけだが、
OOP的な姿としては、ちと釈然としないものが残る。
705名無しさん:2001/07/20(金) 19:47
そういや漏れは以前に、RubyのStringを、JavaでいうところのByteArrayInputStreamみたいに
使う事が出来なかったんで萎えた事があったなぁ。
706Rubyは絶対に流行りません!:2001/07/20(金) 23:13
Rubyを見てるとセガサターンをみてるようだ。
Perl(PS)よりも優れた仕様を持っていても、
見向きもされなきゃ駄目なわけよ。(ヒャハ!
707デフォルトの名無しさん:2001/07/21(土) 05:35
技術でも言語でも、日和見で流行ってから触れるんじゃ遅いわけよ。

ついでに言えば、ある程度普及した後で流行らないだのって煽りは間抜けなわけよ。
708デフォルトの名無しさん:2001/07/21(土) 12:09
>>705
each,each_byteと<<を使えばIOもStringも同じように使える。
それでいやならStringIO使う。
709デフォルトの名無しさん:2001/07/21(土) 16:12
英語のRubyの本が新たに二冊出版あげ。
710名無しさん:2001/07/21(土) 16:48
>>708
StringIOなんか無いよ?
Rubyのサイト行っても出てこないし。
711チャカポコ:2001/07/21(土) 21:26
だって将来性ないもの。>Ruby
712デフォルトの名無しさん:2001/07/21(土) 21:26
>>710
たしかにRAAにないね…。
MoonWolfさんのとこ。
http://www.moonwolf.com/ruby/archive/stringio01.zip

しかしraise "EOFError"はなんか違うだろう…。
713デフォルトの名無しさん:2001/07/21(土) 23:02
else ifとelsifでは、実行時のステップ数に差が出るのでしょうか?
出ないのならば、else ifの方を好みで使いたいのですが。
出るのなら、大差はないとて、ステップ数の少ない方を用いますけど。
714デフォルトの名無しさん:2001/07/21(土) 23:09
elseifの方がパースが楽だと思う。>713
バイトコードにでもコンパイルされる言語なら一度読んでしまえば
結果は同じだけど、Rubyはどうかな?
715714:2001/07/21(土) 23:11
上のelseifは、else ifじゃなくてelsifの方ね。
716デフォルトの名無しさん:2001/07/21(土) 23:59
つーかなんでelsifって名前にするのか疑問。
elseifでいいじゃん。
717デフォルトの名無しさん:2001/07/22(日) 00:53
dangling を許していないPerlやRubyでは、 else if と書くと
else と if を両方閉じないといけなくなるでしょ。

if cond
# ..
else if
# ..
end # ifの分
end # elseの分

elif や elseif でなく elsif にしてある理由はラクダ本に載っていた気がする。
718デフォルトの名無しさん:2001/07/22(日) 00:58
たしか、「ごめんなさい。そうしたんです。」と言う理由じゃなかったっけ…
719デフォルトの名無しさん:2001/07/22(日) 01:05
>>713
ほとんど出ない。elseもブロックをとるから、一〜二回NODEをたど
る回数が増えるが、ブロックの中が単一の文ならループで処理して
しまうので再帰にはならないのでオーバーヘッドは大したことはな
い。
でも>>717の理由からelsifの方を勧める。
720719:2001/07/22(日) 01:13
読み返したらなんか日本語変だよ。鬱
721ぎこるび:2001/07/22(日) 22:51
Rubyist! って Maki さんしか書かないんでしょうか。
それはともかく適当に面白そうなプログラムを拾ってみます。
(Rubyist! http://www.rubycolor.org/r/ )

*migemo
ローマ字のまま日本語をインクリメンタル検索するためのツール
http://migemo.namazu.org/
Rubyで実装。便利そう。Mewdowで試してみようかな。

*Ruby/DL
dynamic linking loader のインタフェイスライブラリ
http://kt-www.jaist.ac.jp/~ttate/ruby/ruby-dl.html
dl*()が無いとだめ、記述が特殊になる、
の2点を気にしなければ有用ですね。
722713:2001/07/23(月) 01:32
なるほど。else ifだとelse, if共にendしなきゃならないのか。
それをすっかり忘れていました。
んじゃ、素直にelsifを使います。
7236:2001/07/23(月) 01:34
724700:2001/07/23(月) 03:05
>>721
http://www.rubycolor.org/r/about.html

> 現状ではRubyist! Project Teamは現状(2001年7月現在)
> 高橋がひとりでやってます。でも、さみしいのでそのうち誰かを
> 勧誘するつもりです

とあります。
725デフォルトの名無しさん:2001/07/23(月) 03:24
>724
タイトルの絵とページの配色に異様なセンスを感じる。。

>まつもと ゆきひろさん、Ruby関連ML、www.ruby-lang.org などの
>活動との直接的な関係は一切ありません。
Ruby Home PageのWhat's newに情報を集めた方がいいと思うけど。
726デフォルトの名無しさん:2001/07/23(月) 09:15
>>724
開いたけどとっさに閉じてしまった。
職場だったので(w
727デフォルトの名無しさん:2001/07/23(月) 13:02
>>726
うん。CD2WAVのページも、とても会社で開けたもんじゃない。
728デフォルトの名無しさん:2001/07/23(月) 16:22
RDE(Ruby Development Environment)
http://homepage2.nifty.com/sakazuki/rde.html
729名無しさん:2001/07/23(月) 17:04
>>728
RubyのIDE使ってみたのは初めてだけど、こういうのもいいかも。
識別子の入力補完が出来る奴は無いのかなぁ。
730デフォルトの名無しさん:2001/07/23(月) 17:16
Emacsで事足りる、と思う。。
731デフォルトの名無しさん:2001/07/24(火) 02:39
>>725-726

Rubyist!のページの色が変わったよ。
どない?
732デフォルトの名無しさん:2001/07/26(木) 04:26
age
733デフォルトの名無しさん:2001/07/27(金) 13:23
>>731
「会社で開けたもんじゃない」ページになってしまっているのは、
ページ色使いよりはいちばん上の「オブジェクト少女Rubyちゃん」では?
# 違うのかな。
734デフォルトの名無しさん:2001/07/27(金) 14:57
>>709
まつもとさんのRuby本以外に2冊でるってこと??
それは目出度い!
735デフォルトの名無しさん:2001/07/29(日) 01:32
ERbLightを使って、erubyのexampleの、
ERuby::import(filename)
みたいなことを実現したいんですが、簡単にできますか?

単にファイルを読み込んだ文字列を表示させるだけではダメですよね。
(読み込み対象ファイルの中にも<%〜%>の記述を入れたい)
736デフォルトの名無しさん:2001/07/29(日) 02:25
Mac版のRubyってこれしかないの?
ttp://www.imasy.or.jp/~hisa/ruby/
737デフォルトの名無しさん:2001/07/29(日) 14:29
>>736
OSXでは完璧なのにね。
OS9は氏んだね。
738デフォルトの名無しさん:2001/07/29(日) 17:37
Rubyの使えるプロバイダで評判いいところはどこですか?
インストール可、というところも歓迎です。
739デフォルトの名無しさん:2001/07/29(日) 19:51
>>737
> OSXでは完璧なのにね。
何を指して完璧といっているのかわかりません。
make testが通る、という話ではありませんよね。

> OS9は氏んだね。
これって「MacOS9以前対応版Ruby」ってことですよね。
OS自体をさすならば、OS8.5を使っている僕はゾンビですか。

OS9以前のサポートは欲しい。
740デフォルトの名無しさん:2001/07/29(日) 20:34
>>739
OS9以前は「おもちゃ」だから
741デフォルトの名無しさん:2001/07/29(日) 21:25
MacOS(OSX以外)のマルチタスクって駄目なん?
Java2もまともに動かないみたいだけど
742デフォルトの名無しさん:2001/07/29(日) 21:55
>>741
OS8にて、Finder(デスクトップ操作)がマルチスレッドになった位ですな。
743デフォルトの名無しさん:2001/07/29(日) 22:16
>>734,>>709
日本では出ないのかえ。
744デフォルトの名無しさん:2001/07/29(日) 22:34
>>741
どれくらい「マルチタスクが駄目」かというと、なまじ駄目なために、
(自前の擬似マルチタスクで動くような)音楽アプリが
却ってwinより作りやすい、というくらいに(わら)、駄目だ。

おかげで、今までの音楽畑の客を絶やしたら困るんで、
Unix系なのにリアルタイム能力もきちんと出すべく
OSXの開発陣は相当苦労したらしい…
もちろんそれ自体は立派なことなんだけど、
ふりかえって考えれば、なんだかなぁ…と。
745739:2001/07/29(日) 22:59
どちらかといえば、MacOS自体の話はどうでも良くて、
MacOS9以前でRubyを動くとうれしい、というのが本題です。
ただ、「使いたい」と思う頻度が少ないので、
そこらへんを調べたりするモチベーションも上がりません。
また、MLを読んだりする分にはMacOS対応を希望する人の
声があまりない(ように見えた)ので、需要もないのでしょう。

>>744
> (自前の擬似マルチタスクで動くような)音楽アプリが
> 却ってwinより作りやすい、というくらいに(わら)、駄目だ。
それがだめかどうかってのは、ユーザの立場で変わりますよね。
シーケンサ使っていますので、私にとっては好都合ということで。
「マルチタスクOSとして正しくない」って話はしません。
というかそろそろスレ違い気味です。ごめんなさい。
746741:2001/07/30(月) 01:06
つうかJavaもRubyも言語でマルチスレッドサポートしてるんでないの?(Rubyはよく知らん)
マルチスレッドってOSレベルでちゃんと実装されてないと
その上で動く言語でもかなりの制限を受けるんじゃないかと思っただけ
747739:2001/07/30(月) 02:36
>>746
(いわゆる)スレッドの機能がないOS上でも
Rubyのスレッドは使えます。
748739:2001/07/30(月) 02:40
>>747
ああ、脊髄反射してしまった。

> (いわゆる)スレッドの機能がないOS上でも
> Rubyのスレッドは使えます。

とは書きましたが、ちょっと自信ありません。
ごめんなさい。
749デフォルトの名無しさん:2001/07/30(月) 03:12
Rubyのスレッドって擬似的なモノでしょ
750デフォルトの名無しさん:2001/07/30(月) 14:54
>748
使えます。
以下のページをどうぞ。

http://www-6.ibm.com/jp/developerworks/linux/ruby.html


>749
「疑似的」じゃなくて
OSのネイティブスレッドを使用していないっていうだけでしょ?
751739:2001/07/31(火) 07:48
>>750
フォローありがとうございました。なるほど。
752デフォルトの名無しさん:2001/07/31(火) 11:56
Ruby のスレッドはユーザーレベルで動くもの。
JDK の green_thread みたいなもんです。

どんな環境でもスレッドが使えるのはいいんだけど、
カーネルレベルで動くスレッドよりは重いし、
SMP の恩恵を受けたりはできないらしいです。
753デフォルトの名無しさん:2001/07/31(火) 13:15
>>752
> カーネルレベルで動くスレッドよりは重いし、

情報源はどこですか? 一般には、ユーザ空間のみで実装されたスレッドのほう


1. カーネルモードとユーザモードの切り替えが不要(特にスレッド間の同期を
  とる場合に、カーネルを介入させずに済む)
2. カーネルスタックが一つで済む

分だけ高速です。逆に、カーネルスレッドに支援されたユーザスレッドが有利な
のは次の点。

1. マルチプロセッサを効率的に利用できる
2. 同期システムコールを呼び出した際でも、呼び出したスレッドがブロックさ
 れるだけで、他のスレッドは実行を続けられる(ユーザ空間のみで実装され
  たスレッドでこの問題を回避するには、非同期システムコールを使うことに
  なる)
754デフォルトの名無しさん:2001/07/31(火) 13:19
>>743
たぶんamazon.co.jpで手に入るんでは。
Programming Rubyは買えましたよ。
755デフォルトの名無しさん:2001/07/31(火) 13:20
756デフォルトの名無しさん:2001/07/31(火) 13:33
>>755
さっそく、上司に読まします。。藁
757デフォルトの名無しさん:2001/07/31(火) 17:34
>>753
実装を見ればわかるけど、スタックをヒープにコピーしておいて
書き戻し、とかやってるので Ruby のスレッドはちと重いのです。
単純/強引な実装だからこそ、どの CPU でも OS でも動く。
758デフォルトの名無しさん:2001/07/31(火) 17:35
>>753
となると、「ユーザーレベル」であることは問題じゃなくて、
Ruby の実装が重いのかー? :-(

はっきり示せる情報源は まつもとさんの Ruby 本 です。
231 ページ スレッドを使って外部イテレーターをつくるとこ
> もっともスレッドはやや「重たい」道具なので
420 ページ setjmp/longjmp を使った Ruby のスレッドについて
> コンテキスト切り替えのためにスタック領域のコピーがおこりますので、
> 決して効率が良くありませんが
759デフォルトの名無しさん:2001/07/31(火) 20:04
>>758
>はっきり示せる情報源は
ソースコード読めよg
760デフォルトの名無しさん:2001/08/01(水) 01:49
>>757
すると「スタックは」ネイティブなものを使ってるわけね…?
スタック自体を自前で作るなら、別にコピる必要もなく、
スタックポインタのほうを次のスタックを指すように
いじっちまえば十分なはずで。
761デフォルトの名無しさん:2001/08/01(水) 15:24
>>760
そう。ただ「スタックポインタをいじる」のもあんまり
やりたくないんじゃないかな。アセンブラは書かない
方針だと思う。(GC のとこでちょっとだけ使ってるけど
まつもとさんが書いたのではなさそうだし)

じゃーなんでネイティブスレッド使わないかというと、
pthread にはスレッドの開始アドレスを取る API が
ない (→ conservative GC できない) から。

でも最近ではコンパイラが最適化かけるとローカル変数
自体がなくなっちゃって、結局 volatile 連発しないと
いけないからもう conservative はいらないのかなあ、
というのが今のところの流れ。
762デフォルトの名無しさん:2001/08/01(水) 15:46
>>761

半可通未満(つまり厨)のたわごとなんですが教えてください。

>「スタックポインタをいじる」のもあんまり
>やりたくないんじゃないかな。アセンブラは書かない
>方針だと思う

「ネイティブではない」つまりCPUレベルではないスタックなら、
(Cとかで)自作するだろうからアセンブラとは関係ないと思うのですが。
ネイティブじゃないスタックは(効率とかの理由で)論外なのでしょうか?

>pthread にはスレッドの開始アドレスを取る API が
>ない (→ conservative GC できない) から。

threadを把握する構造体というか変数というかが持っているポインタ(の変数)を
GC側で把握可能にしておいてあれば、それで済むのかなと素人考えでは思うのですが、
そういうものではないんでしょうか?
763761:2001/08/01(水) 15:49
764デフォルトの名無しさん:2001/08/02(木) 04:34
765デフォルトの名無しさん:2001/08/02(木) 14:19
>>762
あ、ごめん。「スタックポインタ」という語に誤反応してしまった。
たしかに全部ソフトウェアスタックで作ればアセンブラは関係ないです。

一方それで(現在の実装を)置きかえられるかというと、無理っぽい。
Ruby には rb_yield() とか rb_raise() rb_break() みたいな API が
あるので、Ruby レベルと C レベルのスタックを一致させて動作する
必要があるんです。このへんも「拡張ライブラリの作りやすさ」の
重要な要素なので、その兼ね合いで決めたんじゃないかな。実際、
「昔ソフトウェアスタック版も作ったけど」とまつもとさんが言っていた。
速度が問題ならば現在の実装がそもそも論外でしょう。

> threadを把握する構造体というか変数というかが持っているポインタ(の変数)を
> GC側で把握可能にしておいてあれば、それで済むのかな (略)

ん? どういうことだろう。ネイティブスレッドの場合、「threadを
把握する構造体」はシステム側が管理してるわけだから、そっちが
教えてくれなければそもそも Ruby が把握できないですよね。んで
なんで pthread の仕様がそうなってるかと考えると、別スレッドの
スタックにアクセスできない実装があるからじゃないか、と思うの
だけど、どうだろう(このへんは詳しくないので……)。
766デフォルトの名無しさん:2001/08/03(金) 08:23
>>765
ならばそのソフトスタックにCでアクセスするAPIが有ればいいのでは…
って、あんまりやりすぎたらForthになっちゃうか(わら

>別スレッドの スタックにアクセスできない実装

なるほど。そういえばスタックは残念ながら(わら)threadの所有物ですね。
単に情報隠蔽の見地から「不要な」APIの追加を控えたのかも。
767デフォルトの名無しさん:2001/08/03(金) 20:44
スレッドの話題の最中関係のない質問で申し訳ないですが
Cマガジン7月号の組み込みrubyがおもしろそうなのでサンプルのTest1.cを
bcc5.5.1でコンパイルしてみました。
Error: 外部シンボル '_ruby_init' が未解決(D:\DESKTOP\RB\TEST1.OBJ が参照)
Error: 外部シンボル '_rb_eval_string' が未解決(D:\DESKTOP\RB\TEST1.OBJ が参照)
でてきて失敗しました。
どなたかbccでコンパイルに成功した方はいますか?
768ぎこるび:2001/08/04(土) 14:54
IBM の developerWorks に新記事
http://www-106.ibm.com/developerworks/linux/library/l-ruby1.html

英語ですけど新本情報
Sams Teach Yourself Ruby in 21 Days (by Mark Slagell)
http://www.amazon.com/exec/obidos/ASIN/0672322528/qid%3D995860350/sr%3D1-4/ref%3Dsc%5Fb%5F4/102-0905562-6172951

Ruby Developer's Guide (by Michael Neumann)
http://www.amazon.com/exec/obidos/ASIN/1928994644/qid=996904201/sr=1-3/ref=sc_b_3/102-0905562-6172951

The Ruby Programming Language (by Matz)
http://www.amazon.com/exec/obidos/ASIN/020171096X/qid=996904201/sr=1-4/ref=sc_b_4/102-0905562-6172951

「独習 3週間で覚えるRuby」の内容が気になります。
769ぎこるび:2001/08/04(土) 15:30
>>767
Ruby 本体は何でコンパイルされたものを使ってますか?
たしか C マガ付属の Ruby は Cygwin 版エントリーパッケージですよねえ。
あれはヘッダファイルがないですけど。

ヘッダファイルがあって DLL ファイルもあるなら、
>implib ruby.dll ruby.lib
>bcc32 -w test1.c ruby.lib
とか。
770名無しさん@野次馬:2001/08/05(日) 15:55
6.4のソース落としてVisualStudio6.0使えば一発で
WIN32バイナリに落ちた。

なお、rmコマンドが要るんで下のURLのツールを使うのが吉。
http://www.weihenstephan.de/~syring/win32/UnxUtils.html
771デフォルトの名無しさん:2001/08/06(月) 16:13
rmなんか普通知らんって…
772ぎこるび:2001/08/06(月) 17:15
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/~poffice/mail/ruby-dev/9820
という理由みたいです。
たぶん win32/Makefile.sub をちまちま直せば回避できると思います。
773ぎこるび:2001/08/06(月) 17:14
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/~poffice/mail/ruby-dev/9820
という理由みたいです。
たぶん win32/Makefile.sub をちまちま直せば回避できると思います。
774ぎこるび:2001/08/06(月) 17:32
うわ。すみません。時間逆転して二重書き込み。
775デフォルトの名無しさん:2001/08/07(火) 00:49
>>774
どうすればそういうことになるの?

1.7のwin32/Makefile.subはrmを使わないようになってる。
776ぎこるび:2001/08/08(水) 16:16
Ruby 標準の GUI フレームワークについてのお話。
もし Java-Swing より遅いならいらないなあ。

Virtual Machine
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/14209
Common GUI framework(Re: Virtual Machine)
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/14211

>>775
2ch のスクリプトには謎が沢山あるようですです。

>1.7のwin32/Makefile.subはrmを使わないようになってる。
見ました。 @if exist 〜 del 〜 が十数行も並んでいて壮観ですね。
777ぎこるび:2001/08/08(水) 17:10
それ以前に VM に組み込むのは論外ですね。
閉じた環境にされるのは嫌です。

ところで、 1.7 って速いですねえ。

for i in 0..10
str = ""
for j in 0..10000
str << j.to_s
end
end

ruby 1.6.4 (2001-05-29) [i686-cygwin]
real 0m2.504s user 0m2.453s sys 0m0.050s

ruby 1.7.1 (2001-07-31) [i686-cygwin]
real 0m1.271s user 0m1.231s sys 0m0.050s
778デフォルトの名無しさん:2001/08/08(水) 19:39
>>776
JavaみたいになればRubyやめます。
…たぶんやめられないけどね。
779デフォルトの名無しさん:2001/08/09(木) 09:24
>>778
ならんて。
780デフォルトの名無しさん:2001/08/09(木) 09:26
>>777
> ところで、 1.7 って速いですねえ。
String#<<は1.7で変わったから。やっぱりこういうよく使うところの
最適化は効くようだ。
781デフォルトの名無しさん:2001/08/10(金) 19:00
$ w3m -dump_head http://www.modruby.net/
HTTP/1.1 200 OK
Date: Fri, 10 Aug 2001 09:56:41 GMT
Server: Apache/1.3.20 (Unix) Debian/Alpha mod_ruby/0.8.5 Ruby/1.6.4
Content-Location: index.html.ja.jis.old
Vary: negotiate,accept,accept-language,accept-charset
TCN: choice
Last-Modified: Wed, 20 Jun 2001 07:03:20 GMT
ETag: "f9ed-1851-3b304ab8;3b6e6b01"
Accept-Ranges: bytes
Content-Length: 6225
Connection: close
Content-Type: application/x-trash; charset=iso-2022-jp
Content-Language: ja
Expires: Fri, 10 Aug 2001 09:56:41 GMT
782デフォルトの名無しさん:2001/08/11(土) 00:10
>776
>それは既存のGUIライブラリのラッパとして共通のインターフェースがあればというライブラリまたはフレームワークの話であって、VMとはまったく関係ないと思いますが。

>>777
>閉じた環境にされるのは嫌です。

いい話だ。お父さんよく聞いておけよ。
ついでにrequire 'unix_syscall'で
OS依存部分をあらかた外に出しちまえ(藁
require 'win32API' と、これでアイコだ。

ところで、どうして「既存の」GUIライブラリと決めつけてるんだろう?
新規に作ってもいいんだがな。
蛇足だが既存GUIのGUI部品をそのまま流用するのが常に快適とは
言えないという事情もあったりする。GUI部品からフルスクラッチ
するほうが却って要らぬ制約がなくて良いということも…。

というか逆に考えると、「既存の」ならば「閉じた環境」にはならないよねえ?>>きごるび氏
rubyみたいなscript言語(に限らぬが)が持つ関数/メソッドの多くは
すべからく「既存のなにかのラッパー」だったりするけど、
だからといってそれを「閉じた環境」とは呼ばないでしょ?
783デフォルトの名無しさん:2001/08/11(土) 00:48
>>782
> ところで、どうして「既存の」GUIライブラリと決めつけてるんだろう?
> 新規に作ってもいいんだがな。
そりゃめんどくさいからだYO。

> というか逆に考えると、「既存の」ならば「閉じた環境」にはならないよねえ?>>きごるび氏
> rubyみたいなscript言語(に限らぬが)が持つ関数/メソッドの多くは
> すべからく「既存のなにかのラッパー」だったりするけど、
> だからといってそれを「閉じた環境」とは呼ばないでしょ?
概念の実装をラッパーと実装の再ラップは別でしょ。
784ぎこるび:2001/08/11(土) 01:04
噂の SAGE 買いました。ぱっと見では↓のRuby版。
ttp://www.area-s.com/main/sos.html

>>782
>VMとはまったく関係ないと思いますが
その突っ込みは当人にお願いします…

>require 'unix_syscall'で
require 'fs' でファイルシステムを、require 're' で正規表現を、
require 'ruby' で Ruby の言語機能を(以下略)
こういうミニマリスムはワンライナーの敵かと思いますです。
Ruby ユーザはその適当な偏り具合が具合が良いと感じているわけで(たぶん)。

>新規に作ってもいいんだがな
VisualuRuby がそんな感じかも。

>「既存の」ならば「閉じた環境」にはならないよねえ?
ですねえ。
「こっちではわざわざ用意しないから、
その環境に合わせたやり方でやってよ」
というのが glue なスクリプト言語の方針だと思っています。
785デフォルトの名無しさん:2001/08/13(月) 11:48
ひさしぶりに来てみる。

>>555 みたいなこともあるんだから、Windows サポートの苦情が
チクチク上がったらネを上げるんだろうねぇ
786デフォルトの名無しさん:2001/08/13(月) 15:12
ゆきひろ
ひろゆき

何気に似てるな。。
787デフォルトの名無しさん:2001/08/13(月) 18:33
なんかで
「まつもとひろゆき」って書かれたことがあったとおもふ
788デフォルトの名無しさん:2001/08/13(月) 19:45
>>785

別に誰もWindowsをサポートしないと言ってるわけじゃな
いんだから、「ネを上げる」っていうのは違うような。

むしろWindows関係は手が足りなくて「ネを上げ」てると
いう感じ。
789デフォルトの名無しさん:2001/08/13(月) 23:40
>>784
>こういうミニマリスムはワンライナーの敵かと思いますです。

このての概念をミニマリズムの一言で蹴ろうとする風習は、なんか強いねRuby方面は。

コンパイルオプションで切り離せばいいんじゃないの?
乱暴な御伽噺としてだが、unixならunix_fxとかを、winならwin32apiとかを、
静的リンク(そしてデフォrequre済み)になるようにすればいいじゃん。

ところで、つまり「rubyを(Cから)Javaに移植するのは、無理」なのだろうね。
随分前にそういう話もあったはずだが…消えちゃった…
rubyはunix/Cの世界に馴染むようになっちゃってるんで、
既にunixとは違う方向性を結構はっきり打ち出す(のに成功している)Javaに
rubyの雰囲気を持ちこむのは、難しいんじゃないかと。
とりあえずselectはJava1.4が元気になるまでは使えない、とかさ(藁
まぁ使えないAPIだらけでGOするってならソレはソレだけど。

>Ruby ユーザはその適当な偏り具合が具合が良いと感じているわけで(たぶん)。

その手の発想は、(誰かが打破しない限り)永遠に続くトートロジーじゃないかな。
unixer(だけ(極論だが))が集まる。rubyがそれ方向になる。更にunixerが集まる。
いわゆるPositive Feedback。定方向進化。
もっとも絶滅するとは限らない。それは「環境」の激変が今後有るかどうかに依存するので(藁
790デフォルトの名無しさん:2001/08/14(火) 00:15
>>789
> ところで、つまり「rubyを(Cから)Javaに移植するのは、無理」なのだろうね。
> 随分前にそういう話もあったはずだが…消えちゃった…

とりあえず訂正しておくと、Javaに移植するのが難しいのはVALUEの
実装のため。ライブラリの問題はあまり関係ない。
791デフォルトの名無しさん:2001/08/14(火) 05:04
>>790
ああ。VALUEはアドレス演算の更に裏技みたいなもんだから、
行儀良い参照しか出来ない(そういう変数型しか持ち得ない)Javaでは困るだろうね。
でもそれは「一つ目の」山だろう。二つ目以降も山はある。一難去ってまた…

それにしても、Valueクラスを作ったら…さぞ遅いだろうな(藁
辞書に全Object(とFixnum)をぶら下げるってのも現実的じゃないし。

Pythonの整数は、あくまで普通のObjectであり、
起動時にテキトウに幾つか生成しといて使いまわす、ってことだっけ?
792Ruby房:2001/08/16(木) 11:52
ネタじゃないっす
RubyでStringTokenizerを作ろうとしているのですが
C言語みたいに

c=txt[i]
if '0'<=c && c<='9'

とするとエラーになってしまいます
txt.each_byteで配列に格納して

if 0x40<=c && c<0x4a
とすると上手くいきますが、嫌です

どう書くのが綺麗で見易い方法なのでしょうか?
793792:2001/08/16(木) 12:04
0x30-0x3aの間違い
794デフォルトの名無しさん:2001/08/16(木) 13:31
rubyでは、"a"も'a'もStringとなるはず。
数値(Fixnum)にしたいのであれば?aじゃなかった?
if ?0<=c && c<?9とやってみて
795デフォルトの名無しさん:2001/08/16(木) 13:59
Ruby ってあれだよね。
せっかく Ruby で CGI 組んでもアップできるプロバイダが無い。
しょうがないんで自分でテキスト処理とかするときにつかうんだけど、それだったらEmacs Lipsのほうが便利。
エディター内で直接実行できるの最強だよ?
結局いつ使うんだい?
796デフォルトの名無しさん:2001/08/16(木) 14:35
>>792
1文字づつ分解したいときは、
"string".split(//) で配列にするほうがいいとおもうよ。

each_byte だと 1 バイトごとの分解だから
日本語の扱いとかがめんどくさくなっちゃう。
797デフォルトの名無しさん:2001/08/16(木) 14:36
>>792
> どう書くのが綺麗で見易い方法なのでしょうか?
正規表現を使う。
798790:2001/08/16(木) 16:34
>>791
> でもそれは「一つ目の」山だろう。二つ目以降も山はある。一難去ってまた…
山はいっぱいあんのよ、どのシステムだって。たとえば、またぞろ
ライブラリ中のmalloc()の話とか出てるし。

> Pythonの整数は、あくまで普通のObjectであり、
> 起動時にテキトウに幾つか生成しといて使いまわす、ってことだっけ?
だったと思う。

ついでに>>789にレス。
> とりあえずselectはJava1.4が元気になるまでは使えない、とかさ(藁
> まぁ使えないAPIだらけでGOするってならソレはソレだけど。
別にselectがシステムコールじゃなくたって、複数待ちに入る手段
がありさえすれば何とかなるよ。cygwinみたいに別スレッドでIO待
ちさせてスレッドの終了を待つなんて手もあるし。
799デフォルトの名無しさん:2001/08/16(木) 23:27
>>795
> せっかく Ruby で CGI 組んでもアップできるプロバイダが無い。
Ruby anywhere
http://www.jin.gr.jp/~nahi/Ruby/anywhere.html
をご覧になった上で気に入ったプロバイダが無い、
または他に何度検索しても良いところが見つからない、
ということでしょうか?
800デフォルトの名無しさん:2001/08/16(木) 23:53
>>795
ElispっつーかEmacsが強力なのはともかく、
#!/usr/bin/emacs -t
なんつースクリプトはやだぜ。
801デフォルトの名無しさん:2001/08/17(金) 00:03
>>799
むしろ常時接続でサーバたてるのがはやりとか。
802デフォルトの名無しさん:2001/08/17(金) 01:22
>>801
もうすぐモバイルマシン+AirH"+dyndnsで鯖立てる
(というか常時持ち運ぶ)のが大ブームになるYO!

>>800
EmacsもJavaも言えることだが、(そこそこ大きな)VMは、終了したら負け。
1回立ち上げたら1週間は落とさない(PocketBSD本によるEmacsの説明yori)覚悟でどうぞ。
上げっぱなしにして、その「中」でプログラムをロード&アンロードすべし。

という意味において、script言語の冒頭に#!で書くというUnix的手法は
殆ど役立たない。ああいう使い方では効率が悪すぎる。
803792:2001/08/17(金) 09:34
仕事暇な時にRubyやってるんでレス遅くてすいません
返答どうもです

>>794
いけましたYo!

>>796
採用させて頂きます

>>797
正規表現複雑になりそう・・・
804800:2001/08/17(金) 11:06
>>802
> EmacsもJavaも言えることだが、(そこそこ大きな)VMは、終了したら負け。
> 1回立ち上げたら1週間は落とさない(PocketBSD本によるEmacsの説明yori)覚悟でどうぞ。
> 上げっぱなしにして、その「中」でプログラムをロード&アンロードすべし。
それってすべてインタラクティブにやれっつーこと?
805デフォルトの名無しさん:2001/08/17(金) 13:32
VM騒動で有名な金○だが、Smalltalk関係のMLでも見事な連続技を決めている。

[SML 5203] Re: [SML 5196] Re: Squeakの3次元バニー君
でいきなりはじめまして&教えて君メール。
見りゃ分かると評判のアプリの操作が分からんという内容で、
しかもスクリーンダンプを添付するという思い切った離れ業。

それに対して
[SML 5205] Re: Squeakの3次元バニー君
で住人から丁寧な返答をもらっているにも関らず、それに気づかず

[SML 5206] RE: [SML 5204] Re: Squeakの3 次元バニー君

>>無視すか?
の逆切れ一行メール。

5日後の
[SML 5287] RE: [SML 5205] Re: Squeakの 3次元バニー君
でようやく謝ったものの、またもや謎の酒○さんを楯に取ってるし…。

○光って何者? いやDQNだということだけははっきりしているんだが。
806デフォルトの名無しさん:2001/08/17(金) 16:13
>>805
たしかに電波入ってたな。。。>○光
けど、あのスレッドで興味深い意見が出てたんで、
よしとしましょう。
807デフォルトの名無しさん:2001/08/17(金) 17:19
>>802
>もうすぐモバイルマシン+AirH"+dyndnsで鯖立てる
>(というか常時持ち運ぶ)のが大ブームになるYO!

その案面白いですね。
808ぎこるび:2001/08/17(金) 17:50
>>805
256本の編集者の方です。
何でもそうですが、用語に対する共通した認識がないと話が通じませんよね。
jargon に気をつけましょう。。。
809デフォルトの名無しさん:2001/08/17(金) 19:53
Ruby mswin32版を使ってます。
command.com上で動くミニゲームのようなものを作ってみたいのですが、
わからぬ点が。ちらほらほら。

○画面を消したい!
  clsコマンドの利用を試みてsystem("cls") ってやってみたのですが、
  消えません(TT
  system()はWinでは利用できないのでしょうか?

○カーソルキーは取得できますか?
  syscrl()ってのを使わないといけないのでしょうか?
  IO.getcだと文字キーしか拾えないみたいです。

○curse ってなんですか?
  MLでミニゲームを一つ見つけたのですが、これがcurseというものをinclude
  しているのです。
  どうやらコンソールの文字の色を変更したりできるものみたいなのですが、
  Win版にはついてません。Winでは利用できませんか?

恥ずかしながら教えて君です。
810ぎこるび:2001/08/18(土) 01:09
CUI ベースなら Cygwin 版を使うと楽ですよ。
GUI なら Ruby/SDL http://www.kmc.kyoto-u.ac.jp/~ohai/

>画面
system("command.com /C cls")
ですね。

>カーソルキー
うーん。どうやるんでしょう……

>curse
UNIX のコンソール制御ライブラリです。
windows でも Cygwin/mingw 版なら使えますが、mswin32 版は無理です。
コンパイラがあるなら、
http://www.lightlink.com/hessling/cgi/downloads.cgi?Product=PDCurses&OS=Windows+NT%2F9x%2F2k&dist=binary&where=usa
から PDCurses をもらって Windows 用の curses 拡張ライブラリを作れるみたいです。

Windows9x 系なら ANSI エスケープコードを使えば、
カーソル位置や文字色の変更ができます。
こんなん -> http://www.nifty.ne.jp/forum/fpcu/dosvcmd/ansi.htm

NT 系なら Win32 Console API を使えばできるかと思います。
http://rb-w32mod.sourceforge.net/

うーむ、全然答えになってないですね、誰かフォローお願いします。
811デフォルトの名無しさん:2001/08/18(土) 01:57
作者のまつもとさんって、今はすごいプレッシャーがかかってるんじゃないですかね。
ここでもいろいろたたかれてるし。
2chの批判なんて気にも留めてないか。
812デフォルトの名無しさん:2001/08/18(土) 03:33
>>804
>それってすべてインタラクティブにやれっつーこと?

あげっぱなし即ちインタラクティブ、ってのは変だと思いませんか?
つまり、ユーザー対プロセスの対話は上げっぱなしプロセスでやれて、
プロセス対プロセスの対話は上げっぱなしプロセスでやれない、というのは、
なんか変だと思いませんか?

そういうInterfaceが(OSやshellに)欠乏している、というだけのことです。>unixなど

それが証拠に例えばruby。
あるObjectがしばらく上げ(=存在し)っぱなしになっているとして、
それとの対話を他のObjectからでもユーザー(irb?)からでも
ばんばん出来るわけでしょ?

そういう風になりゃいいわけよ、プロセスも。
813800:2001/08/18(土) 09:27
>>812
> あげっぱなし即ちインタラクティブ、ってのは変だと思いませんか?
> つまり、ユーザー対プロセスの対話は上げっぱなしプロセスでやれて、
> プロセス対プロセスの対話は上げっぱなしプロセスでやれない、というのは、
> なんか変だと思いませんか?
いや、元の話がEmacsだから。基本的にエディタだからインタラク
ティブなのは当然だけど。

> それが証拠に例えばruby。
> あるObjectがしばらく上げ(=存在し)っぱなしになっているとして、
> それとの対話を他のObjectからでもユーザー(irb?)からでも
> ばんばん出来るわけでしょ?
そういえばRindaとかって今どうなってるのかなぁ。
814デフォルトの名無しさん:2001/08/18(土) 10:22
>>810
> CUI ベースなら Cygwin 版を使うと楽ですよ。
cygwinならcursesあるので画面クリアもカーソルキーもOK

> windows でも Cygwin/mingw 版なら使えますが、mswin32 版は無理です。
mingw版もなかったような。
815809:2001/08/18(土) 17:47
>>810
>>814
情報ありがとうございます。カーソルキー以外は大体方向性が見えてきました。
×system("cls") ○system("command.com /C cls")は恥ずかしかったデス(TT
816814:2001/08/18(土) 22:30
>>815
> ×system("cls") ○system("command.com /C cls")は恥ずかしかったデス(TT
いや、unixではsystem("hoge")は/bin/sh -c hogeだから意味的に
はあってるんだけどね。
817デフォルトの名無しさん:2001/08/19(日) 21:59
Win32API.soをインクルードするとWinのAPIが利用できそうなんですが、
このマニュアル?というかドキュメントを探しています。
どこにいけばあるでしょうか?
818デフォルトの名無しさん:2001/08/19(日) 22:10
819デフォルトの名無しさん:2001/08/19(日) 22:12
過去ログ持ってる人。願挙手。
820ハァハァ:2001/08/19(日) 22:38
require 'Win32API'

# API を1個1個準備する…うざったすぎ、何とかならないかな
OpenMutex = Win32API.new("kernel32", "OpenMutexA", ['L','L','p'], 'i')
CloseHandle = Win32API.new("kernel32", "CloseHandle", ['L'], 'L')

# winbase.h winnt.h からぱくってきた数字
MUTEX_ALL_ACCESS = 0x000F0000 | 0x00100000 | 0x0001

# API をコールする。さくらが生きてたら非0を返すはず
hmutex = OpenMutex.Call( MUTEX_ALL_ACCESS, 0, "sakura" )

偽春菜 → 何かの存在を確認するスクリプト
821デフォルトの名無しさん:2001/08/20(月) 00:02
>ざったすぎ、何とかならないかな

ならんだろうな(T_T)
一般論として強型マイナー言語(Delとか(藁))用にC Headerの移植作業ってのが必要になるんだが、
その時の作業ってのがまさにそれに相当する作業だ。

だから、必要を感じた各自が自分の必要範囲を作業し、
その作業結果をみんなで持ち寄ってマージする、ということをすれば
フルセットには遠く及ばないのは判りきっているとはいえ、サブセットは得られるだろう。
それとて自分の望む関数が入っている保証は全く無いが。

それはともかく、別解として、
C Headerをruby(raccとか)でparseしてWin32APIの呼び出しに変換する、って手もあろう。
誰か既に試みてないものか?
C Headerは恐らく、C Preprocessorに通した後の奴が、組し易いと思う。
822デフォルトの名無しさん:2001/08/20(月) 00:02
>>820
> require 'Win32API'
>
> # API を1個1個準備する…うざったすぎ、何とかならないかな
http://www.moonwolf.com/ruby/archive/win32module_20001226b.tar.bz2
823デフォルトの名無しさん:2001/08/21(火) 13:48
AERAの表紙に、まつもとさんが載る日はくるのだろうか・・・。
824デフォルトの名無しさん:2001/08/21(火) 15:04
>AERAの表紙

どーしても表紙じゃなきゃ駄目か?
カラー頁になら既に載ったわけだが。
825デフォルトの名無しさん:2001/08/22(水) 10:31
Rubyを手に入れていろいろいじっているのですが、
ソースをファイルに保存すると
[Ruby|Eval Buffer] コマンドが選択不能になり
実行させる事が出来ません。
Rubyを再起動してからファイルを開いても同じです。
何故でしょうか。これを解決するにはどうすればよいですか。
826デフォルトの名無しさん:2001/08/22(水) 11:13
>>824
表紙だと全国紙の広告にも掲載されるし、
AERA-GAGも楽しみだから。藁
827デフォルトの名無しさん:2001/08/22(水) 12:39
>>825 RubyWinかなんか使ってる?コマンドラインで実行すれば?
828デフォルトの名無しさん:2001/08/22(水) 14:15
>>827
RubyWin 0.0.2.1 使っとります。コマンドラインですね、試してみます。
829デフォルトの名無しさん:2001/08/22(水) 17:33
Rubyでかかれたweblogって無いのかなあ。探しているんだけど見つからない。
Rubyist!はnDiaryをカスタマイズしている?みたいだし……。
ああいうの(nDiaryのweblog風カスタマイズ)って簡単にできるのでしょうか。
830デフォルトの名無しさん:2001/08/23(木) 00:59
なんでRubyで書かれてる必要があるの?>>829
831デフォルトの名無しさん:01/08/31 22:07 ID:d3.bmBJM
プログラミングRubyお買いage
832デフォルトの名無しさん:01/09/01 00:17 ID:8UdnvL3A
rubyって何の役に立つの?
833デフォルトの名無しさん:01/09/01 22:24 ID:oOfaWrh.
>>832
あなたは何の役に立つの?
834デフォルトの名無しさん:01/09/02 00:03 ID:ThgBVPtc
832みたいなヤツがこの板にも居るんだな…
835デフォルトの名無しさん:01/09/02 22:47 ID:MFAeMiRo
Object指向言語の勉強にもってこいだYo!
CGIとか作るのも簡単だYo!
836デフォルトの名無しさん:01/09/03 01:31 ID:SsRwVXng
Cygwin 版の Ruby 1.6.4 から呼び出せる GUI ライブラリでいいのある?
837デフォルトの名無しさん:01/09/03 12:00 ID:0IEjH1s6
>>836
Ruby/Tk Ruby/Gtk Ruby/Qt VisualuRuby Apollo FXRuby Ruby/Fltk ...

Windows版のGtkは安定してないとか聞くけどね
838デフォルトの名無しさん:01/09/03 14:28 ID:dN3O3Fas
Programming Ruby持ってんだけど、
プログラミングRubyも買うべきか。。。?
839デフォルトの名無しさん:01/09/04 00:45 ID:t7PPc7QM
windowsでruby使ってる人ってアイコンどうしてる?
840デフォルトの名無しさん:01/09/04 00:57 ID:taq6YMMs
windowsでは特にruby使わないから必要ないんじゃん?>839
841デフォルトの名無しさん:01/09/04 06:21 ID:Kup.nBh6
>>839
>>440あたりの
842デフォルトの名無しさん:01/09/05 13:19 ID:OqgI0eKg
>>835
CGI よりも mod_ruby な ruby script のほうが気持ちいいかな。
とはいえ、mod_ruby って意外と bug が多かったり、仕様の変更が
あったりするのがアレだけども。
843836:01/09/05 19:19 ID:vciamWTk
>>837
Cygwin 版 Ruby 1.6.4 に対応しているのが見当たらないんだよね。
ソースからコンパイルすればいいんだけど、コンパイラ持ってなくて。
バイナリ配布して欲しい。
バージョン 1.4 なら大抵あるんだけど、既に 1.6.4 をインストールして
しまった。

気長に対応してくれるのを待ちまする。
ありがたう。
844デフォルトの名無しさん:01/09/05 22:00 ID:OCqgHVNI
cygwinでgccでも使えよ>843
845837:01/09/05 23:24 ID:c8mzLy0s
>>843
全部cygwin版対応可能なはずだけど。バイナリでも少なくともRuby/Tkは標準
配付だし、VisualuRubyはcygwin版が提供されてるし。
846836:01/09/06 06:53 ID:CfMPPKv.
(cygwin かどうかよりも) ruby のバージョン 1.6.4 に対応したバイナリが
少ないってことです。

スクリプト言語の環境を構築するために、コンパイラを用意するというのは
何だか面倒くさいです。

Ruby/Tk が標準配布とは知りませんでした。失礼しました。
847デフォルトの名無しさん:01/09/06 08:12 ID:ChGFpyoc
Ruby 1.6 Entry Packageにはgtk入ってるね。
でも使い方が分からん
へぇ
松本行弘氏ってIPAの未踏ソフトウェア創造事業に
採択していたんだね。
>>848
いつのネタだYO。
850デフォルトの名無しさん:01/09/09 23:30
ML楽しいことになってるね(藁
851名無しさん:01/09/09 23:37
>>850
紹介キボリ
852デフォルトの名無しさん:01/09/09 23:50
世界標準時1970年0時0分(epoch)からの経過秒数で表されるUNIX時間が
とうとう10億 秒目をむかえる。日本時間だと9月9日午前10時46分40秒だが、
当然ながら住んでいる場所によって現地時間が違うので、
ruby -e 'p Time.at(1e9)'やperl -e 'print scalar localtime 1e9'とでもして時間を確認するべし。
余分な桁を考慮してないアプリは動作不良を起こすかもしれないが、それはひとまず忘れて、
多数の記念宴会が各地で開催されるに違いない。
>>851 31339-31363のことかな
854デフォルトの名無しさん:01/09/10 14:08
>>853
なんだこりゃ。
さすがに無意味なデータだから削除させてもらうか。
停まったね。強制退会させられたのか?
出所しましてから、返答いたします。
857デフォルトの名無しさん:01/09/10 18:17
p '機構'

↑これ実行したら、 \ のコードが含まれとるせいで
構文エラーになってしまうのはどうすりゃええの?

ちなみに ruby 1.6.5 (2001-09-05) [i386-cygwin] です。
>>857
-Ks
じゃないの?
>>850
Java-Houseみたいでかなり鬱
860857:01/09/10 22:39
>>858
-Ks やったらうまくいったよ、ありがとう!
$KCODE="SJIS" やってもなんの変化も
なかったから -Ks も関係ないのかと思ってたよ
861857:01/09/11 10:26
#!/usr/local/bin/ruby -Ks
Dir.mkdir('機構')

↑を実行したら、「機構」 じゃなくて「機」が出来てしまうのは
どう対処すりゃええのでしょう?

質問ばっかりでスマソ
そもそも Cygwin が日本語ファイル名に対応してないので
Win32API 呼ぶか、 ActiveScriptRuby 使ってください。
863857:01/09/12 13:28
Cygwinは対応してないんですか、
Win32API呼ぶ方法使ってみます。
864デフォルトの名無しさん:01/09/12 17:08
ピアソンのウサギ本の索引にある本文ページ数が一致しないのが多いような気がするんだけど、気のせい?
865名無しさん@XEmacs:01/09/15 22:19
最近shigeも見なくなったな。
結局あれも夏房の一人だったのか(wara
今日Cスレで見かけたな。
どうでもいいが。
867デフォルトの名無しさん:01/09/17 23:57
うおー
Win環境ですが、ネットワーク共有でLAN接続されたのファイルに
アクセスできるでしょうか。

例:コマンドライン上からは
type \\OtherComputer\ShareDir\file.txt
みたいにアクセスできるファイルを
Filetest::exist?()で存在を確認したりしたいです。出来ると随分楽になること多し。
>>867 やってみれば?
869デフォルトの名無しさん:01/09/18 15:26
>>867
cygwinのシェルからはできたよ。

ruby -e 'p FileTest::exist?("//othercom/share/test.txt")'
ruby信者ウザイ
871デフォルトの名無しさん:01/09/18 21:59
>>868
何回かやってみたのですがしくじりました。
が、↓
>>869
うお?ほんとですかぁー(゚Д゚;)
もう一度やってみよう・・・
この板ではHSPに次いでユーザーの質が悪いね
873デフォルトの名無しさん:01/09/20 00:13
apolloはどうよ?
>>873 どっちかというとFormデザインをDelphiでやって、内部で
Rubyが処理をする、見たいな事がしたかったんだけど。なんか、
やり方がわからなかった・・・(出来るんだよね?
875ぎこるび:01/09/20 00:41
>>874
黄道編の176-180ページを立ち読みしてください。
876デフォルトの名無しさん:01/09/20 02:24
>>872
Rubyをやるような奴はお気軽やろうだからね。
877デフォルトの名無しさん:01/09/20 07:01
つうかよお、Rubyをプロトタイプの作成以外につかってる奴なんて
いるのか?
つうかよお、Perlをプロトタイプの作成以外につかってる奴なんて
いるのか?

いるっしょ。Rubyも同じ。
こんなん作ってみました
2ちゃんねるヘッドラインとでも言いましょうか
掲示板のチェックボックスをチェックして送信ボタン押せば
上位10スレ表示されます

http://nmgm.s2.xrea.com/index.html
ソースは
http://nmgm.s2.xrea.com/getsub2.zipです
どうでしょか?
感想聞かせてください。
ブラクラです
881デフォルトの名無しさん:01/09/22 13:13
Rubyってテキスト処理遅くないか?
300MBほどのテキストを処理するのに 30分もかかったぞ。
Perlで書いたら10分とかからなかった。
Cで書いたら3分ぐらい。

実はPerlって偉い?
使ってる命令は?
883デフォルトの名無しさん:01/09/22 13:26
>>881
バーカ。背教者め死ね。
884デフォルトの名無しさん:01/09/22 13:33
>>881
いや、だからRubyはC++などで書く前のプロトタイプ作成に
最適なんだって。使い捨てのテキスト処理ならPerlが一番
費用対効果がでかいだろ。

よは、適材適所ですな。んで、Rubyの適所はプロトタイプ
作成。
885デフォルトの名無しさん:01/09/22 13:39
あなた達には分からないでしょうが、Rubyは素晴らしい言語です。
オブジェクト指向スクリプト言語として他のスクリプト言語を圧倒する性能と美しい言語仕様を持っています。
例えば、SchemeやSmallTalkなどは比較的美しい言語だと言われていますが、後発である優位さでRubyは
さらなる美しさと実用性を備えています。
もちろんPerlやPythonなど問題外です。
日本語との親和性ではRubyしか選択肢がないでしょう。

LinuxのディストリビューションもRubyの採用例が増えてきています。
1年後には全てのディストリビューションがRubyを標準採用するでしょう。
Rubyは未来のスクリプト言語なのです。

長くなりましたが、コピペではありません。
賛同していただける方はRubyの事を分かっていただけない人に出会ったら、
この発言をコピペしていただければ幸いです。
886879:01/09/22 14:55
>>880
ブラクラじゃないんですけど・・・

とりあえず使ってみてください
他の板では評判は上々です
887ぎこるび:01/09/22 16:22
>>881
以下のことをすれば多少は速くなります。
それでも Perl より平均で倍くらいは遅いですけどね。
処理速度を気にするなら他の言語を使うということで。
(ボトルネック部分をCで書いて拡張ライブラリにする手も)

・変数を前もって宣言しておく ( i = 0 などと書いておく)
・Regexp オブジェクトをループ毎に生成しないようにする
・String の連結は + ではなく << を使う
・可能なら bang 付きメソッドを使う (chop! sub! gsub! など)
Rubyはクソです。ゴミ箱逝きです。

いじょ
次スレ立てました。
こちらに移行してください。
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=1001125342&ls=50
今だ!890ゲットォォォォ!!
 ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄       (´´
     ∧∧   )      (´⌒(´
  ⊂(゚Д゚⊂⌒`つ≡≡≡(´⌒;;;≡≡≡=
         ̄ ̄  (´⌒(´⌒;;
      ズザーーーーーッ

     
今だ!891ゲットォォォォ!!
 ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄       (´´
     ∧∧   )      (´⌒(´
  ⊂(゚Д゚⊂⌒`つ≡≡≡(´⌒;;;≡≡≡=
         ̄ ̄  (´⌒(´⌒;;
      ズザーーーーーッ
                   
今だ!893ゲットォォォォ!!
 ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄       (´´
     ∧∧   )      (´⌒(´
  ⊂(゚Д゚⊂⌒`つ≡≡≡(´⌒;;;≡≡≡=
         ̄ ̄  (´⌒(´⌒;;
      ズザーーーーーッ
ID制復活きぼん
894ぎこるび:01/09/24 00:42
そんなにRubyが嫌いならこのスレを荒らせば良いのに…
何かに託けて荒らしているだけなんでしょうね。
研究に忙しくてプログラミングやってる暇無いよ…

>>894
各言語ユーザ間の対立でも狙ってるのかな。
他の言語を散々馬鹿にしてきたつけが回ってきただけだろ(大爆笑)
897デフォルトの名無しさん:01/09/24 01:56
256本とかが、多言語を馬鹿にしているような
印象を与えてきてるってことなのかな。

読者がいちいち真に受けるとも思えんが、
潜在的な意識に働きかけてきたのかもしれない。

にしても、スレッドを荒らす奴は何のメリットもないのに
ご苦労なことだよ ( ´д`;)
ていうか、他言語を馬鹿に出来るほどの言語なのか?
後発ゆえの新しめな仕様と他言語の教訓を生かした無難な
仕様があるだけの話であって、何も革新的なものは無い
ような気がするのだが。
かつて、Perl、Java、Smalltalk、Simula、Prolog、Lisp
Fortranなどが与えたインパクトに比べて、車輪の再発明
の感が否めない。
Perl、Smalltalk、Lisp等々をうまくミックスしたバランスがよいと思う。いい
とこ取りをして、なおかつそれらを一つにまとめるのはスキルがいると思う。
まあ、例え2chで叩かれても、大勢にはなんの影響もないから心配ない。
いい加減にして欲しいね。
http://corn.2ch.net/test/read.cgi?bbs=php&key=1001292585
902デフォルトの名無しさん:01/09/24 13:46
結局、全ては妬みなんだろうな。rubyへの。
>>899-902
典型的なRuby厨房
904ルビ厨な人:01/09/24 16:00
>>903
典型的な反Ruby厨房

そして、こんなレス付けて煽ろうとする俺も典型的なRuby厨房か、、、
>>899
Lispの一番いいところを取ってないよ・・・
906ぎこるび:01/09/24 17:55
>>905
CLOS みたいに first class object なら
もっと胸をはって何でもオブジェクトって言えるんですけどね。。。
>>905
Lispの一番いいところって?
908名無しさん:01/09/24 19:02
>907
括弧の多い所。
ツマンネエヨ
910るby:01/09/24 21:22
end
マクロかな?
912デフォルトの名無しさん:01/09/25 11:04
Ruby.NETって誰もまともに検討してないの?
マータリいこうよ。。。
914名無しさん@Emacs:01/09/25 15:10
>>912
ActiveScriptRuby の arton さんがやってたはず。
915るby:01/09/26 17:41
タ F タ>・ム タ F タ>・ムソ 會タAチ ァ・メタ P  ・ P澎ミ ・ソ 會タAチ ァ・メタ P  ・ P澎ミ ・
――――――――――――――――――――――
番組の途中ですが、臨時ニュースです。
「Rubyはクソです。ゴミ箱逝きです。 いじょ 」
この発言をコピペしていただければ幸いです。
___________   __________
             ‖ \|________ 
             ‖ | ON AIR.|
             ‖  ̄ ̄ ̄ ̄
        ./ ̄ ̄θ  ∧_∧
      .../   //(´∀` )/|
     ./      ̄/⊂    ||_/
     | ̄ ̄ ̄ ̄ ̄|  (  ━┳┛
     |_____| /ヽ」┘┻
917デフォルトの名無しさん:01/09/27 04:56
偽善者
918デフォルトの名無しさん:01/09/27 07:28
>>899
ハァ?
馬鹿ですか?
def factorial(n)
  if n == 1
    1
  else
    n * factorial(n - 1)
  end
end
>>918
ruby が各種言語のいいとこをミックスしてるかはともかく,
それをするにはスキルがいると思うんだが.

>>899 も ruby がそうだとは言ってないし(一応).
何の言語のこと言ってるんだ?
922デフォルトの名無しさん:01/09/28 00:00
下のようなスクリプトを実行したところ

open("test.txt","w"){|fh2|
fh2.binmode
 fh2.puts("1")
 fh2.puts("2")
 fh2.puts("3")
}

こんなエラー?が。

test.rb:3: [BUG] invalid id for gettable
ruby 1.7.1 (2001-08-06)[i586-mswin32]
abnormal program termination

これはこの環境のRubyに問題があるということなのでしょうか?
BUGと出るのはバグレポートしなさい、ということですか?
>>922
Rubyに問題有り
924ぎこるび:01/09/28 01:50
>>922
http://www.dm4lab.to/~usa/ruby/
ここの
ruby-1.7.1-20010901-i586-mswin32.zip (2,034KB)
ruby 1.7.1 (2001-09-01) [i586-mswin32]
では再現しませんでした。

開発版は、実験的に機能が組み込まれるついでにバグも組み込まれたりするので
安定版を使うか、まめに新しいのにした方が良いと思います。
925デフォルトの名無しさん:01/09/28 02:38
Rubyが持つUNIXで特徴的な機能
ってたとえば鈍なのがあるの?
926922:01/09/28 03:13
>>923
>>924
了解です。新しいのにしてみます。
ありがとうございました。
927マンセー:01/09/28 13:44
928922:01/09/28 20:08
原因、わかりました。
コードの中に堂々と全角スペース。
逝ってきます・・・
rubyユーザーはクズの集まり
930デフォルトの名無しさん:01/09/28 21:21
pythonユーザはゲイの集まり
931デフォルトの名無しさん:01/09/28 21:26
>>908
Lispってカッコイイ!!
932デフォルトの名無しさん:01/09/28 21:34
ちょっと質問です。

rubyでは変数はオブジェクトへのリファレンスを保持するだけなので何たら〜って話は
>>683 にもあるとおりでそれはわかったのですが、だとすると

a = "hoge"
b = "foo"
tmp = a  #(1)
a = b   #(2)
b = tmp  #(3)

でちゃんとaとbが入れ替わるのが理解できません。
(1)の時点でtmpがaのaliasになって(2)でaがbのaliasになるので、
この時点ですでにtmpはbのaliasになっている(つまり同じオブジェクトを参照している)
のではないかと思ったのですが、動作はそうなっていないみたいです。

C++で
string &a = "hoge";
string &b = "foo";
string &tmp = a;
a = b;
b = tmp;
とやると両方同じオブジェクトをさすようになりますが、どう違うのでしょうか?
933デフォルトの名無しさん:01/09/28 22:07
>>932
難しく考えすぎ。

Cで
char *a = "hoge";
char *b = "foo";
char *tmp;

tmp = a;
a = b;
b = tmp;

とやるのと同じってこと。
934932:01/09/28 23:55
>>933
なるほど、納得がいきました。
リファレンスっていうよりポインタだと思えばいいわけですね。
935デフォルトの名無しさん:01/09/29 00:42
1000を目指せ!!
936デフォルトの名無しさん:01/09/29 01:02
ASCIIから出てる「オブジェクト指向スクリプト言語Ruby」の
ページの隅に付いてる羊とか鳥の絵がパラパラマンガになってるのでは、と
一瞬思ったヤツ手挙げろ。
Perlスレの次はPythonスレを荒すか。
ろくな奴がいないな。
938>>936:01/09/29 19:33
はい。
>>925
> Rubyが持つUNIXで特徴的な機能
プロセス関係とかシグナルとか
んなもの無いほうがおかしい。
941ぎこるび:01/09/30 00:25
fork とか flock とか select とか stat とか。
ARGV、STDIN、STDOUT も UNIX 的ですね。
クラスでは IO、File、Dir がそうでしょうか。

ruby-newbie ML でも作ってしばらくスレを破棄しようかしらん。
この状態では悪印象ばかり広まりますし…
942デフォルトの名無しさん:01/09/30 00:41
>>939, >>941 反応サンクス
でもね、質問の仕方が悪くって、真意が伝わらなかったかもしんまい。
Windows版で使えないという、「UNIXに特徴的な機能というヤツ」が
知りたかったんですよ。(汗)
>>941 べつにあなたの所有物じゃないので。破棄するってどういう意味ですか?
944ぎこるび:01/09/30 01:20
組み込み関数の fork、select はシステムコールとシグナル関係なので、
UNIX じゃないと使えません。
syscall 関数はまんまシステムコール呼び出しですのでこれも同様。
Signal クラスも UNIX のシグナルを扱うクラスなので同様。

File::Stat クラスもまんま UNIX の stat で返る構造体です。
これは Windows でも使えますが、i-node 番号などいくつかの要素が意味なくなります。

File.chmod や File.chown もパーミッションがない Windows では無意味です。
NT 系はシンボリックリンクに似た機構がありますが、
FIle.link File.readlink File.symlink が使えるかどうかはちょっと試してません。

File#flock も Windows には存在しないので、
in `fork': The fork() function is unimplemented on this machine(NotImplementedError)
てな例外が上がります。
945ぎこるび:01/09/30 01:21
>>943
破棄じゃなくて放棄ですね。すみません。
僕がいなくなったからってどうってことはないでしょうけども。
何を当たり前のことを(w
自意識過剰な奴はこれだから困るね。
>>946
いなくなって大きな影響があるだろう。と言ったなら自意識過剰だが、
どうってこと無いと言ったなら自意識がないってことだろ。
948!= 946:01/09/30 05:45
いなくなった場合、何らかの影響が云々ということにまで頭を巡らすこと自体自意識過剰だ、
と言いたいんじゃないの?
どっちにせよ、946はただ単に嫌味を言いたいだけなんだろうけど。
逆だろ?
950取った奴は新生スレッドね。
ま、気にせず消えてください。
みんな冷たいね。
>>950
warata
954名無しさん:01/09/30 07:12
>950
じゃ、次スレは「Rubyを愛する奴は人生の敗北者 Part3」という事で
よろしく。
955デフォルトの名無しさん:01/09/30 09:20
Rubyを愛する奴は人生の敗北者 Part3

前スレ

Rubyでもどうよ
http://piza.2ch.net/test/read.cgi?bbs=tech&key=965986588
オブジェクト指向スクリプト言語Ruby part2
http://piza2.2ch.net/test/read.cgi/tech/987231068/
956ぎこるび:01/09/30 14:34
うん。自意識過剰です。
#1 立てて以来ずっと書き込んできたからスレに愛着が沸いてしまっただけです。
それじゃさようなら。
>>956
そんなこと言うなよー
荒らしなんてほっとけばじきに消えるんだからさ。
気にせずに戻ってこいよぅ
958ルビ厨な人@敗北者:01/09/30 15:08
950では無いけど、新スレ、立てておいたよ。
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=1001829961&ls=50
んじゃ、後はがんばってね。
>>957 まぁまぁ。だって人生の敗北者だし。
次スレは、車板のマツダスレと同じ趣向なの?
誰かスレ立て直せよ。
962名無しさん:01/09/30 21:32
別にアレでいいじゃん、そう気取るなよ。
オマエガタテタノカヨ?
ああいうタイトルだとかえってユーザが増えるかもしれない。
965デフォルトの名無しさん:01/10/01 10:28
>>944
File.link・File.readlink・File.symlinkは実装されてない。
File#flockはNT系なら動作する。
>>965
File#flockは9xでも動くはずだがな。
>>944はなぜかflockじゃなくてforkの例外メッセージを引用してるん
だが、これはたしかにWindows(mswin32,mingw32)じゃ実装されてない。

それとNTFSでできるのはシンボリックリンクじゃなくてハードリンク。
>>965-966
そのとおりです。flockは動きますね。
恥ずかしい間違えをしたので訂正だけして消えます。
968965:01/10/02 08:30
>>966
ほんとだ。勘違いしてた。
逝ってくる。
さようならruby
さようならまつもと
970名無しさん@Emacs:01/11/04 22:09
migemoの話なんですが,ほかに場所知らないんでちょっと質問.
日本語の「ジェ」をサーチしようと思うのですが,
なんてローマ字打てばよいのですか?
「je」じゃだめでした.
>>970
KoRoN 氏の実装のでは je で検索できるけど。
オリジナルのは使ったことないや。
970だけど,zixeで「ジェ」の検索はできました.
しかし,いまいちだなー.
973名無しさん@XEmacs:01/11/11 13:58
age
>>973
Why do you age this thread?
975デフォルトの名無しさん:01/11/11 21:09
そろそろPart3つくろうよ!
次スレはこれ

Rubyを愛する奴は人生の敗北者 Part3
http://pc.2ch.net/test/read.cgi/tech/1001829961/
977デフォルトの名無しさん:01/12/17 22:43
ファイルロックに関してですが、「ロックがかかっているというファイルを作る」より
Dir.mkdirやFile.renameを使ったほうがいいととある本に書いてありました。
これどうしてなんでしょうか?
>>977
ある本て、どの本だよ?
NFSでうまく動かんとか、そういう噺家?
981デフォルトの名無しさん
Ruby