■ 2ちゃんねるは、ここのサーバを使ってるです。。。
 .jp ドメインお持ちのお客様大歓迎。maido3.jp
 .fm 取得代行します。(US) maido3.fm
 .ca 取得代行します。(US) maido3.ca
 .com .net .org 取得代行します。(US) maido3.com
 .cc .to .tv 取得代行はじめました。NEW
人気サイト
月々1,000円からの BinboServer.com 2ちゃんねるも使っている Big-Server.com
>> 2ちゃんねる、サーバ監視所

■掲示板に戻る■ ■過去ログ倉庫めにゅーに戻る■
オブジェクト指向スクリプト言語Ruby part2
1 名前: デフォルトの名無しさん 投稿日: 2001/04/14(土) 15:51
前スレ

Rubyでもどうよ
http://piza.2ch.net/test/read.cgi?bbs=tech&key=965986588



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
>>3

http://www.users.yun.co.jp/~moriq/apollo/index.html
http://www.geocities.co.jp/SiliconValley-PaloAlto/9251/ruby/index.html



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のラインタイムを移植することで得られるし、
ウソくさいぞ。


29 名前: 28 投稿日: 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 にも宣言はある。最初の代入が変数宣言だ。型はないけどな。

しかしそんなに型宣言したいかなあ。型の宣言ってのはコンパイラが
楽をするためにあるんで、プログラマの役には立たないよ。用途を
はっきりさせたいなら名前を適切に決めるほうがいい。



51 名前: 42 投稿日: 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


68 名前: LISP 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
ごーるでんゐーくに出なかったから〜♪
夏休みかならららら〜〜♪


83 名前: 79 投稿日: 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 の方が速いかも。まあ、場合によって使い分けてください。


96 名前: 92=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上ではなくて。


103 名前: 97 投稿日: 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でそんな話があったような気がしなくもない。


105 名前: 92=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
ファイルで使ってる文字コード(というか改行コード)を確認セヨ


114 名前: 109 投稿日: 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


126 名前: 124 投稿日: 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
>>129

http://www.moonwolf.com/ruby/rubydoc/

これ?


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に現れるのに、このスレには……。
誰か喚んできて。


147 名前: 141=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
馬鹿だから


150 名前: arton 投稿日: 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をそのまま添付するだけじゃだめなのか?


169 名前: a 投稿日: 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
http://www.toiro.net/1016/mypage/6696/index.html


207 名前: デフォルトの名無しさん 投稿日: 2001/06/02(土) 20:10
やっぱ痛いよこいつ。。。


208 名前: デフォルトの名無しさん 投稿日: 2001/06/02(土) 20:10
>>206
よく分かった。ありがとう。
しかしこんなのどうやって見つけるんだ・・・?


209 名前: デフォルトの名無しさん 投稿日: 2001/06/02(土) 20:12
>>208
どういたしまして。
http://www.google.com/search?q=%8CF%92J%82%CC%82%60%82%8B%82%89%82%92%82%81%81%97%82q%82n%82l&btnG=Google+%8C%9F%8D%F5&hl=ja&lr=


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のライセンスもこういう状態だと言いたいんだと
思う。


219 名前: shige 投稿日: 2001/06/03(日) 05:18
Perl使いは脳障害


220 名前: shige 投稿日: 2001/06/03(日) 05:21
Perl使いは糞虫。
汚らしいものをこね回して汚らしいものを作り上げることしか脳がない。

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

いいから早く死にな。

死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死


221 名前: デフォルトの名無しさん 投稿日: 2001/06/03(日) 05:25
誰か >>219-220 の心理状態の解説お願いします。


222 名前: shige 投稿日: 2001/06/03(日) 05:25
P・e・r・l使いって

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

と、同じ種族?

プププ爆笑ものですよこれは


223 名前: デフォルトの名無しさん 投稿日: 2001/06/03(日) 05:25
意味不明な煽りだなぁ。
ここRubyスレなのに。


224 名前: shige 投稿日: 2001/06/03(日) 05:26
Perl使いって・・・
そ・れ・で・も、人間続けたいんですか。

度胸ありますね。彼らって(わらい)


225 名前: デフォルトの名無しさん 投稿日: 2001/06/03(日) 05:27
このスレでここしばらくの間は、Perl使いとわかる人物の発言なんて無かったよな?


226 名前: デフォルトの名無しさん 投稿日: 2001/06/03(日) 05:29
>>223
そうだよね。
Perl使いがいない所でPerl使いを煽ってもしょうがないよね…


227 名前: shige 投稿日: 2001/06/03(日) 05:30
(ぷぷぷぷぷぷぷ)だーーかーーらーーー。

>Perl使い
どなたか、ruby使い以上にオブジェクト指向がお出来になる方、
いらっしゃるの? 実力で勝負できないから、匿名
で悔し紛れに人の中傷してるだけでしょ?オホホホ


228 名前: shige 投稿日: 2001/06/03(日) 05:30
誤爆。失礼した。


229 名前: デフォルトの名無しさん 投稿日: 2001/06/03(日) 05:33
わけわからん。


230 名前: shige 投稿日: 2001/06/03(日) 05:34
>>219-228
激しく同意!


231 名前: デフォルトの名無しさん 投稿日: 2001/06/03(日) 05:34
はあ?>228
キミね、病院行った方がいいよ


232 名前: デフォルトの名無しさん 投稿日: 2001/06/03(日) 05:36
ワラタ


233 名前: shige 投稿日: 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のログにも時折追加した旨の記述がありますし。

ところで、自動出力と思った根拠は何ですか?


238 名前: 212 投稿日: 2001/06/04(月) 00:12
>>237
手書きなんですかぁ。
自動出力と思ったのは普通 /* bignum.c */ 等のコメントの前とか
前後に手書きだったら見やすく空行を入れる事が多いだろうし、
#ifndef xxx 〜 #endif もついてなかったので。。。


239 名前: デフォルトの名無しさん 投稿日: 2001/06/04(月) 00:18
所で、それを知ってどうするの?>>238


240 名前: 212 投稿日: 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使いを馬鹿にするのは問題外。

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

技術畑で「おじいさんおばぁさんを大切にしよう!」とか言うな。
じじばばを克服する(駄目ならば批判する)ことで技術は進むんだぞ。


247 名前: 242 投稿日: 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


251 名前: 248 投稿日: 2001/06/06(水) 19:24
......a.xmlの文法が違っていた......。
お騒がせしてすみません。
鬱だ市脳。


252 名前: デフォルトの名無しさん 投稿日: 2001/06/06(水) 20:29
>>246
微妙に噛み合ってないような気がするよん。
>perlやperl使いを馬鹿にするのは問題外。
ここの「馬鹿にする」は219-のような、Perlを使っている人への
罵倒/中傷レベルのことを問題にしているのであって
批判自体がタブーだと言っているわけではないと思うよん。


253 名前: デフォルトの名無しさん 投稿日: 2001/06/06(水) 20:31
それと、儒教はそんな祖先/目上に対する盲目的な崇拝を励行する学問ではないよん。


254 名前: 246 投稿日: 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

とりあえず、早めの出版をお願いしたいところだな。


267 名前: shige 投稿日: 2001/06/09(土) 22:32
ヒヒヒ............


268 名前: shige 投稿日: 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デスクトップリファレンスの英語版が
出るらしいよ。


278 名前: anonymous=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
あまり変わらないでしょ。


304 名前: shige 投稿日: 2001/06/16(土) 12:08
ヒヒヒ


305 名前: shige 投稿日: 2001/06/16(土) 12:08
ヒヒヒ


306 名前: shige 投稿日: 2001/06/16(土) 12:08
ヒヒヒ


307 名前: shige 投稿日: 2001/06/16(土) 12:08
ヒヒヒ


308 名前: shige 投稿日: 2001/06/16(土) 12:08
ヒヒヒ


309 名前: shige 投稿日: 2001/06/16(土) 12:08
ヒヒヒ


310 名前: shige 投稿日: 2001/06/16(土) 12:08
ヒヒヒ


311 名前: shige 投稿日: 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はないよ。


320 名前: 316 投稿日: 2001/06/17(日) 15:43
レスどうも
ゴミ返すのがいやor特に返すものがない
ならself返すのがrubyの慣習って事で了解です


321 名前: デフォルトの名無しさん 投稿日: 2001/06/17(日) 18:38
return selfといえばObjective-C思い出すなぁ。


322 名前: 319 投稿日: 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
ここも参照。
http://www.jin.gr.jp/~nahi/RWiki/?cmd=view;name=Win32OLE


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
未定義の「実用性」なんて持ち出して煽らないように。


346 名前: 345 投稿日: 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
>>342
前スレでがいしゅつ。
http://www.bagley.org/~doug/shootout/craps.shtml


350 名前: 1 投稿日: 2001/06/20(水) 02:20


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


351 名前: 339 投稿日: 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
型なし言語逝ってよし
http://piza.2ch.net/test/read.cgi?bbs=tech&key=986355498


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
  ハハハ
  ∧_∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ( ^∀^)<  あほか
 ( つ ⊂ ) \_________
  .)  ) )
 (__)_)     (^∀^)ゲラゲラ キエロ カイセンキッテクビモキレ ケラ


366 名前: ObjectiveCaml 投稿日: 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のおたく度


373 名前: 356 投稿日: 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
怪しいとはどこが?再配布者は特に怖いことはないと思うんだが。。

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

再配布者は別にライセンス(= 事実上制約なし)に従っていれば問題ないのだし。


386 名前: 385 投稿日: 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 はすでに別の意味のキーワードとして存在するしなあ。


392 名前: 391 投稿日: 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
「ルビ厨」なんて用語も出来てるし....


420 名前: 411 投稿日: 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のこと?


426 名前: RubyはPerlのパクリ 投稿日: 2001/07/02(月) 01:26
Rubyなんて名前の付け方からして
明らかにPerlのパクリsage


427 名前: So 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調のがいい。アニメヲタっぽくないやつ(藁
誰か描いてくれよう。


431 名前: Rubyは絶対に流行りません 投稿日: 2001/07/02(月) 17:53
Rubyは書式がダサイすぎる。
お前らグローバルスタンダードって言葉知ってるのか?
んん?


432 名前: shige 投稿日: 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って定義されてるの?


436 名前: 153 投稿日: 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


438 名前: 153 投稿日: 2001/07/03(火) 00:02
rubyてネーミングがD’QN臭を漂わせてるよ。
バカ丸出し。


439 名前: 435 投稿日: 2001/07/03(火) 00:12
>>437
ほほ〜。なるほど。
class_evalなんてメソッドがあるのか。


440 名前: デフォルトの名無しさん 投稿日: 2001/07/03(火) 02:24
>>430
他にWindows用のアイコンというとこのあたりかな。
http://member.nifty.ne.jp/ueivu/rubyico.html
http://homepage1.nifty.com/a_nakata/ruby/
http://www.geocities.co.jp/SiliconValley-Bay/4076/archive/ruby.ico.gz

ここのはアイコン単独では配布してないみたいだけど。
http://www.pragmaticprogrammer.com/ruby/downloads/ruby-install.html


441 名前: KD 投稿日: 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


442 名前: Rubyは絶対に流行りません 投稿日: 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


445 名前: KD 投稿日: 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

でもいいかと思われ。


447 名前: 446 投稿日: 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
乗るなよ。


455 名前: shige 投稿日: 2001/07/06(金) 05:14
ハハハ
  ∧_∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ( ^∀^)<  あほか>>452
 ( つ ⊂ ) \_________
  .)  ) )
 (__)_)     (^∀^)ゲラゲラ シネヤ


456 名前: shige 投稿日: 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


457 名前: shige 投稿日: 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


458 名前: shige 投稿日: 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


459 名前: shige 投稿日: 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じゃないかな。


462 名前: shige 投稿日: 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 な人にはそれじゃ通じないですからね。


467 名前: Rubyを端的に表すと 投稿日: 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系にあげて下さい…


474 名前: 471 投稿日: 2001/07/07(土) 17:19
>>472
そうなんですか。ありがとうございました。


475 名前: 470 投稿日: 2001/07/07(土) 18:27
>>472
どう瓦解するのかぜんぜんわからないけど、 Delphi の構文は VB 程度にシンプルでないという意味?
Pascal は明らかに構文解析のしやすさを念頭に作られていて、 Delphi でもシンプルさは損なわれてないじゃん。
(俺は Delphi2 から 4 あたりまでを使っていたから、説明する上で基本的なことは省略してくれて構いません)


476 名前: 470 投稿日: 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 が指摘しているステレオタイプそのものなんだよな。
「欧米がそうなんだからそうじゃなきゃいけない」と主張しているように勝手に読んじゃうの。

「刺激を受けないとね」とわざわざ予防線張ってあるのに。


489 名前: shige 投稿日: 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
>>492
井の中の蛙にはなるなよ。
http://easyweb.easynet.co.uk/~hiros/virii99/newtype/list.doc


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 の派生物だ、
ソースを公開しろ、と訴えてみたら?公開されたらみんなよろこぶよ。(笑


508 名前: 497 投稿日: 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}


528 名前: 524 投稿日: 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というイメージあるだろ。


534 名前: 531 投稿日: 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 であって、提供している側もライブラリとして扱うことを求めている。以上。

何か議論の余地が?


538 名前: 497 投稿日: 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
そうだといいね。それはバイナリだけの話?


546 名前: 544 投稿日: 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
複雑だな。


550 名前: 544 投稿日: 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
それが本当ならちと由々しき事態って感じだが、
本当に両者は同じ(?)行をさして話してるのか?


553 名前: 544 投稿日: 2001/07/10(火) 08:40
>>550
確かに。こっち見るべきですね。スマソ
LGPL Version 2.1 (February 1999) だと combine 。


554 名前: 514 投稿日: 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厨みたいなのが顰蹙を買っているのだろうか・・・・


559 名前: Rubyの法則 投稿日: 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
駄々っ子だな。何して欲しいかも言えない赤ん坊。


572 名前: shige 投稿日: 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の方がよっぽど良い。

まぁ、マニュアルの売り上げで開発費の元を取るビジネスモデルのつもりなら、文句つけるのは筋違いだけど・・・結構御布施してるし・・・。


580 名前: 497 投稿日: 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ユーザの人。


597 名前: 596 投稿日: 2001/07/11(水) 03:32
ぎこるびを指名。(w


598 名前: デフォルトの名無しさん 投稿日: 2001/07/11(水) 04:27
LGPLの勉強になった。


599 名前: shige 投稿日: 2001/07/11(水) 05:30
俺じゃない。


600 名前: デフォルトの名無しさん 投稿日: 2001/07/11(水) 06:20
んで、バイナリで配る時はBSDLの問題もあるよな。
ライセンスウゼー。


601 名前: 514 投稿日: 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
でもいちいちバイナリ配布するのにソースも含めるのか?
サイズがでかくなって嫌だな。


604 名前: 497 投稿日: 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はバイナリだけで配布することは出来ないのか?


609 名前: 544 投稿日: 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の対象


611 名前: 609 投稿日: 2001/07/12(木) 09:14
>>610
この等式が成り立つとは考えられない。
ライセンスの文面には "work" が違う意味で出てくるでしょ。
なのに単に "the work" とだけ出てきたら、
その直前に出てきた"work"、つまり6節の冒頭の
"a work containing portions of the Library"
を指すはず。


612 名前: 514 投稿日: 2001/07/12(木) 09:50
>>604
>なぜでしょうか?セクション1、2にはこれと矛盾する記述はありませんよね?

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

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

497さんは、例えば「LGPLなライブラリをリンクして使用するBSDライセンスな
プログラム」というものは、ソース形態ですら配布できない、という意見なん
でしょうか?


613 名前: デフォルトの名無しさん 投稿日: 2001/07/12(木) 14:30
>>611
成り立つよ。>>508を参照。


614 名前: 497 投稿日: 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の解釈の問題も一応あります。
どっちにしろ灰色には出来ると思いますし、どちらかを採用すれば、私見では白に
近いと思います。


615 名前: 497 投稿日: 2001/07/13(金) 01:09
>>612
> 497さんは、例えば「LGPLなライブラリをリンクして使用するBSDライセンスな
> プログラム」というものは、ソース形態ですら配布できない、という意見なん
> でしょうか?

LGPLには、そのプログラムが独立した作品だと合理的に考えられれば大丈夫と
書いてあるように思います。
その判断は難しいですが、その場合に当てはまるなら大丈夫だと思います。


616 名前: 609 投稿日: 2001/07/13(金) 07:20
>>610 >>613 >>614
そうか。section 2 に差し戻された時点ではそうなりますね。失礼しました。

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

結局みなせるみなせないに行き着くので、なんだかな、と。
もうちょっと改善した方がよいというのは同意します。


617 名前: デフォルトの名無しさん 投稿日: 2001/07/13(金) 09:37
ライセンスはちゃんと考えた方がいいね。
無関心でいたがるプログラマ多そうだし。


618 名前: 514 投稿日: 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)」
とありますが、これはリンクして実行形式を作った場合のことです。
よってソース配布について制限を加えるものではありません。


619 名前: 514 投稿日: 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
ハァ?


621 名前: 499 投稿日: 2001/07/13(金) 13:35
>>619
同意。

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

[*] 細かい部分が多いが、 ruby インタプリタと通信する部分は
律儀に #ifdef RUBY 〜 #endif で括ってある。


622 名前: 499 投稿日: 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
煽りのレベルが低すぎる!


626 名前: shige 投稿日: 2001/07/13(金) 23:02
http://www.japu.org/
むかつく。潰す。


627 名前: 497 投稿日: 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正規表現部ぐらい作り直せよとか思ってしまうが。


629 名前: 497 投稿日: 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にして外部から組み込む様にすれば?


634 名前: 633 投稿日: 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のは随分とわかりやすいね。


651 名前: shige 投稿日: 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 なんてのじゃかっこわるい。


653 名前: 648 投稿日: 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だって同じことが言える)を
望むシーンに持ち込んだほうが、いろいろ良くないか?
ま、レガシーシステムのラッパーといえば聞こえがいいけどな(わら


661 名前: 658 投稿日: 2001/07/16(月) 04:59
俺が指摘したいのは、普遍的適合性とか再利用性という妄想や幻想に
取り付かれすぎている人間が少なくないということだよ。

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

ライフサイクルというものを考慮に入れずに再利用性云々を口にするのも
なんだかなーと思う。うまく適用できたときの感慨はひとしおなんだが、
いつのまにか見合わない労力をかける悪癖が身に付いてしまうようでは
本末転倒。


662 名前: 658 投稿日: 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
http://www.ogis-ri.co.jp/otc/hiroba/technical/agent/article/


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は試した?


690 名前: 684 投稿日: 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使いだけなのにね。


696 名前: 670 投稿日: 2001/07/19(木) 15:09
さんきゅ。
まだバグは取れていないけど、
printデバッグの苦しみから解放されそうです。


697 名前: デフォルトの名無しさん 投稿日: 2001/07/19(木) 15:58
>>696
RubyUnit使ってる?
http://homepage1.nifty.com/markey/ruby/rubyunit/


698 名前: 670 投稿日: 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というか環境への移植や、
アプリケーションへの組み込みも楽になるのではないかなぁ、と考えてます。

…考えるだけじゃだめなんだけど、やる時間がなくて…。


701 名前: shige 投稿日: 2001/07/19(木) 22:35
----------------------------------------------------
The End
----------------------------------------------------


702 名前: デフォルトの名無しさん 投稿日: 2001/07/20(金) 05:13
>>700
fs がない OS で scipt lang を使うのか? っていう問題が。
とはいえ、POSIX 準拠以外の OS 以外頭に浮ばなかったから、ヲレに
とっては新鮮な視点でした。ありがとう。


703 名前: 700 投稿日: 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みたいに
使う事が出来なかったんで萎えた事があったなぁ。


706 名前: Rubyは絶対に流行りません! 投稿日: 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はどうかな?


715 名前: 714 投稿日: 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の方を勧める。


720 名前: 719 投稿日: 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点を気にしなければ有用ですね。


722 名前: 713 投稿日: 2001/07/23(月) 01:32
なるほど。else ifだとelse, if共にendしなきゃならないのか。
それをすっかり忘れていました。
んじゃ、素直にelsifを使います。


723 名前: 6 投稿日: 2001/07/23(月) 01:34
http://www.topmode100.com/ranking/rankem.cgi?id=jtn5f

http://www.topmode100.com/ranking/rankem.cgi?id=jtn0f

http://www.topmode100.com/ranking/rankem.cgi?id=jtn3f


724 名前: 700 投稿日: 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の開発陣は相当苦労したらしい…
もちろんそれ自体は立派なことなんだけど、
ふりかえって考えれば、なんだかなぁ…と。


745 名前: 739 投稿日: 2001/07/29(日) 22:59
どちらかといえば、MacOS自体の話はどうでも良くて、
MacOS9以前でRubyを動くとうれしい、というのが本題です。
ただ、「使いたい」と思う頻度が少ないので、
そこらへんを調べたりするモチベーションも上がりません。
また、MLを読んだりする分にはMacOS対応を希望する人の
声があまりない(ように見えた)ので、需要もないのでしょう。

>>744
> (自前の擬似マルチタスクで動くような)音楽アプリが
> 却ってwinより作りやすい、というくらいに(わら)、駄目だ。
それがだめかどうかってのは、ユーザの立場で変わりますよね。
シーケンサ使っていますので、私にとっては好都合ということで。
「マルチタスクOSとして正しくない」って話はしません。
というかそろそろスレ違い気味です。ごめんなさい。


746 名前: 741 投稿日: 2001/07/30(月) 01:06
つうかJavaもRubyも言語でマルチスレッドサポートしてるんでないの?(Rubyはよく知らん)
マルチスレッドってOSレベルでちゃんと実装されてないと
その上で動く言語でもかなりの制限を受けるんじゃないかと思っただけ


747 名前: 739 投稿日: 2001/07/30(月) 02:36
>>746
(いわゆる)スレッドの機能がないOS上でも
Rubyのスレッドは使えます。


748 名前: 739 投稿日: 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のネイティブスレッドを使用していないっていうだけでしょ?


751 名前: 739 投稿日: 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
cnet japanの記事
http://japan.cnet.com/Newsmakers/Ruby/


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側で把握可能にしておいてあれば、それで済むのかなと素人考えでは思うのですが、
そういうものではないんでしょうか?


763 名前: 761 投稿日: 2001/08/01(水) 15:49
参考 [ruby-list:29735]
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/~poffice/mail/ruby-list/29735


764 名前: デフォルトの名無しさん 投稿日: 2001/08/02(木) 04:34
http://www.megabbs.com/program/index.html


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であり、
起動時にテキトウに幾つか生成しといて使いまわす、ってことだっけ?


792 名前: Ruby房 投稿日: 2001/08/16(木) 11:52
ネタじゃないっす
RubyでStringTokenizerを作ろうとしているのですが
C言語みたいに

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

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

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

どう書くのが綺麗で見易い方法なのでしょうか?


793 名前: 792 投稿日: 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
> どう書くのが綺麗で見易い方法なのでしょうか?
正規表現を使う。


798 名前: 790 投稿日: 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的手法は
殆ど役立たない。ああいう使い方では効率が悪すぎる。


803 名前: 792 投稿日: 2001/08/17(金) 09:34
仕事暇な時にRubyやってるんでレス遅くてすいません
返答どうもです

>>794
いけましたYo!

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

>>797
正規表現複雑になりそう・・・


804 名前: 800 投稿日: 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?)からでも
ばんばん出来るわけでしょ?

そういう風になりゃいいわけよ、プロセスも。


813 名前: 800 投稿日: 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版もなかったような。


815 名前: 809 投稿日: 2001/08/18(土) 17:47
>>810
>>814
情報ありがとうございます。カーソルキー以外は大体方向性が見えてきました。
×system("cls") ○system("command.com /C cls")は恥ずかしかったデス(TT


816 名前: 814 投稿日: 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
>>817 http://www.microsoft.com/ms.htm


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 が多かったり、仕様の変更が
あったりするのがアレだけども。


843 名前: 836 投稿日: 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


845 名前: 837 投稿日: 01/09/05 23:24 ID:c8mzLy0s
>>843
全部cygwin版対応可能なはずだけど。バイナリでも少なくともRuby/Tkは標準
配付だし、VisualuRubyはcygwin版が提供されてるし。


846 名前: 836 投稿日: 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入ってるね。
でも使い方が分からん


848 名前: デフォルトの名無しさん 投稿日: 01/09/07 13:20
へぇ
松本行弘氏ってIPAの未踏ソフトウェア創造事業に
採択していたんだね。


849 名前: デフォルトの名無しさん 投稿日: 01/09/07 14:11
>>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'とでもして時間を確認するべし。
余分な桁を考慮してないアプリは動作不良を起こすかもしれないが、それはひとまず忘れて、
多数の記念宴会が各地で開催されるに違いない。


853 名前: デフォルトの名無しさん 投稿日: 01/09/10 13:23
>>851 31339-31363のことかな


854 名前: デフォルトの名無しさん 投稿日: 01/09/10 14:08
>>853
なんだこりゃ。
さすがに無意味なデータだから削除させてもらうか。


855 名前: デフォルトの名無しさん 投稿日: 01/09/10 14:16
停まったね。強制退会させられたのか?


856 名前: 名無しさんは不在にしております。 投稿日: 01/09/10 15:30
出所しましてから、返答いたします。


857 名前: デフォルトの名無しさん 投稿日: 01/09/10 18:17
p '機構'

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

ちなみに ruby 1.6.5 (2001-09-05) [i386-cygwin] です。


858 名前: 名無しさんは不在にしております。 投稿日: 01/09/10 19:00
>>857
-Ks
じゃないの?


859 名前: デフォルトの名無しさん 投稿日: 01/09/10 22:01
>>850
Java-Houseみたいでかなり鬱


860 名前: 857 投稿日: 01/09/10 22:39
>>858
-Ks やったらうまくいったよ、ありがとう!
$KCODE="SJIS" やってもなんの変化も
なかったから -Ks も関係ないのかと思ってたよ


861 名前: 857 投稿日: 01/09/11 10:26
#!/usr/local/bin/ruby -Ks
Dir.mkdir('機構')

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

質問ばっかりでスマソ


862 名前: デフォルトの名無しさん 投稿日: 01/09/11 11:52
そもそも Cygwin が日本語ファイル名に対応してないので
Win32API 呼ぶか、 ActiveScriptRuby 使ってください。


863 名前: 857 投稿日: 01/09/12 13:28
Cygwinは対応してないんですか、
Win32API呼ぶ方法使ってみます。


864 名前: デフォルトの名無しさん 投稿日: 01/09/12 17:08
ピアソンのウサギ本の索引にある本文ページ数が一致しないのが多いような気がするんだけど、気のせい?


865 名前: 名無しさん@XEmacs 投稿日: 01/09/15 22:19
最近shigeも見なくなったな。
結局あれも夏房の一人だったのか(wara


866 名前: デフォルトの名無しさん 投稿日: 01/09/15 23:15
今日Cスレで見かけたな。
どうでもいいが。


867 名前: デフォルトの名無しさん 投稿日: 01/09/17 23:57
うおー
Win環境ですが、ネットワーク共有でLAN接続されたのファイルに
アクセスできるでしょうか。

例:コマンドライン上からは
type \\OtherComputer\ShareDir\file.txt
みたいにアクセスできるファイルを
Filetest::exist?()で存在を確認したりしたいです。出来ると随分楽になること多し。


868 名前: デフォルトの名無しさん 投稿日: 01/09/18 01:01
>>867 やってみれば?


869 名前: デフォルトの名無しさん 投稿日: 01/09/18 15:26
>>867
cygwinのシェルからはできたよ。

ruby -e 'p FileTest::exist?("//othercom/share/test.txt")'


870 名前: デフォルトの名無しさん 投稿日: 01/09/18 19:41
ruby信者ウザイ


871 名前: デフォルトの名無しさん 投稿日: 01/09/18 21:59
>>868
何回かやってみたのですがしくじりました。
が、↓
>>869
うお?ほんとですかぁー(゚Д゚;)
もう一度やってみよう・・・


872 名前: デフォルトの名無しさん 投稿日: 01/09/19 05:55
この板ではHSPに次いでユーザーの質が悪いね


873 名前: デフォルトの名無しさん 投稿日: 01/09/20 00:13
apolloはどうよ?


874 名前: デフォルトの名無しさん 投稿日: 01/09/20 00:20
>>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をプロトタイプの作成以外につかってる奴なんて
いるのか?


878 名前: デフォルトの名無しさん 投稿日: 01/09/20 11:17
つうかよお、Perlをプロトタイプの作成以外につかってる奴なんて
いるのか?

いるっしょ。Rubyも同じ。


879 名前: デフォルトの名無しさん 投稿日: 01/09/21 19:43
こんなん作ってみました
2ちゃんねるヘッドラインとでも言いましょうか
掲示板のチェックボックスをチェックして送信ボタン押せば
上位10スレ表示されます

http://nmgm.s2.xrea.com/index.html
ソースは
http://nmgm.s2.xrea.com/getsub2.zipです
どうでしょか?
感想聞かせてください。


880 名前: デフォルトの名無しさん 投稿日: 01/09/22 10:28
ブラクラです


881 名前: デフォルトの名無しさん 投稿日: 01/09/22 13:13
Rubyってテキスト処理遅くないか?
300MBほどのテキストを処理するのに 30分もかかったぞ。
Perlで書いたら10分とかからなかった。
Cで書いたら3分ぐらい。

実はPerlって偉い?


882 名前: デフォルトの名無しさん 投稿日: 01/09/22 13:21
使ってる命令は?


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の事を分かっていただけない人に出会ったら、
この発言をコピペしていただければ幸いです。


886 名前: 879 投稿日: 01/09/22 14:55
>>880
ブラクラじゃないんですけど・・・

とりあえず使ってみてください
他の板では評判は上々です


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

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


888 名前: デフォルトの名無しさん 投稿日: 01/09/22 17:28
Rubyはクソです。ゴミ箱逝きです。

いじょ


889 名前: デフォルトの名無しさん 投稿日: 01/09/22 17:36
次スレ立てました。
こちらに移行してください。
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=1001125342&ls=50


890 名前: デフォルトの名無しさん 投稿日: 01/09/22 18:26
今だ!890ゲットォォォォ!!
 ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄       (´´
     ∧∧   )      (´⌒(´
  ⊂(゚Д゚⊂⌒`つ≡≡≡(´⌒;;;≡≡≡=
         ̄ ̄  (´⌒(´⌒;;
      ズザーーーーーッ


891 名前: デフォルトの名無しさん 投稿日: 01/09/22 18:28

     
今だ!891ゲットォォォォ!!
 ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄       (´´
     ∧∧   )      (´⌒(´
  ⊂(゚Д゚⊂⌒`つ≡≡≡(´⌒;;;≡≡≡=
         ̄ ̄  (´⌒(´⌒;;
      ズザーーーーーッ


892 名前: デフォルトの名無しさん 投稿日: 01/09/22 18:28
                   
今だ!893ゲットォォォォ!!
 ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄       (´´
     ∧∧   )      (´⌒(´
  ⊂(゚Д゚⊂⌒`つ≡≡≡(´⌒;;;≡≡≡=
         ̄ ̄  (´⌒(´⌒;;
      ズザーーーーーッ


893 名前: デフォルトの名無しさん 投稿日: 01/09/22 19:33
ID制復活きぼん


894 名前: ぎこるび 投稿日: 01/09/24 00:42
そんなにRubyが嫌いならこのスレを荒らせば良いのに…
何かに託けて荒らしているだけなんでしょうね。


895 名前: 次スレには「shige禁止」つけて欲しい 投稿日: 01/09/24 01:02
研究に忙しくてプログラミングやってる暇無いよ…

>>894
各言語ユーザ間の対立でも狙ってるのかな。


896 名前: デフォルトの名無しさん 投稿日: 01/09/24 01:35
他の言語を散々馬鹿にしてきたつけが回ってきただけだろ(大爆笑)


897 名前: デフォルトの名無しさん 投稿日: 01/09/24 01:56
256本とかが、多言語を馬鹿にしているような
印象を与えてきてるってことなのかな。

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

にしても、スレッドを荒らす奴は何のメリットもないのに
ご苦労なことだよ ( ´д`;)


898 名前: デフォルトの名無しさん 投稿日: 01/09/24 02:14
ていうか、他言語を馬鹿に出来るほどの言語なのか?
後発ゆえの新しめな仕様と他言語の教訓を生かした無難な
仕様があるだけの話であって、何も革新的なものは無い
ような気がするのだが。
かつて、Perl、Java、Smalltalk、Simula、Prolog、Lisp
Fortranなどが与えたインパクトに比べて、車輪の再発明
の感が否めない。


899 名前: デフォルトの名無しさん 投稿日: 01/09/24 06:40
Perl、Smalltalk、Lisp等々をうまくミックスしたバランスがよいと思う。いい
とこ取りをして、なおかつそれらを一つにまとめるのはスキルがいると思う。


900 名前: デフォルトの名無しさん 投稿日: 01/09/24 09:12
まあ、例え2chで叩かれても、大勢にはなんの影響もないから心配ない。


901 名前: デフォルトの名無しさん 投稿日: 01/09/24 11:08
いい加減にして欲しいね。
http://corn.2ch.net/test/read.cgi?bbs=php&key=1001292585


902 名前: デフォルトの名無しさん 投稿日: 01/09/24 13:46
結局、全ては妬みなんだろうな。rubyへの。


903 名前: デフォルトの名無しさん 投稿日: 01/09/24 15:18
>>899-902
典型的なRuby厨房


904 名前: ルビ厨な人 投稿日: 01/09/24 16:00
>>903
典型的な反Ruby厨房

そして、こんなレス付けて煽ろうとする俺も典型的なRuby厨房か、、、


905 名前: デフォルトの名無しさん 投稿日: 01/09/24 17:20
>>899
Lispの一番いいところを取ってないよ・・・


906 名前: ぎこるび 投稿日: 01/09/24 17:55
>>905
CLOS みたいに first class object なら
もっと胸をはって何でもオブジェクトって言えるんですけどね。。。


907 名前: デフォルトの名無しさん 投稿日: 01/09/24 18:39
>>905
Lispの一番いいところって?


908 名前: 名無しさん 投稿日: 01/09/24 19:02
>907
括弧の多い所。


909 名前: デフォルトの名無しさん 投稿日: 01/09/24 19:33
ツマンネエヨ


910 名前: るby 投稿日: 01/09/24 21:22
end


911 名前: デフォルトの名無しさん 投稿日: 01/09/25 06:01
マクロかな?


912 名前: デフォルトの名無しさん 投稿日: 01/09/25 11:04
Ruby.NETって誰もまともに検討してないの?


913 名前: デフォルトの名無しさん 投稿日: 01/09/25 11:43
マータリいこうよ。。。


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澎ミ ・


916 名前: デフォルトの名無しさん 投稿日: 01/09/26 19:38
――――――――――――――――――――――
番組の途中ですが、臨時ニュースです。
「Rubyはクソです。ゴミ箱逝きです。 いじょ 」
この発言をコピペしていただければ幸いです。
___________   __________
             ‖ \|________ 
             ‖ | ON AIR.|
             ‖  ̄ ̄ ̄ ̄
        ./ ̄ ̄θ  ∧_∧
      .../   //(´∀` )/|
     ./      ̄/⊂    ||_/
     | ̄ ̄ ̄ ̄ ̄|  (  ━┳┛
     |_____| /ヽ」┘┻


917 名前: デフォルトの名無しさん 投稿日: 01/09/27 04:56
偽善者


918 名前: デフォルトの名無しさん 投稿日: 01/09/27 07:28
>>899
ハァ?
馬鹿ですか?


919 名前: デフォルトの名無しさん 投稿日: 01/09/27 07:49
def factorial(n)
  if n == 1
    1
  else
    n * factorial(n - 1)
  end
end


920 名前: デフォルトの名無しさん 投稿日: 01/09/27 08:31
>>918
ruby が各種言語のいいとこをミックスしてるかはともかく,
それをするにはスキルがいると思うんだが.

>>899 も ruby がそうだとは言ってないし(一応).


921 名前: デフォルトの名無しさん 投稿日: 01/09/27 11:59
何の言語のこと言ってるんだ?


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と出るのはバグレポートしなさい、ということですか?


923 名前: デフォルトの名無しさん 投稿日: 01/09/28 00:24
>>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で特徴的な機能
ってたとえば鈍なのがあるの?


926 名前: 922 投稿日: 01/09/28 03:13
>>923
>>924
了解です。新しいのにしてみます。
ありがとうございました。


927 名前: マンセー 投稿日: 01/09/28 13:44
http://www.pearsoned.co.jp/washo/prog/wa_pro44-j.html


928 名前: 922 投稿日: 01/09/28 20:08
原因、わかりました。
コードの中に堂々と全角スペース。
逝ってきます・・・


929 名前: デフォルトの名無しさん 投稿日: 01/09/28 21:06
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;

とやるのと同じってこと。


934 名前: 932 投稿日: 01/09/28 23:55
>>933
なるほど、納得がいきました。
リファレンスっていうよりポインタだと思えばいいわけですね。


935 名前: デフォルトの名無しさん 投稿日: 01/09/29 00:42
1000を目指せ!!


936 名前: デフォルトの名無しさん 投稿日: 01/09/29 01:02
ASCIIから出てる「オブジェクト指向スクリプト言語Ruby」の
ページの隅に付いてる羊とか鳥の絵がパラパラマンガになってるのでは、と
一瞬思ったヤツ手挙げろ。


937 名前: デフォルトの名無しさん 投稿日: 01/09/29 12:46
Perlスレの次はPythonスレを荒すか。
ろくな奴がいないな。


938 名前: >>936 投稿日: 01/09/29 19:33
はい。


939 名前: デフォルトの名無しさん 投稿日: 01/09/29 19:42
>>925
> Rubyが持つUNIXで特徴的な機能
プロセス関係とかシグナルとか


940 名前: デフォルトの名無しさん 投稿日: 01/09/29 23:05
んなもの無いほうがおかしい。


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に特徴的な機能というヤツ」が
知りたかったんですよ。(汗)


943 名前: デフォルトの名無しさん 投稿日: 01/09/30 01:12
>>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
破棄じゃなくて放棄ですね。すみません。
僕がいなくなったからってどうってことはないでしょうけども。


946 名前: デフォルトの名無しさん 投稿日: 01/09/30 05:24
何を当たり前のことを(w
自意識過剰な奴はこれだから困るね。


947 名前: デフォルトの名無しさん 投稿日: 01/09/30 05:33
>>946
いなくなって大きな影響があるだろう。と言ったなら自意識過剰だが、
どうってこと無いと言ったなら自意識がないってことだろ。


948 名前: != 946 投稿日: 01/09/30 05:45
いなくなった場合、何らかの影響が云々ということにまで頭を巡らすこと自体自意識過剰だ、
と言いたいんじゃないの?
どっちにせよ、946はただ単に嫌味を言いたいだけなんだろうけど。


949 名前: デフォルトの名無しさん 投稿日: 01/09/30 05:45
逆だろ?


950 名前: デフォルトの名無しさん 投稿日: 01/09/30 05:46
950取った奴は新生スレッドね。


951 名前: デフォルトの名無しさん 投稿日: 01/09/30 05:52
ま、気にせず消えてください。


952 名前: デフォルトの名無しさん 投稿日: 01/09/30 06:01
みんな冷たいね。


953 名前: デフォルトの名無しさん 投稿日: 01/09/30 06:24
>>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 立てて以来ずっと書き込んできたからスレに愛着が沸いてしまっただけです。
それじゃさようなら。


957 名前: デフォルトの名無しさん 投稿日: 01/09/30 14:48
>>956
そんなこと言うなよー
荒らしなんてほっとけばじきに消えるんだからさ。
気にせずに戻ってこいよぅ


958 名前: ルビ厨な人@敗北者 投稿日: 01/09/30 15:08
950では無いけど、新スレ、立てておいたよ。
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=1001829961&ls=50
んじゃ、後はがんばってね。


959 名前: デフォルトの名無しさん 投稿日: 01/09/30 16:00
>>957 まぁまぁ。だって人生の敗北者だし。


960 名前: デフォルトの名無しさん 投稿日: 01/09/30 16:27
次スレは、車板のマツダスレと同じ趣向なの?


961 名前: デフォルトの名無しさん 投稿日: 01/09/30 21:16
誰かスレ立て直せよ。


962 名前: 名無しさん 投稿日: 01/09/30 21:32
別にアレでいいじゃん、そう気取るなよ。


963 名前: デフォルトの名無しさん 投稿日: 01/09/30 23:30
オマエガタテタノカヨ?


964 名前: デフォルトの名無しさん 投稿日: 01/10/01 00:16
ああいうタイトルだとかえってユーザが増えるかもしれない。


965 名前: デフォルトの名無しさん 投稿日: 01/10/01 10:28
>>944
File.link・File.readlink・File.symlinkは実装されてない。
File#flockはNT系なら動作する。


966 名前: デフォルトの名無しさん 投稿日: 01/10/01 15:51
>>965
File#flockは9xでも動くはずだがな。
>>944はなぜかflockじゃなくてforkの例外メッセージを引用してるん
だが、これはたしかにWindows(mswin32,mingw32)じゃ実装されてない。

それとNTFSでできるのはシンボリックリンクじゃなくてハードリンク。


967 名前: デフォルトの名無しさん 投稿日: 01/10/01 22:48
>>965-966
そのとおりです。flockは動きますね。
恥ずかしい間違えをしたので訂正だけして消えます。


968 名前: 965 投稿日: 01/10/02 08:30
>>966
ほんとだ。勘違いしてた。
逝ってくる。


969 名前: デフォルトの名無しさん 投稿日: 01/11/02 15:33
さようならruby
さようならまつもと


970 名前: 名無しさん@Emacs 投稿日: 01/11/04 22:09
migemoの話なんですが,ほかに場所知らないんでちょっと質問.
日本語の「ジェ」をサーチしようと思うのですが,
なんてローマ字打てばよいのですか?
「je」じゃだめでした.


971 名前: デフォルトの名無しさん 投稿日: 01/11/04 22:36
>>970
KoRoN 氏の実装のでは je で検索できるけど。
オリジナルのは使ったことないや。


972 名前: 名無しさん@Emacs 投稿日: 01/11/04 23:54
970だけど,zixeで「ジェ」の検索はできました.
しかし,いまいちだなー.


973 名前: 名無しさん@XEmacs 投稿日: 01/11/11 13:58
age


974 名前: デフォルトの名無しさん 投稿日: 01/11/11 20:26
>>973
Why do you age this thread?


975 名前: デフォルトの名無しさん 投稿日: 01/11/11 21:09
そろそろPart3つくろうよ!


976 名前: デフォルトの名無しさん 投稿日: 01/11/11 21:35
次スレはこれ

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


977 名前: デフォルトの名無しさん 投稿日: 01/12/17 22:43
ファイルロックに関してですが、「ロックがかかっているというファイルを作る」より
Dir.mkdirやFile.renameを使ったほうがいいととある本に書いてありました。
これどうしてなんでしょうか?


978 名前: デフォルトの名無しさん 投稿日: 01/12/17 22:52
>>977
ある本て、どの本だよ?


979 名前: デフォルトの名無しさん 投稿日: 01/12/18 03:30
NFSでうまく動かんとか、そういう噺家?


980 名前: デフォルトの名無しさん 投稿日: 01/12/18 08:59
>>977
このあたりのスレッドを読んでみて。
http://blade.nagaokaut.ac.jp/cgi-bin/vframe.rb/ruby/ruby-list/28222?28160-28754
http://blade.nagaokaut.ac.jp/cgi-bin/vframe.rb/ruby/ruby-list/28231?28160-28754


981 名前: デフォルトの名無しさん 投稿日: 01/12/23 21:38
Ruby



2ちゃんねるは、ここのサーバを使ってるです。。。