トップページ⇒tech
905コメント387KB

Rubyでもどうよ

レス数が900を超えています。1000を超えると表示できなくなるよ。
0001ギコRubyistNGNG
雑誌で連載があったりするがやっぱりまだマイナーなRuby。
つうか2chで流行らせるしかなし。
ま、知ってて損もないだろうから興味のある人はここでギコギコしてね。

プログラマ板のスレ
http://mentai.2ch.net/test/read.cgi?bbs=prog&key=960615378
0002名無しさん@お腹いっぱい。NGNG
どうよと言われると、、、

遠慮しとくわ

0003なりたてRubyistNGNG
Ruby本を買って、ちょっと読んだだけ。
プログラミング経験は高校時代のN88-BASICのみ。
1からプログラミング(つーかスクリプティング?)を勉強しようと
思ってますので、このスレに期待してます。
0004名無しさん@お腹いっぱい。NGNG
やっぱ型が弱い言語はとっつきにくくてだめだわ。
0005似非SmalltalkerNGNG
ドキュメント見るのがダルいから、統合環境とGUIのクラスブラウザが欲しい。
0006名無しさんNGNG
Rubyistだとか言って、グループへの帰属意識をひけらかしてるのが、
道具としてのRubyが一般へ普及するのを妨げてるんじゃない?
0007ギコRubyistNGNG
>>2
慎み深いなあ。そんな2さんには言語`J'をお勧めします。

>>3
どの段階にいるかは知りませんが、
irbを使ってRubyのオブジェクトを弄くりまわしてみると感じが掴めるかも。

>>4
キャストしなくて済むのが楽ですー。

>>5
Windows向け統合環境RubyWINが鋭意製作されてます。
クラスブラウザは自分もほしいですね。
一応作ろうという話はあるみたい。

>>6
「グループへの帰属意識」を利用して、
人材を確保しておこうという戦略らしいです。
そろそろコアグループ形成期は終わったとみて、
拡大期に向けた戦略転換が必要なのかも。
00084NGNG
型がないから、メソッドの仕様がわかりにくいんだよね。
キャストしないですむっていう話じゃないの。添付
ライブラリにしてもそうだし、自分で組んだコードにしても
そう。ソースの可読性がわるいといえばいいのかな。

さらに自分で書いたメソッドのエラーチェックをきつくしようと
するとメソッドの仮引数の型チェックができないからコードが
is_a?()だらけになるとかね。
0009名無しさんNGNG
なんかこう、全体にただようUNIXバンザイ思想がWindowsメインの
俺にとってはいや〜ん。PerlもそこまではUNIXくさくないさ。

あと、純真なWindowsユーザーにCygwinを強要すんな。
0010>9NGNG
そんなことは無いと思うけど。Perlは十分Unixクサイよ。
慣れの問題でしょ?
0011>4NGNG
型付けの強い言語を使いなれた人には、発想の転換が必要ね。
「このメッセージを受け取るオブジェクトの型は何?」とか
考えるんじゃなくて、これはこういうメッセージを受け付け
るオブジェクトなのね、っていう。
00124NGNG
んー、そういう一般論じゃなくて細かい各論をいってたんだけどな。
たとえば、openFile(filename, mode)っていう
メソッドがあるとするよね。で、この情報だけじゃ
メソッドの仕様が読み取りにくいでしょ。もしかしたら
mode = "rb" っていうstringでの指定かもしれないし、
mode = File::O_BINARY | File::O_READ っていうビット列による
指定かもしれないよね。で、結局仕様はコードを読むか
ドキュメントを細かく読むかしないとわからないと。
つまり「『こういうメッセージ』ってのはなんなんですか?」
ってのが読み取りにくいといっているだけ。
まぁ最終的にはドキュメント/ソース読むのはC++/Javaでも変わらない
んだけど、予備知識があるのとないのとでは読みやすさ
が違うよね。
0013名無しさんNGNG
型付けはインプリメンタの都合じゃないのかなぁ…
0014名無しさん@お腹いっぱい。NGNG
O_BINARY, O_RDONLLY はどう調べるんじゃ、
ぼけ
0015名無しさん@お腹いっぱい。NGNG
あおるのはやめれ
例が悪いだけだろ。
言わんとすることはわかるよ。
001611>4NGNG
なんか、私の読み違いがあったようです。すんまンソ。
00171NGNG
やっと2chに復帰できた・・・
まともなドキュメントがある場合には型あり/なしどちらだろうが仕様が確認できるからいいとして、
問題はそういったドキュメントのない場合かな。
自分はこうしてますです。
1.引数名がヒントになる(しかしソース書いた人に依存)
2.使い方が間違っていたら、まず例外吐いて終わるから速攻でなおせばいい
インタプリタなので場当たり的な対処でも余りストレスにならないかな。
Rubyはエラーを詳細に報告してくれるので、エラー個所の特定がしやすいし。
個人的には設計のまずさの方がクラスの使いやすさや
ソースの可読性に大きく関与すると思いますね。

ま、とりあえず、Ruby初心者からの質問スレッドにします。
あんまりむつかしいことは質問しないでね・・・
0018名無しさんNGNG
質問 >1
Ruby MLの人ですか?
00191NGNG
>18
一応入っているけどROMです。
自分のレベルではついていけない話題が多くて…
0020名無しさん@お腹いっぱい。NGNG
海外で普及しそうだったら使おうと思う。
0021名無しさんNGNG
>20
四国では、少なくとも私が使っています。
0022名無しさん@お腹いっぱい。NGNG
ML見てると外人でも熱心なRuby信者っていますねえ。
あちらでもやはりPython信者と言い争ったりしてるみたいすけど。
0023名無しさん@お腹いっぱい。NGNG
Pythonと共に廃れるに一票
0024>23NGNG
視野の狭いPerlキチ
0025名無しさん@お腹いっぱい。NGNG
RubyユーザってPythonユーザと仲悪いんですか。知らんかった。
0026名無しさん@お腹いっぱい。NGNG
有る言語の信者は別の言語の信者と仲が悪いのは、歴史が証明しているかと・・・
0027名無しさん@お腹いっぱい。NGNG
仲悪いまではいかんけどねぇ。お互いマイナーだし。
共通の敵のPerlがあるし(笑)

どっちもPerlの美しくなさに不満のある人種の使う言語だね。
0028名無しさん@お腹いっぱい。NGNG
Perlは汚いけど書くのは楽なんだよね。
そして、しばしば自分で書いたコードも読みなおせなくなる(笑
0029名無しさん@お腹いっぱい。NGNG
Rubyを使ってる人って、どういう事に使ってるんでしょ?
0030名無しさん@お腹いっぱい。NGNG
今まさに、Perl使いはハンガリアンを導入するベシ〜
0031名無しさん@お腹いっぱい。NGNG
Perlの読みやすさ(読みにくさ)はC並みだと思うが。
…って俺がC風に書いてるだけだったり?
00321NGNG
>29
初めて作ったRubyプログラムはオイラーグラフの検証プログラムでした(笑)
普段はそのときやっている作業に必要な小さなプログラムを書き捨てたり。
これはたいていファイル処理やテキスト処理ですね。
今は2chリーダでも作ろうかと思ってます。

>31
短く楽に書こうとすると汚くなりません?
暗黙的に代入される組込変数を大いに使ってもそう。
Rubyもメソッドチェーンしまくったりすると読みにくいね。
#けれど、書くほうは気持ちよかったりする。
0033名無しさん@お腹いっぱい。NGNG
「容易に読める&確実に動く」がプログラムだと思うんで、
短く楽にって発想がちょっと理解不能。ごめん。

でもヒアドキュメントに@{[]}は楽で汚いと思う。
00341NGNG
>33
自分だけが使う書き捨てプログラムの場合には「短く楽に」、
他人にも使ってもらいたい場合には「可読性と信頼性重視」ですね。
仕事でプログラムしている人間じゃないので、前者が多いですが。

特にCGI分野の公開されているPerlのプログラムって
アドホックで楽で汚く書いたコードが多いと思います。
0035名無しさん@お腹いっぱい。NGNG
そうだね。
0036名無しさんNGNG
RubyのML、
[ruby-list:24324] ruby の発展の為に
で始まるスレッド。閉鎖的で笑えました。
00371NGNG
あー別にWinやMacで使ってもらわなくてもいいって発言は頂けなかったなあ。
裾野が広くならなきゃ山も高くはならないのに。
setup.exe一発のスタータパッケージが出てほしいね。
WindowsでRuby推進派としては。
0038名無しさん@お腹いっぱい。NGNG
Rubyのお勉強サイトでオススメありますか?
初心者用とかが良いです。
00391NGNG
このあたりかな。このスレでも質問受け付けて鱒。
http://www.hi-fi-net.com/ruby/cgi/index.htm
http://ns.wisdom.co.jp/~ono/programming/ruby/intro/intro_01.htm

リファレンスは常備すべし
http://www.ruby-lang.org/ja/man-1.4/index.html
0040名無しさんNGNG
ところで何でみんなsageてんの?
Python至上主義者に攻撃されるから潜伏してるの?
00411NGNG
どうもさげ癖がついてしまってて。
やっとインストールガイドができた記念上げ。
http://www.ruby-lang.org/ja/install.html

0042名無しさん@お腹いっぱい。 NGNG
Rubyでシミュレーションプログラム作ってます。
MLで間抜けな質問をしたやつです。

最初は、C、C++、Perl、FreePascalあたりで書こうと思ってたけど、
使いやすいOOだからRubyを使うことにした。
OOだからごりごり書いてもプログラムが見にくくならないし、
クラス図を書いてからプログラムしてるから仕様がわからなくなることもない。
不満と言ったら実行速度と開発環境かな。
0043名無しさん@お腹いっぱい。 NGNG
RubyでWinGUIなコードを吐くコンパイラ作って。
0044名無しさん@お腹いっぱい。 NGNG
たぶん攻撃くるとしたらPython狂信者じゃなくてPerl初心者の厨房狂信者とかだろな。
0045名無しさん@お腹いっぱい。 NGNG
>44
そんな事を思っていても書いちゃダメなのさー。
Rubyが嫌われる遠因になるのさー。
0046名無しさん@お腹いっぱい。 NGNG
このスレを見ている限りではRubyは発展しそうにないな。
0047>46 NGNG
MSのCTLにも入ってないしな。
Pythonに差つけられたのは、事実だな。
0048名無しさん@お腹いっぱい。 NGNG
Ruby/Tkみたいなのってないんでしたっけ?
0049名無しさん@お腹いっぱい。 NGNG
公式ページ見てきたけど、Ruby/Tk あるみたいだよ
GUI作成ならDelphiのVCLを使うAppoloとかも面白そうな感じ
ちょこっと書いただけでForm出てきたんでちょっと感動した。
0050名無しさん@お腹いっぱい。 NGNG
有名言語の文法/仕様に対するアンチテーゼとして生まれた言語は広まらない。これ定説。
0051むる NGNG
are?
0052やっぱり NGNG
日本ローカルで終わるのかな…

逆にいうと、PerlやCは英語文化圏と相性がいいから広まったんじゃない?
0053名無しさん@お腹いっぱい。 NGNG
いいスクリプト書く人が増えれば徐々にはやるんじゃないかな。
Kondara は skkserv.rb が動いてる。
0054名無しさん@勉強中 NGNG
もーちょい、やさしい本が増えれば良いんだけどなぁ
Ruby本はわりと面白く読めたんだけど、6章,7章は「オレには縁がないな〜」と
思いながら読んでた

手軽&きれいに書けるのは気持ち良いので、入門用の良い本が何冊か出れば
わりとすぐに広がるかもしれないと思う(楽観しすぎ?)
0055>54 NGNG
PerlでいうCGIのような目的対象(日本語変?)ができなければ難しいと思う。
0056名無しさん@お腹いっぱい。 NGNG
ライブラリの数がもっと増えれば楽できるからいいな。<他人任せでスマン
00571 NGNG
ネット上でのドキュメント整備も始ったので、
入門者にとっては多少は状況がよくなると思います。

CGI用途にも向いているんですが、使えるISPがあまりに少ないですね。
自前でWebサーバ立てている人はeRubyが面白いですよ。
ASPのようなHTML埋め込みスクリプトです。
0058名無しさん@お腹いっぱい。 NGNG
わりとよく使われているライブラリの簡単な説明(どんなことができるか、何が必要か、など)がまとめてあるページがあれば
けっこう便利だと思う。ML入ってるんだけど、話題についてけないことが多いんだよね
公式サイトのRAA(Ruby Application Archive)は、カテゴリ別に分けてあるだけだから内容まではよく分かんないんだよね。
005958 NGNG
ごめん、ヨコに長くしすぎた
しかも、文章ヘンだし。
もう寝ます
006055 NGNG
いや、すでに標準ができてるものに追従するんじゃなくて
まだ標準が決まってない技術でアピールしないと・・・
0061名無しさん@お腹いっぱい。 NGNG
perl スクリプトを ruby に変換してくれる ruby スクリプトって
以前はあったと思うんですけど、なくなったんでしょうか?
00621 NGNG
>>58
そういうページも作る予定みたい。
今のところは標準ライブラリのリファレンスのみですけど。
作られなかったら私が作ります。その程度ならなんとか。

>>60
とはいってもそこまで画期的なことはそうそうできませんよ。
既存分野で、開発言語をRubyにリプレイスすると開発効率が
あがるってだけでもそこそこのアドバンテージになると思う。
まあ、Rubyの対象は小さなソフトウェアになるから
2時間かかるところが30分という程度かもしれない。

>>61
csl.toba-cmt.ac.jp/~kiri/ruby/tips/tips_p2r.html
RubyはPerlより高級言語なので変換は難しいそうです(笑
0063名無しさん@お腹いっぱい。 NGNG
>>62
いや、perlでrubyのインタプリタをつくるのだ。
すげーおそいだろうな。
00641 NGNG
>>63
それだったらPerlプログラムをRubyで扱うための
Ruby用拡張ライブラリを作るべきですねー。
そうしたらPerlなどRubyの一オブジェクトと化します(笑
さあPerlのソースをレッツハック!
006555 NGNG
>とはいってもそこまで画期的なことはそうそうできませんよ。
>既存分野で、開発言語をRubyにリプレイスすると開発効率が
>あがるってだけでもそこそこのアドバンテージになると思う。

そういった利点だけでは決して広まらないことはすでに歴史が証明している。
0066名無しさん@お腹いっぱい。 NGNG
>>64
http://www.freedom.ne.jp/toki/ruby.html
http://www.bekkoame.ne.jp/~yoshidam/perl_ja.txt
こういうのはすでにあるみたいですね、、
006758 NGNG
お願いします〜 > 62さん

そういえば、「256倍使う本」の話題がむかし ML で出てたと思うんだけど、
お流れになっちゃったのかな?
0068名無しさん@お腹いっぱい。 NGNG
>>64
でも、perlでrubyのインタプリタつくれば、perlしか
使えないプロバイダでもrubyで書いたCGIをじっこうできるから
そっちのほうがrubyの普及にやくだちそうだ。
0069名無しさん NGNG
Stringクラスのオブジェクトを、IOクラスのオブジェクトみたく
ストリーム的?に扱う事って出来る?

readとseekが出来て、終端に達したら「EOFナリよ」と教えてくれるようなのが
希望なんだけど。
0070名無しさん@お腹いっぱい。 NGNG
自分で希望通りのものを書きましょう。そしてできたら
公開してください。
でも、その程度ならすぐできそう。ruby-listにでも投げ
ればきっとすぐに返ってくるでしょう。
00711 NGNG
>>68
あぅ。確かに。
誰か作ってくれませんかね。他力本願。

>>69
Stringのサブクラス作るのはいかが?
読み込み位置のポインタをインスタンス変数として持つような。
00721 NGNG
>>69
ruby-listから参考までに。
やっぱサブクラスよりラッパークラスが安全ですね。
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/917
0073名無しさん NGNG
ruby で 数字の文字列と整数を同じように扱うにはどうすればよいでしょうか?いちいち String か Fixnum かを判定してから "119".to_i とか 119.id2name とかするのは面倒くさいのですが、、
0074名無しさん@お腹いっぱい。 NGNG
>>73
数字の文字列オブジェクトと整数オブジェクトを一緒くたに扱う前に、
どちらか一方に変換しておけばいいと思いますが?
0075名無しさん NGNG
Ruby 本の p.p.367 にあるように、eval を使えばよさそうです。
0076名無しさん@お腹いっぱい。 NGNG
メソッドの戻り値を配列かスカラーか呼び出し元により変更する方法はありますか?
Perl でいうところの wantarray みたいなやつです。
0077名無しさん NGNG
1.6.0って1.4.6と比べて、主にどう変わったの?
クラス変数を導入したのとバグフィックス?
0078名無しさん@お腹いっぱい。 NGNG
perl で、
sprintf "%.02d%.02d%.02d %.02d%.02d%.02d", reverse(@t);
というふうにやるのを ruby ではどうすればよいでしょうか。
sprintf "%.02d%.02d%.02d %.02d%.02d%.02d", t[5], t[4], t[3], t[2], t[1], t[0];
だと、配列の数が増えてくるとめんどくさいし、t.reverse を表示したい場合もきびしいです。
00791 NGNG
>>76
Rubyにスカラーってないんですけど。
PerlはCGIいじるくらいにしか触ったことがないので
具体例を示してもらえるとありがたいです。

>>77
変更点一覧
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/24985

>>78
t = [1, 2, 3, 4, 5, 6]
rt = sprintf "%.02d%.02d%.02d %.02d%.02d%.02d", *t.reverse
print rt #=>060504 030201
というような話かな?
0080名無しさん@お腹いっぱい。 NGNG
>>79
すいません、String クラスか Array クラスか、でした。
tmp = ""
tmp = method(val)
のときは tmp = first + "-" + last という文字列を、
tmp = []
tmp = method(val)
のときは tmp = [first, last] という配列を返すようなやつです。
0081名無しさん@お腹いっぱい。 NGNG
>>79 さん
!!それでできました!
でも実は
sprintf("%.02d%.02d%.02d %.02d%.02d%.02d%s", *t.reverse, if @gmt then " GMT" else "" end)
のようにもうひとつ引数を増やしたいんです。このままだと、
parse error (SyntaxError)
となります。と思ったら、
sprintf("%.02d%.02d%.02d %.02d%.02d%.02d%s", *t.reverse.push(if @gmt then " GMT" else "" end))
こうすればできました。でもなんか変則的だなぁ。
こういうのは ruby スクリプトとしてまっとうなものなんでしょうか?
008277 NGNG
>79
結構変更点あるんだねぇ。
リストからだけじゃよく分かんない項目も結構有るけど、Linux Magazine 11月号
発売以前に誰かが解説文書を出してくれる事を期待してみる。

#マニュアル更新に合わせて、FAQも更新して欲しいな。あれは結構役に立つし。
0083名無しさん@お腹いっぱい。 NGNG
ruby の socket は、close し忘れたときも、確実に close してくれるのでしょうか?
ruby 本の p.p.386 にあるように、ensure やファイナライザを用いて、確実に close されるようにする必要はあるのでしょうか?
0084名無しさん@お腹いっぱい。 NGNG
ruby スクリプト内に POD 形式のマニュアルを埋め込むことは
なされていますか?
0085名無しさん@お腹いっぱい。 NGNG
perl での
$c->$command();
みたいなことをrubyではどうすればよいでしょうか?
eval("#{command}")
で一瞬できたかに見えたんですが、commandで呼び出されるメソッドはevalによりすでにコンパイルされているからか
あとからそのメソッドで使われるインスタンス変数を変更できません。(オブジェクト生成時の値が使われるようです)
何かうまい方法はないでしょうか?
008685 NGNG
勘違いでした。すみません、、
00871 NGNG
>>80
そーゆー器用なことはできないと思います、たぶん。
(レシーバにコンテキストを表現するインスタンス変数でも持たせればできますが)
受け取り側で加工するのが無難かと。
def foo; return "aaa", "bbb"; end
tmp = []
tmp =
case tmp
when String; first, last = foo; first + "-" + last
when Array; foo; end
p tmp #=>["aaa", "bbb"]

>>81
動くならまっとうなんじゃないでしょうか :-p
if文まるごと引数に入れると長くなるので、
sprintf("%.02d%.02d%.02d %.02d%.02d%.02d%s", *t.reverse.push(@gmt ? " GMT" : ""))
とすると良いかも。
00881 NGNG
>>82
MLトピックも更新してほしいですねえ。

>>83
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/2325
socket.c覗いたけれど分からなかった。鬱・・・

>>84
いいえ。RDを埋め込みますです。
http://www2.pos.to/~tosh/ruby/rdtool/ja/
http://www.oishi.info.waseda.ac.jp/~takashi/rubikitch/rd-intro.html
0089名無しさん@お腹いっぱい。 NGNG
nntp クライアントのライブラリはけっこう前から多くの人が作っているようですが、
手持ちの ruby 1.4.3 にはどれも入ってないし、www.ruby-lang.orgのアーカイブのところにもないようです。なんででしょうか?
net/smtp.rb, smtpclient.rb, net/pop.rb, popclient.rb, net/imap.rb とかはあるのに。ひいきだ。
009080=81=83=84=85=86=89 NGNG
1 さん、どうもありがとうございます。なるほど、とてもよくわかりました。

ところで、
http://blade.nagaokaut.ac.jp/cgi-bin/vframe.rb/~poffice/mail/ruby-list/13663?13545-23715
に書いてあるような、Web版NNTPクライアントってどなたか作ってるのでしょうか?
perlで途中まで作ってあるんですけど、同じ物を作ってもあれなんでちょっとお聞きしたいんですが、、
009168 NGNG
>>90
サーバからlistしてxoverしてarticleでひっぱってくる
とこまではrubyで作った。あとは未読管理とユーザ
インターフェース。でも、rubyってtimeout処理
するのにスレッド使わないとできないから遅くなり過ぎた
のと、スレッド間の記事の受渡しにキューを使ったら,
受取側でせっせとキューを空にしているのにもかかわらず
rubyのプロセスサイズがガンガン上がっていくのに
我慢できずに放り出した。もうちょっとGCのタイミング
をなんとかしてほしいなぁ。

009268 NGNG
そういえば,NNTPってサーバとクライアントのやり取りでの
時間的な冗長度が高いから、スレッド分けて並列化すると
結構速くなるもんなんだけど、rubyの場合はOSレベルの
スレッドじゃなくて一つのインタプリタ中の実行単位が
分割されるだけだから必ずしも速くならないってのも
ちょっと感覚が違った。実測してもそうだったし。
それともライブラリ中のどこかにI/O周りでもブロックする
メソッドがあって組み方次第で速くなるのかな??
009390 NGNG
listとかxoverとかarticleはpostのあとかnewnewsで新しい投稿があるときだけするようにして、ほかの時はローカルに保存したキャッシュから読むようにするとだいぶはやくなりましたよ。30件同時に表示するんですが、10秒かかっていたのが1秒以下になりました。
今作ってるのは、スレッド(これはスレッドプログラミングのことじゃなくてBBSでいうところのもの)の生成もpostの時にやろうと思うのですが、問題はエクスパイアやほかのサーバでキャンセルされた記事をどうしようかって所ですね。
009468 NGNG
あ、そういうNNTP`クライアントを組む上でのロジック的な
「遅い」じゃなくて、rubyの特性として
(1)スレッドのたち上げが続くと遅い。
(2)マルチスレッドにしても速くなるわけではない。
ってのがいいたかったん。ようするにrubyに対する
愚痴ね。

0095名無しさん@お腹いっぱい。 NGNG
>(2)マルチスレッドにしても速くなるわけではない。
こ、これってrubyのせい?
009668 NGNG
>95
だからぁ〜、「rubyの場合はOSレベルのスレッド
じゃなくて一つのインタプリタ中の実行単位が
分割されるだけだから必ずしも速くならない」
って書いているのに。rubyのマルチスレッドって
並列化によるスピードアップの使う物じゃなくて
どちらかというと、性質として並列性のあるアル
ゴリズムをすっきりと書くためだよね。そういう
言語としての指向というかそういうものを実感
しているわけさ。
0097名無しさん@お腹いっぱい。 NGNG
>>96
並列化すればなんでもかんでも速くなる訳じゃないし、
I/O待ちとかのdead timeを抑える意味ではユーザレベル
スレッドでもそれなりに有効だとは思うけどな。
どうスレッド分けするかでも違ってくるし。
まぁ96はその辺わかって書いてるのかもしれないけど。

でもメモリ喰いまくるってのはどうしようもないか。
0098名無しさん@お腹いっぱい。 NGNG
お世話になっております。ちょっと後方参照のことでお聞きしたいのですが、
line.gsub!(/<([\w\-]+([\.\$%][\w\-]+)+@[\w\-]+(\.[\w\-]+)+)>/, %Q(
0099名無しさん@お腹いっぱい。 NGNG
http://www.ascii.co.jp/books/detail/4-7561/4-7561-3603-6.html

256シリーズって読んだことないけど。
0100ぎこるび NGNG
>98
ブロックを使えばよいと思ふ。
line.gsub!(パターン){式}
ブロックの中では$digit が使えるので
#{CGI::escape($1)}とすればおそらくお望みの結果が得られるはずです。

>>99
ActiveScriptRubyのatron氏が筆者ですか。
なんともマニアクな話になりそう。
http://www.geocities.co.jp/SiliconValley-PaloAlto/9251/ruby/
0101名無しさん@お腹いっぱい。 NGNG
直前の評価値を取得する変数か関数はないですか?
例えば
a = 1
a = a + 3
p a
を
1
@+3
p @
の様に書けると少し嬉しいのですが
0102名無しさん@お腹いっぱい。 NGNG
C レベルでも無いと思う。
つーか、そんな読み難い書き方して何か嬉しいのか…
0103101 NGNG
電卓として使う場合や使い捨てスクリプト書くときに
単純にタイプ量を減らしたいだけなんです
Mathematicaにあって結構便利だったので

def foo
1
end
とかやったときどこかに1が保持されてるはずなんだけどな〜
0104名無しさん@お腹いっぱい。 NGNG
>>101
どっかで見たような無いような文法だな...
GNU dcとかそうだっけ?
0105ぎこるび NGNG
>>103
Raccを使ってプリプロセサを作るといいと思います。
http://www1.u-netsurf.ne.jp/~brew/mine/ja/softica/racc.html
0106名無しさん@お腹いっぱい。 NGNG
>Raccを使ってプリプロセサを作るといいと思います。
なんだか話が大げさになってきました。
直前の評価値を参照する目的はちょっとだけタイピングの手間を省きたいというだけです。
yacc覚えてracc覚えてプリプロセッサ作って毎回マクロ置換して、
というのは手間がかかりすぎです。

標準的なRubyの文法の範囲内でできなければあきらめて
普通に書くしかないなという程度の話なのです。
0107名無しさん@お腹いっぱい。 NGNG
5時間もねばりながら吐く文面ではないとおもうが>106
0108ぎこるび NGNG
>>106
良く考えたら、わざわざRacc使わなくても自分で適当なフィルタ作ればいいですね。
数値が単独で出現したら代入文に書き換える。
@が現れたら直前に現れたレシーバ(オブジェクト)に置き換える。
適当な仕様を決めて、フィルタをかけやすい書き方(一々改行するなど)
にすればそれほど難しくないかと。
置換はシェルスクリプト作ればコマンド一つで変換・実行ですし。
0109このスレみるたびに NGNG
『Rubyなんてどうでもいいよ』なんて思う
0110名無しさん@お腹いっぱい。 NGNG
>109
インタプリタのソース読んでみたいと思いません?
lisp以外であんだけスラスラ書ける言語も他にないよ。
0111名無しさん@お腹いっぱい。 NGNG
>>108
フィルタですか。なるほど。
でも言語仕様の拡張はやっぱり抵抗があるので、
試しにIRBを改造してみようかなと思います。
ありがとうございました。
0112名無しさん@お腹いっぱい。 NGNG
>>110
みたい!どこどこ?
0113名無しさん@お腹いっぱい。 NGNG
オブジェクト指向とは、フレームワークやクラスライブラリ
作る人(グル)がしっかりしてれば、一般のプログラマはタコ
でもよいという長年の知恵から産まれた。

それで、グルとタコの関係をどうするかが言語の特色になって
んだよね。

C++はグルが全部仕切れば、タコがどれだけバカなことやっても
大丈夫。ただ、グルに要求されるレベルがとてつもなく高い。
それと、よそから部品を買ってこようとすると、グルの思想が
コンフリクトしておかしくなる。(シングルグル言語)

Javaは部品を外から買ってきても、システム全体の品質が落ちない。
(マルチグル言語)。だが、グルがどれだけ凄くても、性能や生産性
が一定以上にならない(一定以下にもならないが・・・)

Rubyは、マルチグル言語でありながら、グルが凄ければその凄さの
分だけ凄いシステムができる。グルの創造性を殺さず、複数の教え
が混在できる。

XPのKent Beckのようなグルがなだれこんでくるから、これから
Rubyはブレークするよ。
0114名無しさん@お腹いっぱい。 NGNG
>>113
これは比較的規模世大きいプロジェクトについて言っているのだと思いますが、
「Rubyは大規模開発には向かない。かもしれない」というようなことを
以前まつもとゆきひろさんが言っていました。

私も型を明示しないという仕様は一定以上の規模になると
デメリットに変わりうるのではないかと懸念しています。

特にメソッドの戻り値についてはコードをみても何を返しているのか
よくわからなくなる場合が多いです(引数は識別子の名前で何となく判別可能)。
・何の型のインスタンスを返しているのか
・何も返したくないのか(nilで潰すのを忘れている)
・末{当に戻り値とbオてnilを返したいのか

完全なドキュメントを用意すればいいというだけのことかもしれませんが...

>XPのKent Beckのようなグルがなだれこんでくるから、
これ本当ですか?ruby-talkにでてるのかな。
ruby unitもさらに発展しそうですね。
0115名無しさん@お腹いっぱい。 NGNG
>特にメソッドの戻り値についてはコードをみても何を返しているのか
>よくわからなくなる場合が多いです
型の無い言語はみんなそうですよね。
そして、欠点が利点と表裏一体なのも、すべての言語で共通、とか。
0116名無しさん@お腹いっぱい。 NGNG
>> 113

Javaはマルチグルというより、
Sunがグルになって全部仕切るから複数の部品(世界観)が共存できる
ということではないでしょうか?

Sunの世界で限定されるのは嫌だけど、
これからのJavaはIBMが仕切ってしまうのではないかと思います。
IBMの掌ならば、充分踊りがいがありますから、それで充分だと思います。
0117名無しさん@お腹いっぱい。 NGNG
>> 114

型つきの言語がコンパイルでやることを、単体テストでやろうと
いうのがXP。だから、XPではソースをちょっとでもいじったら、
全モジュールの単体テストをすることになってるみたいです。

静的な型を持つ言語の美しさはわかるけど、Eiffelが流行らなか
ったことを考えると、やっぱりXPの考え方の方が現実的なのでは?

"I love it. Conceptually it is really clean, and sweet."
--Kent Beck, author of Extreme Programming

http://cseng.aw.com/bookdetail.qry?ISBN=0-201-71089-7
0118名無しさん@お腹いっぱい。 NGNG
XPとunitの違いの説明を求む!
先日unit覚えたばっかなのに乗り換えねばならんのか(^^;;
0119名無しさん@お腹いっぱい。 NGNG
>>118

まだXPもRubyも勉強中なので、違っているかもしれませんが、
unit testを重視して、先にテストルーチンを書いたり修正のたびに
必ずunit testを実施するというは、XPの一番基礎となる考え方だと
思います。

そして、JUnitなどのunit testライブラリはそれをサポートする
ものじゃないでしょうか。だから、「unitからXPにのりかえる」
必要は全然なくて、unitを使っているならすでにXPの道を一歩
踏みだしたと言っていいのではないでしょうか?

http://www.esm.co.jp/eXtremeProgramming/IsDesignDead.html

ここにある「できることを増やすXPの実践」という所に、unitと
XPの関係というか、unitがXPの中でどういう位置にあるかがよく
わかります。
0120119 NGNG
ここにある「できることを増やすXPの実践」という所に
→ここにある「できることを増やすXPの実践」という所を読むと

でした。
0121118 NGNG
>>119さん情報ありがとうございます
いきなり「ソフトウェア設計など消えうせろ」から始まって
びっくりしましたが(別に肯定しているわけではありませんが)、
かなり興味を持ちました。

XPを勉強中ということなのですが、何を読まれてるのでしょうか?
参考文献、サイトなどがあったら教えてください。
0122119 NGNG
>>121
私も最初はビックリしました。でも、よく読むと結構まじめと言うか、
普通のビジネスソフト(受託開発)で使われてるみたいです。

日本語の情報はここにあります。
http://www.esm.co.jp/eXtremeProgramming/
0123名無しさん@お腹いっぱい。 NGNG
age

0124名無しさん@お腹いっぱい。 NGNG
http://www.ohmsha.co.jp/data/books/contents/4-274-06385-2.htm
0125名無しさん@お腹いっぱい。 NGNG
まつもとさん、ruby-talk で let の導入を許容するような発言あり
ましたね。ruby の中で唯一スコープ作れないのだけが耐えられなか
ったから、もし implement してくれたら嬉しいなあ。構文はどうす
るのかな? こんな感じ?

a = 1
p a      #=> 1
let(a) do |a|
 a = 2
 p a     #=> 2
end
p a      #=> 1
0126名無しさん@お腹いっぱい。 NGNG
>>124
初版に飛びつくか、四版あたりまで待つか、それが問題だ。
0127名無しさん@お腹いっぱい。 NGNG
perlからrubyへの変換の話題がありましたが、rubyからperlに変換するやつはありませんか?
ruby>Cがあるんだからと探しても見つかりません・・・教えてください。

「256倍」買いました。MSruby版かぁ。でも、なかなかおもしろかったですよ。
でも、ユーザーガイドから既出2冊の本の間の、もっとやさしい本がほしいな。
0128名無しさん@お腹いっぱい。 NGNG
最近のruby-talkの盛り上がりはどうよ?
良さをわかってくれてる海外の隠れファン密かにかなり増加し
てると思うぞ。
0129名無しさん@お腹いっぱい。 NGNG
net/http.rbのget2ってネーミングはなんとかならんかなぁ。
なんどか名前変えようという話が出てたと思うんだけど、ふむぅ。
0130名無しさん@お腹いっぱい。 NGNG
>>129
net/http は全体的に「この作りどうにかならんかなあ」って感じで
すね。作者のAさんには悪いけど、、、使いにくいから自前で一通り
作りなおしちゃった。
0131129 NGNG
>>130
実はおれももう自前でやってます。みんなそんな感じで車輪の再発明やってんだろな。
perlを蹴落とすんだったら、標準ライブラリ磨き上げるのが鍵だとおもうんだけど。
ああいうコミュニティベース(というか悪くいうと慣れ合い)で開発していると
なんか文句つけにくいんですね。
0132名無しさん@お腹いっぱい。 NGNG
>>131
やっぱそうですよね。
でも 129 はちょっと言い過ぎだったかな。モジュール以前に HTTP の仕様
自体適当すぎるのが問題なんですよね。あの仕様では皆が満足するようなイ
ンタフェースに仕上げるのは無理があるような気もします。

129 見てたらゴメンナサイ>Aさん
0133132 NGNG
129 => 130
0134名無しさん@お腹いっぱい。 NGNG
その辺の理由は書かずに「俺も作ってみたんだけどどう?」って言って
出せばいいんじゃないの?
案外本人も「メンテする時間ないし、誰かもっといい奴で置き換えて
くんないかなぁ」なんて思ってるかもしれないし。
思ってないかもしれないけどね。
0135名無しさん@お腹いっぱい。 NGNG
>>131
>perlを蹴落とすんだったら
おー、すげー鼻息。もっと気楽にいこうや。
って言っている俺はPerl使い。つーかスパイ?
0136名無しさん@お腹いっぱい。 NGNG
http://www.forest.impress.co.jp/article/2000/10/16/kaaedit.html
Rubyでもこんなのほしい。

http://www.forest.impress.co.jp/article/2000/10/16/phantom.html
Rubyでもこんなのほしい〜。

0137名無しさん@お腹いっぱい。 NGNG
以前どっかで出てた気がするけど、Here Document のインデント
機能欲しいなあ。まつもとさんは自前の関数書けばいいだろって
言ってたけど。

loop do
 foo <<+"FOO"
  easy!
  elegant!
  fun!
 FOO
end

つー感じ?
0138名無しさん@お腹いっぱい。 NGNG
local-variable のスレッド、まつもとさんなかなか折れないね ^^;
ruby-list の過去ログで「哲学」とまで言い切ってたから、やっぱり
かなりのこだわりがあるのかな? ruby-talk で発言してない人達も
含めると、変更に賛成の人の方がかなり多そうだけど。

ローカル変数が生成されない繰り返しは for や while やらの制御構
造だけで充分じゃないのかなあ。非互換の変更をするならまだ普及し
始めの今のうちだからなんとか…。
0139名無しさん@お腹いっぱい。 NGNG
>>136
Rubyの開発はVisual Studioに統合してやってるよ。
SourceSafeも使えるのですごい楽。

あとWZ Editorの見出しを以下のように設定すると
簡易クラスブラウザになるよ。
[見出し1] ^class|module
[見出し2] ^\s*(def.*)
0140名無しさん@お腹いっぱい。 NGNG
>>139
Rubyでプログラミングするので一番いいのはEmacsでしょうね.
WindowsならMeadowか.
でも,Windowsユーザが使うには厳しいとこがあるかも.
まだxyzzyならWindowsとの親和性は高いけど,やっぱWindowsの
キーバインディングとは似てもにつかない.
Windows風に変更できるけど,変更するとxyzzyの便利さが損なわれる.

WindowsでEmacsみたいなにハッカー御用達のエディターってないのかな.
できればオープンソースの.
0141名無しさん@お腹いっぱい。 NGNG
http://www.p1d.com/rku/
Ruby数え歌だってさ。
0142名無しさん@お腹いっぱい。 NGNG
age
0143名無しさん@お腹いっぱい。 NGNG
Emacsのruby-modeは $' なんてので色づけミスするな。
直そうと思ってもlispはさっぱり読めないし。
0144名無しさん@お腹いっぱい。NGNG
オーム社のRuby本、今日発売?
http://www.ohmsha.co.jp/data/books/contents/4-274-06385-2.htm
紀伊國屋(Web)で出てきたのだが・・・。
0145ぎこるびNGNG
>>144
勢い余って三省堂でネット注文しました。
学校の書店においてなかったし(256倍はあったのに)。
MLではまだ話題になっていないけれど出来はどうなのかな。
0146名無しさん@お腹いっぱい。NGNG
誰か説明したれよ
http://piza.2ch.net/test/read.cgi?bbs=tech&key=968328471&st=82&to=82&nofirst=true
0147名無しさん@お腹いっぱい。NGNG
>>144
買った人、感想・レビューをお願いします。
Ruby本(まつもとさんが書いたやつ)は持ってるんだけど、
まだ途中までしか読んでない(わら
これ1冊あれば、十分かな。
0148>147NGNG
買ったよ。
とりあえず持ちやすい読みやすい。
あとネットワークに一章割いてるね。

Ruby本読んじゃった人には必要ないかも。
でもまあお布施って事で。
0149148NGNG
まったくのプログラミング初心者が
この本読んで立派なObjective Rubyistに
なれるかどうか興味あるね。

誰か実験台にならないかな?
0150名無しさん@お腹いっぱい。NGNG
パール、パイソンに加えて
スクリプト言語を3個も覚えるのは時間の無駄だろうか。
0151スクリプトヲタNGNG
>150
PythonのOOPとPerl臭さ(なんじゃそら)が理解できていれば、
Rubyはすぐ覚えられますよ。

ただ用途が完全にかぶってるので使い分ける意味がないかも...
0152>147NGNG
買いました。300ページ以上もあるのにこの内容なら安いので買い!でせう。
でも全くのプログラミング初心者だとどうかな?
私はOOPに一度挫折して(藁 この本を見たから、割とすんなり
頭に入ったけど。名著には違いない。
0153148NGNG
早くも「正誤表」サイトが立ち上がっちゃったぞ。
http://www.ruby-lang.org/~sinara/nyumon/errata.html

こういった書籍の内容ってオフィシャルサイトで公開できない
ものなのかな?全員で目を通せばそれだけ誤植も発見しやすいし、
ruby hackerでなくても簡単に参加できるのに。

書籍の売り上げもそれほど減るとは思えないんだけどな。
0154anonNGNG
>>153 FYI. 8キ��エ、�瞬by-list ML、ヌココニノシヤ、ォハ鄂ク、キ、ニ、、、ソ、隍ヲ、ヌ、ケ。」
O'Reilly Japan、ホヒワ、筅ス、ホチー、ヒココニノシヤ、鄂ク、キ、ニ、、、゙、キ、ソ。」
、ソ、タ、キML、タ、ネ。「サイイテ、キ、ニ、、、�ヘ、ォ、゙、皃ヒクォ・�チー、ォ、ニ、、、�ヘ、キ、ォオ、、ナ、ォ、ハ、、、ホ、ヌ。「、ス、ウ、マイチア、ホヘセテマ、「、熙ヌ、キ、遉ヲ、ヘ。」
、ウ、ヲ、、、ヲキ�タ゚ナェ、ハーユクォ、マ。「、サ、テ、ォ、ッ、ハ、ホ、ヌML、ヒナ熙イ、ニカオ、ィ、ニ、「、イ、ニ、マ、マ、、、ォ、ャ。ゥ>153
0155名無しさん@お腹いっぱい。NGNG
FYI. 8月末ごろruby-list MLで査読者を公開募集していたようです。
O'Reilly Japanの本もその前に査読者を募集していました。
ただしMLだと、参加している人かまめに公開ログを見ている
人しか気づかないので、そこは改善の余地ありでしょうね。
こういう建設的な意見は、せっかくなのでMLに投げて教えてあ
げてははいかが?>153
0156148,153NGNG
>>155
僕もMLチェックしてるけど、査読の公開募集はちょっと違うんだよね。
結局人数が限られるし、いちいち名乗らないと参加できないし。
MLで無名な人(特に初心者)ってどのくらい参加したのかな?

最近オープンソース関連の書籍がそのままwebで
公開されるってのが増えてきているのだけど、
Rubyコミュニティにその先頭を行って欲しいなと思わないでもない。

それに必要な情報に金を払うのは吝かではないのだけど、
今時技術文書を紙のみで提供して、オンライン版がないってのは
どうにも不便なんだよね。せめてCDには入れて欲しかった。

>せっかくなのでMLに投げて教えてあげてははいかが?
そりゃだめだよ。身元割れちゃうじゃん。
とてもじゃないが2ちゃねらーであることを
カミングアウトする勇気はない(藁 <-コーユーノカクカラダメナダヨナ <-オマエモナー
0157名無しさん@お腹いっぱい。NGNG
るびー入門OH!YEAH〜
http://www.ohmsha.co.jp/data/books/contents/4-274-06385-2.htm
0158名無しさん@お腹いっぱい。NGNG
・・・・

るびー入門書発売、著者まつもとのおじちゃん

てな具合に、もう一度言ってみる(寂)
0159名無しさん@お腹いっぱい。NGNG
rubyを普及させたいなら、英語で海外に向けてどんどん情報を
出さないとだめだと思う。
0160名無しさん@お腹いっぱい。NGNG
>>159
ちゅうがくせいかな?
0161名無しさん@お腹いっぱい。NGNG
もっとlispに近づけてくれえっっ!!
0162名無しさん@お腹いっぱい。NGNG
括弧の省略機能 萌え〜!!
0163>161NGNG
emacsのような素晴らしいhacker's toolを生み出したLispとRubyを
一緒にしない方がいいですよ。
0164>163NGNG
パーラーは別スレ作ってやってね
0165名無しさん@お腹いっぱい。NGNG
括弧省略ってよみづらくない?
0166>165NGNG
嬉しがって使いすぎると確かに読みづらいね。
僕は式に占める括弧の文字数の割合が
無視できないくらい大きくなったときに使うことにしてる。

p a
とかね:-)
0167名無しさん@お腹いっぱい。NGNG
Ruby で C の for 文にあたるものはないのですか?
0168名無しさん@お腹いっぱい。NGNG
Ruby で C の for 文にあたるものは無いのですか?
0169>167NGNG
Rubyのfor文じゃダメか?
whileでっ代用する手もあるぞ。
0170ぎこるびNGNG
>>167
for(i=0; i<=10; i++) printf("%d\n", i);
と以下が大体等価です。

for i in 0..10; print "#{i}\n" end
i=0; while i<=10; print "#{i}\n";i+=1 end
-----
0.step(10,1){|i| print "#{i}\n"}
0.upto(10){|i| print "#{i}\n"}
-----
(0..10).each{|i| print "#{i}\n"}
0171名無しさん@お腹いっぱい。NGNG
Windowsでの普及をおろそかにしてる時点でダメダメだな。
Rubyは流行らないよ。
0172名無しさん@お腹いっぱい。NGNG
perlやJavaはWindowsで普及してるのか・・・
0173ぎこるびNGNG
Windows版エントリーパッケージ、ActiveScriptRuby、
Win32OLE、DirectDraw for Ruby 、Apollo、VisualuRuby。
それなりにコマはそろっているんですけどね。
ドキュメント書きまくって宣伝しまくるしかないのかな。。。
0174名無しさん@お腹いっぱい。NGNG
Rubyは悪い言語じゃないけど、perlとかぶってるから意味ないね。
まあ、日本人がメンテしてるから、要望とか反映しやすいかもね。
diamondに期待(っていうかあんのか?

ちなみにaquamarineはオレの誕生石だ。
0175167NGNG
なくてもそれほど不便ではないけど、Cのfor文にあたるものは
何でないんだろ?あると便利だと思うけどな。別にいいけど。
レスどうも。
0176名無しさん@お腹いっぱい。NGNG
awk2perlみたいに、
perl2rubyがあれば普及するよ。
無いの?げぇー。
0177名無しさん@お腹いっぱい。NGNG
>171
rubyがメジャーになったら、きっとMSの匿名さんが移植してくれるよ。
0178>176NGNG
あったような気がするけど?
0179名無しさん@お腹いっぱい。NGNG
>>174
perlと被ってねえだろ。
rubyがカバーできる領域の方がかなり広いと思うが。
0180>179NGNG
ほぼ100%被ってるでしょ。
綺麗か、汚いかの違いだけ。
0181名無しさん@お腹いっぱい。NGNG
rubyの方がperlより高速です
0182176NGNG
>>178
どこに?
0183ぎこるびNGNG
>>175
たぶんOO的でないからでしょうね。

>>176
んじゃあ、ここは一つ作ってください(笑)

>>181
一般的には Perl>Ruby>Python の順に速いみたいです。
0184名無しさん@お腹いっぱい。NGNG
Ruby で無限ループはどのように書くのでしょうか。
loop の使い方を教えて下さい。
0185名無しさん@お腹いっぱい。NGNG
>>167
Cのfor文かぁ。多分必要ないんじゃないかな。
しばらくrubuでイテレータ使ってコード書いてて、そのあと
Cに戻ってコード書いたらfor文使った繰り返しがすげー煩わしくなったよ。
とくにfor(int i = 0; i < length; i++)みたいなのはね。
で、Cのfor文の用途からこういう定形的な繰り返しの用途を
イテレータに任せたら、あとの用途は別にわざわざ実装するほどのものじゃないでしょ。
0186名無しさん@お腹いっぱい。NGNG
>>180
綺麗か汚いの違い *だけ* っていうけど相当なもんよ。「ほぼ 100%
被ってる」ってどこが…。perl6 がどう進化するのかまだわからない
けど、今のところ perl は「強力な sed/awk」の代わりにしかならな
いよ。規模が膨らんでくるとすぐに目も当てられない状態になる。

# 少なくとも現 perl の適用範囲は python その他に比べてかなりズ
# レてると思う。
0187ぎこるびNGNG
>>184
無限ループはwhileかloopで行ないます。
while true
 ...
end

loopはブロックをとるメソッドなので、
loop {|var| ...} か loop do |var| ... end です。

どっちも抜ける時はbreakなりraiseなりで抜けてください、
0188名無しさん@お腹いっぱい。NGNG
>>186
>すぐに目も当てられない状態
よくわからないら、もうちっと具体的に言ってくれ。
0189>186NGNG
どこがどうずれているか説明して。
0190180>186NGNG
>188,189
一定以上の規模のプロジェクトでは文法の汚い
perlを使いたくないってだけの事でしょ。
使いたきゃ使ってかまわんよ。

逆に綺麗な文法とOOPを備えたRubyはどうなんだろ。
正直言って、懐疑的なんだよね。

理由は以下の通り。もちろん具体的な根拠はないのだが...
1.開発事例がないこと。
2.コンパイラと比べて速度が遅い・メモリ使用量が多い
(完成間際のパフォーマンスチューニングのコストが高い)
3.統合開発環境などのツールによる支援が受けられない
4.型チェックのないことが不利に働く(unit testがあったとしても)

4.については今実験的にとある分野のapplication frameworkを
作ってるんだけど、想像以上に脳が型によるヒントと
コンパイラの型チェックに依存してしまってるみたいで、
どうもにやりづらい。

# そういえば以前MLでbig project教えろって
# 聞いてた外人さんにはなんて答えたんだろ。
0191>190NGNG
型チェックは実装者側の都合だろ?昔のメモリが極端に少ない時代ならともかく
今時そういう不自由をユーザに強いるなよ。もちろん、任意選択なら
なお良いが。Cでプログラム覚えた人間はその発想からなかなか抜け出せない
ってのが問題だったりするんだろうな。
0192名無しさん@お腹いっぱい。NGNG
型チェックがあったほうがバグが減りそうだが、どうか。
0193名無しさん@お腹いっぱい。NGNG
http://www.ruby-lang.org/ja/compar.html

これ読んで、多言語に対する尊重の念すら感じられないって
ところに嫌気が差してやめた。
今の所RubyでできてPerlで出来ないってことが見つからないし。
0194名無しさん@お腹いっぱい。NGNG
型チェックは「実装者側の都合」であり,「ユーザにとっての不自由」
だと思っている191はもっと勉強して出直してくるように.
# 例えば米澤・柴山著「モデルと表現」(岩波)の前半など.

ある程度大きなプログラムを組むようになると,プログラマ自身が型
を意識することや,コンパイラによる支援(静的型検査・型推論)は
ものすごく重要.190のいってるのはそういうことでは.

逆に小さなプログラムをちょこっと書くときは邪魔に感じることも多
い.Rubyの用途(Perlの置換え?)を考えれば静的型検査がないのも当
然という気もする.フレームワークなんか作るんならJava使ったほう
がいいんじゃないの? >>190
0195名無しさん@お腹いっぱい。NGNG
実際にRubyを動かしているサイトってどこがあるんでしょう?
個人で掲示板を使っているぐらいしか無いと思いますが。
今更速度やサーバーに対する負荷でPerlより劣るRubyを使う理由が
解りません。
PHPやJavaと言った書きやすく、速度でも優れたWeb系開発言語があ
りますが、Ruby使いの人達は何故Rubyを使いますか?
個人利用という理由ならわかりますが。
0196>195NGNG
なんとなく。
国産だし。
俺はPerl,Javaだけど。
でも、優れている点もあるらしいよ。
使ったこと無いんで良く知らんが。
0197名無しさん@お腹いっぱい。NGNG
>実際にRubyを動かしているサイトってどこがあるんでしょう?
www.kondara.org ... RuBBS

>これ読んで、多言語に対する尊重の念すら感じられないって
>ところに嫌気が差してやめた。
あ、内心「オレが一番」って思うべきよ。漢のロマンだから。

# ちなみにうちはC++。何でかっていうとデジタルi/oボードや
# RS485通して制御する装置のコントロールパネルをNetScape
# に出したいから。PHPは嫌い。

うーん、言語なんて気分転換に切り替えればいいのよ。
毎年新しい言語導入しないと気分的につまんないです。

0198名無しさん@お腹いっぱい。NGNG
>>193
実績のない ruby と比べるからいけない。
Python と比べてみよう。たとえば Zope のようなものを Perl で書くと
なると、もちろん頑張れば書けるだろうが、それをもって「今の所 ** で
できて Perl で出来ないってことが見つからない」などと言われても困る
のではないかな。
>>191,192
静的型チェックについては ruby の利点と trade off なので仕方ない。
「実装者の都合」という言い方は違うと思う。lisp だって同じだよね。
動的型チェックは任意選択の文法として導入してしまえばいいと思うん
だけど、作者は慎重らしい。
0199190NGNG

>4.型チェックのないことが不利に働く
はもちろん「有利に働くのは小規模なとき」ということ。

>198
>動的型チェックは任意選択の文法として導入してしまえば
それほど継承に依存しない点や特異メソッドの
ことなどを考えると文法チェックは半端な気がする。
これについてはもう割り切っちゃってる(というかあきらめてる)。
全メソッドunit testするのだ!

http://www.jp.ibm.com/developerworks/linux/001027/ruby_qa.html
まつもと氏とPerl開発者の対談で、下の方に将来の高速化と、
Perl,Pythonコミュニティに謝意を表してるとこが載ってる。
(しかし何となく皮肉に聞こえるのは気のせいか?)。
0200>198NGNG
荒れてるスレッドでLispの名前出すなっつーの。
0201>200NGNG
荒れてるってより、活発な議論がされていて、
なかなか好ましい状況でないかい?
0202>193NGNG
同感。なんか閉鎖的コミュニティって感じでやだよね。
0203名無しさん@お腹いっぱい。NGNG
>>202
コミュニティの閉鎖性に関しては人それぞれ。俺はML半年くらい読んで
一度も発言していないが閉鎖的とは思わないがな。で、コミュニティが
嫌なのと言語を使いたくないのと何か関係あんの?
0204ぎこるびNGNG
MLはレベル的についていけないことが多多あるので、
僕も専らROMです(数回は投稿しましたが)。
よっぽどな内容でない限り質問にも親切に答えてくれますし、
そう悪い雰囲気はないと思います。

あの「他言語との比較」はRuby洗脳のための文章なので、
真に受けずに読むのが正しい読み方ですよん。
ちゃんと「独断と偏見に基づいています」と書いてあるし。
0205名無しさん@お腹いっぱい。NGNG
なんとなく想像できるな。(w
ちなみに俺はRuby信者の発言をよむにつれ、Rubyが嫌いになった。

マイナーが良くにあう精神構造だった。
0206名無しさん@お腹いっぱい。NGNG
Ruby信者は日本人が作った言語という話題性に惹かれて集まった奴らが
多いんじゃないかな。
そしてそのまま、まつもと信者になる。
Rubyだけ使ってるという人間は90%Ruby信者だろ。
0207名無しさん@お腹いっぱい。NGNG
>>Rubyだけ使ってる

まぢで?
0208名無しさん@お腹いっぱい。NGNG
幾ら何でもそんなやついないだろ〜
0209名無しさん@お腹いっぱい。NGNG
> ちなみに俺はRuby信者の発言をよむにつれ、Rubyが嫌いになった。
何で信者と言語が関係あるんだ?
> マイナーが良くにあう精神構造だった。
こういうこと言うあんたの方がよほど偏見に満ちてると思うが。
0210ぎこるびNGNG
>>206
自分がRubyに手を染めたのは次の理由からです。
・「日本人が作った言語」なのでドキュメントも日本語で嬉しい
・オブジェクト指向って何よ?という状態だったので、
 手軽にオブジェクト指向ができそうなところに惹かれた
で、言語にはほれ込んでますが、開発者にほれたりはしてませんです。
さすがにRubyだけ使っているという人はあんまりいないと思いますよ。
Perlから流れてくる人が結構多いですから(そういう場合やっぱりPerlは捨てられない)。

>>209
ゲイツが嫌いだからWindowsは使わないというのと同じ関係でしょう。
0211>210NGNG
あんたはまともそうだけど、一部痛い信者がいるからなぁ。
そういう人間はRubyだけにどっぷり染まっているみたいだよ。
そいつらでもPerlで掲示板ぐらいなら作れるんじゃない?
改造ぐらいしか出来なかったりして。
0212名無しさん@お腹いっぱい。NGNG
痛い信者なんて、良いものにはつき物だよ。
0213名無しさん@お腹いっぱい。NGNG
Windowsの普及をおろそかにしてるってのは、
ActivePerlみたいに、誰でもお手軽にインストールできない。
初心者への敷居も高いんじゃないか?
なんでいちいちcygwinとかを強要するかねぇ。
こんなことやってるようじゃ、Winでの普及は絶望的。
0214名無しさんi486NGNG
ActiveScriptRubyならmsi一発じゃなかった?
そもそもcygwin版とともにvc版もあるし。
0215名無しさん@お腹いっぱい。NGNG
普通のWindowsな人の普通の作業にはPerlもRubyも使わないようです。
自分がそうでした。
0216名無しさん@お腹いっぱい。NGNG
>>211
Ruby *だけ* に染まるなんてホントにごくごく一部だろ。そもそ
もRubyだけじゃできることが少なすぎるよ。学んだ最初の言語が
Rubyっていう特殊な人だけなんじゃないの?

何から何までPerlで書く(Perlでしか書けない)厨房や、どんな
に複雑な処理もCで書こうとする奴だって大勢いるわけで、どうし
て「Ruby信者」だけをそんなに協調したがるのか理解に苦しむな。
0217216NGNG
協調→強調
0218Java厨房NGNG
>
最近の言語だから。
0219名無しさん@お腹いっぱい。NGNG
やたらrubyを勧めるからじゃない?
実際鬱陶しいよ。
0220名無しさん@お腹いっぱい。NGNG
>>216
> 何から何までPerlで書く(Perlでしか書けない)厨房
これはPerlしか知らないだけで「信者」じゃないよな

> どんなに複雑な処理もCで書こうとする奴
ここで言う「複雑な処理」がどういうものだか知らないが、
オペレーティングシステムのカーネルやコンパイラは
「簡単な処理」なの?
「一々Cで書くのが阿呆らしいような処理」とかなら分かる。
で、これもCしか知らないか、普段Cばかり使っているので結局Cの
方が早く書けちまう(当人にとっては)のいずれかで、「信者」
じゃないだろ。
~

0221anonNGNG
>213 サ荀マWindows・譯シ・カ、ハ、ヌ、ケ、ャ。「、ソ、キ、ォ、ヒ、筅テ、ネエハテア、ヒ、ハ、テ、ニ、ロ、キ、、、ヌ、ケ、隍ヘ。」、ヌ、筅テ、ニFYI.
Ruby Entry Package for Windows / Yasuhiro Arima
http://homepage1.nifty.com/arima/ruby/
InstallShield、ヌー�ッ・、・ケ・ネ。シ・�ヌ、ュ、゙、ケ。」エハーラIDE、ホRubyWin、簇、�ホ、ヌ。「、ェシ�レ、ヒRuby、ホクウ、ヌ、ュ、ニハリヘ」クトソヘナェ、ヒスナハキ、ニ、゙、ケ。」
クー・オ・、・ネ、ヌ、「、�ruby-lang.org、リ、ホ、ウ、ヲ、、、テ、ソセホスクフャススハャ、ヌ、ハ、、、ネ、、、ヲーユクォ、ヒ、マニアエカ、ヌ、ケ。」
0222名無しさん@お腹いっぱい。NGNG
213 のいうとおり!
0223名無しさん@お腹いっぱい。NGNG
> > 何から何までPerlで書く(Perlでしか書けない)厨房
> これはPerlしか知らないだけで「信者」じゃないよな
ごめん、そうだね。
> オペレーティングシステムのカーネルやコンパイラは
> 「簡単な処理」なの?
そんなこと一言も言ってないけど…?
> 「信者」じゃないだろ。
これも悪かった。
言いたかったのは 205 みたいな「信者がイタイから言語も嫌い」っ
ていう頭の悪い物言いが(ゲイツが嫌いだから Windows を使わない
っていうのと同じで from 210)不快だったってこと。

まあ 2ch らしくて結構だけど。
0224名無しさん@お腹いっぱい。NGNG
「Perlではオブジェクトがつかえない」と主張する頭の痛い厨房の
相手を最近したもんでな。 >209
しかもつかいかたを説明すると逆ギレしてんだ。
0225名無しさん@お腹いっぱい。NGNG
まあ俺は基本的にPerlしかつかってないわけだが
他言語も必要ならやるよ。趣味だけどな。
しかしRubyがアドバンテージとして主張する物の多くは
Perl6で(Perl風味で)実装される可能性が高いこと。
膨大な量の(今も増え続けている)CPANモジュール。
(数値計算用のXS拡張まである)
これらが特にRubyへの移行を考えない理由だ。
0226名無しさん@お腹いっぱい。NGNG
そういえばPsh(Perlのシェル)という話があったが
このあいだwww.perl.org見たらPerlOSなんつー話があった。(ワラ

0227名無しさん@お腹いっぱい。NGNG
>>223
>> オペレーティングシステムのカーネルやコンパイラは
>> 「簡単な処理」なの?
> そんなこと一言も言ってないけど…?
すまん「どんなに複雑な処理でもCで書こうとする奴」と書いてあった
から、現在ではCで書かれることが普通であり、かつ普通は複雑という
ことになっている分かりやすい例を示しただけだ。

基本的に「信者が嫌いだから言語も嫌い」
になること自体は、当人の勝手だろう。Rubyは
それで片付けてしまえる程度の選択肢だと思うぞ。
Windowsの場合はゲイツが嫌だろうが仕事で使わざるを得んがな。
0228名無しさん@お腹いっぱい。NGNG
Ruby使いは仕事で使っている人はいないでしょうな。
趣味で使って嬉々としている様子が目に浮かぶ。
0229名無しさん@お腹いっぱい。NGNG
>>225
それこそが唯一(言い過ぎか?)にして最大の、RubyがPerlに劣って
いる点です。だからRubyが好きな人は普及に努めようとするので
しょう。自分も含め。
だから、ちょっとくらい熱く語っても、暖かい目で見て下さい。
0230名無しさん@お腹いっぱい。NGNG
どうせなら、言語的に優れている方を使いたいからなぁ。
俺はこれからRubyやろうと思うよ。
多分これが一番仕様が褒められている言語だから。
0231名無しさん@お腹いっぱい。NGNG
>>227

216のいう複雑な処理って
「Perl or Rubyだとスッキリ書けるけどCだと少し複雑になる」
みたいな意味なんじゃない?
OSとかコンパイラを例に出すのは違うかと。
0232227NGNG
>>231
マジでわからんのだが、コンパイラはrubyで書けないのか?
コンパイラをrubyで書かないとして、その性能以外の面での理由は何だ?
ruby用のコードを生成するyaccが存在しないからか?
例が「コンパイラ」じゃなくて、「テキストエディタ」だったらどうだ?
viのように、端末用のエディタで構わないぞ。
0233っていうか、NGNG
薀蓄はいいからRubyで2ch型掲示板のひとつでも書けば
世間の見方は変わるやろ
0234つーかNGNG
ここはrubyの蘊蓄スレなんだけど...
現在rubyのキラーアプリ募集中ってとこだな。
# もし海外で先にでちゃったら格好悪いよな。誰かがんばれ!!

>>216 「複雑な処理」って言葉を使うから話しがおかしくなっちゃうんだよ。
つーわけで、向き・不向きで考えると
Cで(「複雑な処理」である)カーネル・コンパイラを書くのは問題なし。>216
また(速度を無視すれば)Rubyでエディタ・コンパイラ書いても全然問題なし。> 232
# raccというのがある

# どーでもいいとこで揚げ足取りあうのはもうやめないかい?
0235名無しさん@お腹いっぱい。NGNG
仕事でrubyなんかで書かれたら、マイナーすぎて誰もメンテできない状況が容易に想像できるな。(藁
0236名無しさん@お腹いっぱい。NGNG
あ、○んこより下だったんで、あげておいた。
0237名無しさん@お腹いっぱい。NGNG
Rubyのキラーアプリていうと2ch型掲示板とか?
CGI以外での使い道は現実的にないと考えていいと思うがどう?
パフォーマンスを考えると作る意味はないだろうけど。
0238名無しさん@お腹いっぱい。NGNG
>>228
俺、知ってるよ、仕事で使っている人。
客先に納める仕事ね。
0239名無しさん@お腹いっぱい。NGNG
>>232
コンパイラなんか、バイナリデータ扱えるならどんな言語でも書けるよ。
アセンブラのソース吐くだけならテキスト処理のみで済むし。
ま、ハードコーティングされた奴に比べるとめちゃくちゃ遅いだけなのでヤメレ。
宣伝程度にはなると思うが。
コンパイラは質の良いオブジェクトコード出力とスピードが肝だよ。
最適化のアルゴリズムとか考える時は便利かもね。>インタプリタ

>>237
そもそもサーバ側で用意されてる所ってほぼ皆無なので、移転する時に困る。>ruby/cgi
0240名無しさん@お腹いっぱい。NGNG
>>238
その客は災難だったな。(藁
そういう場合って、納品した会社が責任取ってタダで保守までするわけか?
0241名無しさん@お腹いっぱい。NGNG
>>239
CGIが不可って事はrubyの使い道はローカルでのテキスト処理オンリー
ですか?

>>238
詳細きぼーん
0242名無しさん@お腹いっぱい。NGNG
>>241
ローカル、つーか個人の趣味や一部の団体で使われる程度だと思うね。
積極的にUNIX系OSにデフォで入れてくれる様に交渉するとか、
ruby特有の明確なアドバンテージ(って何?)でも示さない限り。
せめて日本人向けディストリビュージョンの存在するOS
には入れておいて欲しいなあ。入ってたっけ?

>>238
わたしも保守の問題がどう解決されるのか気になります。
数少ない事例ですから。
0243329NGNG
ついでに言うと、rubyで書かれたコンパイラで、
rubyスクリプトを質の良いオブジェクトコードに
コンパイルすると、速度の問題もいずれ解決する。(藁
まあ、ブートストラップは理想だな。
逆にこんどは機種依存の問題が出てくるが。
JavaVMみたいにすればokか?
0244>243NGNG
>rubyスクリプトを質の良いオブジェクトコードに
>コンパイルすると、速度の問題もいずれ解決する。(藁

なるほど!
0245名無しさん@お腹いっぱい。NGNG
>>244
しかしこの、「いずれ」ってのは問題だね。
なんかrubyと関係なくなってきたな。(藁
つーわけで、どんな言語でもある程度の機能があれば
コンパイラの作成やブートストラップは可能。
yaccやlexも移植するのは簡単…。
実際やってる例は希だけど。
0246名無しさん@お腹いっぱい。NGNG
静的な型付けを行わない以上、「rubyコンパイラ」を作ったとして、
シロウト目には、C/C++並みに速くすることは不可能に見えるのだが。
それと、eval()をどうするつもりか?単純にこの部分だけrubyインタプリタ
に食わせるという訳にはいかんだろう。
0247246NGNG
ああ↑の「rubyコンパイラ」は、rubyで作成したコンパイラという
意味じゃなくて、rubyスクリプトからobjectコードを生成する
プログラムのこと(まぎらわしい....)
0248Ruby似非信者NGNG
>>216
Rubyを使いこんでるひとは、Cは嫌いじゃないっていう人が多いんじゃ
ないかな。拡張ライブラリを書くにはC使うわけだし。
C++は嫌い、ってのは多そうだけどな。
0249名無しさん@お腹いっぱい。NGNG
>>248
C++は嫌いだ。キライダ…
0250名無しさん@お腹いっぱい。NGNG
発売日の翌日に紀伊國屋で注文したRuby入門がまだ届かない。
これだからRubyはいやなんだよ、ったく・・・。
0251名無しさん@お腹いっぱい。NGNG
実は紀伊國屋or宅配会社が悪いのに、
関係無い事でRubyが責められてる。
ああ、可哀相な運命のRuby…
0252238NGNG
客先とは言っても常駐のようなものだから。
実際にその人が何をさせているのかまでは知らないし。
0253名無しさん@お腹いっぱい。NGNG
>>238
1. 客の計算機のディスク資源を使用して、わざわざRubyを入れたのか?
その理由(必要性)を、客にどう説明したんだ?
2. Rubyを採用した人間は、一生自分がそのシステムを保守すると思って
いたのか?
といった点が、やはり謎だな。仕事と趣味を近藤してねえか?という疑惑が
ふつふつと沸いてくるんであるんである。

0254名無しさん@優しい人NGNG
>>252=238
なんだ〜、残念。
オチが欲しかったのに…。
聞く機会があったらお願いしますね。
ほんとにめずらしいケースみたいなので。
0255名無しさん@お腹いっぱい。NGNG
もうやめにしない?
Perl信者の書き込みばかりになってるじゃん。
人の使う言語を煽って何が楽しいのかわからない。

#これからrubyが伸びてくる事は確実。
#それを盲目的に否定するのはどうかね。
0256名無しさん@お腹いっぱい。NGNG
>>255
スクリプトは終わった。
JavaサーブレットとActiveXの時代。
0257名無しさん@優しい人NGNG
>>255
>#これからrubyが伸びてくる事は確実。
無責任な事を言うな。何処に根拠がある。
こういう発言を盲信と言わないのか?

>>256
ActiveXはどうかと思うが…
0258>255NGNG
だからPerl信者じゃなくて、Perlしか使えない連中なんだって(w
0259名無しさん >258NGNG
実際問題Rubyがメジャーになるこたないだろ。
ビジョンが想像できない。


0260名無しさん@お腹いっぱい。NGNG
>>259
メジャーになるのではなくて、メジャーにするのです。
Perlだってほっておいて伸びたわけじゃなし。
0261名無しさん@お腹いっぱい。NGNG
いや、別に文句つけるわけじゃないが、どうやって?
0262236=239=242=243=245=254=257@優しい人NGNG
>>261
それについては、
ほんの触りだけ242で書いたが…
0263名無しさん@お腹いっぱい。NGNG
>>242
kondaraとDebianには入ってるぞ。
0264名無しさん@優しい人NGNG
>>263
調査感謝。
と、いうことらしい。>261
少なくともそういう動きはあるわけだ…>261
261にむい。いい番号を拾ったな、勇者ニムイよ!
にむーい、にむーい。
…明日読み返したら後悔は必至だな。(藁
0265名無しさん@お腹いっぱい。NGNG
Fixnumを継承してメソッド増やしたいのですがnewできません。
Integerは特別扱いというのは分かりますが、どうにかならないですか。

class MyInteger < Fixnum
 def prime?
  for i in 2..self/2
   return true if n % i == 0
  end
  false
 end
end

n = MyInteger.new(3) # ここでエラー round.rb:XX: undefined method `new' for MyInteger:Class (NameError)
p n.prime?

やりたいことはFixnumの値を一つ保持して複数のメソッドを持つ
Stateクラスを定義することです。@valueを持たせるよりは
Fixnumを継承した方がオーバーヘッドが少ないかなと思ったからです。
0266名無しさん@お腹いっぱい。NGNG
Rubyユーザの性格==ホットスープユーザの性格
0267マジNGNG
ホットスープって何?
0268名無しさん@優しい人NGNG
>>267
>ホットスープって何?
これからの季節には必須だろ。
あー自分で書いててつまんねー。
#HSPで検索しとけ。
#本も出てるな。
0269Ruby似非信者NGNG
>>259
Kent Beckも「I love it.」って言ってるくらいだから、XPコミュニティから
「XPするなら(Pythonよりも)Ruby」って流れができて、OO方面からメジャーに
なっていく、ってなビジョンはどうかな?
XP(eXtreme Programming)については、
http://www.esm.co.jp/divisions/open-sys/eXtremeProgramming/xp-faq.html
とか。

いくらRubyが流行ってもPerlがなくなることはないだろうね。それでも、
今ならPerlが当たり前の領域の一部にRubyが浸透する、という可能性なら
大いにある。それで十分。今のところはね。

>>265
Rubyのnumeric.cに書いてあるけど、
rb_undef_method(CLASS_OF(rb_cFixnum), "new");
でFixnum::newを殺してあるからsuperでエラーが出るのは当然。
素直に@value使うのがおすすめ。

多少乱暴でもいいんなら、Integerにprime?を追加するのも可。

class Integer
def prime?
for i in 2..(self/2)
return false if (self % i) == 0
end
return true
end
end

p 11.prime? #=>true
0270名無しさん@お腹いっぱい。NGNG
>>26[678]
http://www.onionsoft.net/hsp/
0271名無しさん@お腹いっぱい。NGNG
でも、文法に徹底的にこだわったRubyと、文法的には
おいおいなんだこりゃっていうHSPでは正反対の方向性の
ような気が…
まぁフリーでマイナーって所は似通ってるけど。
0272名無しさん@お腹いっぱい。NGNG
Perlとは違うのだよ、Perlとは!
0273名無しさん@お腹いっぱい。NGNG
ムナシイ。。。
0274名無しさん@お腹いっぱい。NGNG
日本のLinuxにはこれからrubyはどんどん入ると思うよ。
ディスクスペースをそんなに食うわけじゃないから、「とりあえず入れとけ」
てな感じでね。
だけど、それが普及に即繋がるとは考えられないし、rubyが文法的に優れている
というだけの理由でメジャーになるはずもない。
そのうち廃れて「そう言えばrubyなんてのもあったなぁ」と思い出すような言語
になるでしょ。
0275名無しさんNGNG
>だけど、それが普及に即繋がるとは考えられないし、
>rubyが文法的に優れている
>というだけの理由でメジャーになるはずもない。
人間一人が管理できるシステムの規模には
限界があると思う。ソース一万行で解説200ページ
とかなるとしんどい。
わたしは強力な記述と使い勝手のよい
ライブラリ、安全なインターフェースを
強く欲する。文法とライブラリ、それこそが命です。

0276名無しさん@お腹いっぱい。NGNG
こだわってるのは分かるけど本当に文法的に優れてるの?誰がそう判断してるの?
0277名無しさん@お腹いっぱい。NGNG
>>276
自分で使ってみて判断。それ以外に何が?
0278通りすがりNGNG
実用になるかどうかはさておき、Rubyで書くと心地いいね。
結構いいものに仕上がってるから、廃れないでいい方向に発展してくれると幸せだね。
言語マニア好みに仕上がってるから、当分消えることはないんでないかな。
「これができるのはRubyのみ!」という分野がないのが痛いねえ。

ゲームにとりたてて向くわけでもなし、数式処理につよいわけでもなし、
行列計算がいいわけでもなし、テキスト処理がPerlより便利なわけでもなし、
システムプログラミングにむいてるわけでもなし…。
アプリケーション組み込みとしてはPhytonがすでに頑張ってるし、
ネットワークプログラミングがいいわけでもなし…。
言語が対象とするアプリケーションの指向性がいまいちはっきりしないんだよね。

言語処理や画像の意味解析とか、グラフ処理とかそういう、
データ構造のいりくんだややこしい分野で力を発揮しそうなんだけどなぁ。
0279>>275NGNG
Javaの方がいいですよ。
0280>279NGNG
どこがどのように?
0281>280NGNG
いちいち絡むなって。

他言語との比較、Ruby普及計画についての話題はこちらでどーぞ。
http://mentai.2ch.net/test/read.cgi?bbs=prog&key=960615378
0282名無しさん@お腹いっぱい。NGNG
>>280
自分で使ってみて判断。それ以外に何が?
0283>278NGNG
今の段階でRubyに向いている分野なんて無いって。
Perlから弱点はそのまま引き継いでいるから大規模な物を作ろうと
したらパフォーマンスがネックになる。
小規模な物ならPerlで書いた方が書きやすいんじゃない?(人にも
依るが)
Ruby VMやネイティブコンパイラでも作ってから普及活動した方が
いいんじゃない?
0284名無しさん@お腹いっぱい。NGNG
> 今の段階でRubyに向いている分野なんて無いって。
そうですね…これから作らないと。

> Perlから弱点はそのまま引き継いでいるから
ふーむ、パフォーマンスと特殊変数以外に何があるっけ?
パフォーマンスも Python と大して変わらないけど。

> 小規模な物ならPerlで書いた方が書きやすいんじゃない?
モノと本人の慣れに依るのかな。僕はその場で使ってすぐ捨てる
類のものだけは perl で書いてる気がする。
0285名無しさん@お腹いっぱい。NGNG
俺前も書いたけど、eval()をインタプリタ以外の形態で実装できるのか
疑問。シロウト考えでは無理に見えるんだけど、できるの?>283
0286名無しさん@優しい人NGNG
>>285
283では無いが…
もしeval()がSchemeやLISPの遅延評価と同等な意味ならば、
JITコンパイルという手がある。
ただ、この方法は一度しか実行しないようなコードに対しては効果は薄いが。
それでもホットスポット以外はあらかじめコンパイルしておくことが可能だから、
全くの無駄とは言えない。
0287名無しさん@お腹いっぱい。NGNG
>>281
そこはプログラマー板だろ?
何でこっちじゃいけないんだよ?
0288265NGNG
>>269
やっぱりnewは使えないんですね。
Stateクラスはオーバーヘッドが大きそうなので
# 生成されるインスタンスがかなり多いので
昔ながらの@value+関数群でやってみます。
ありがとうございました。
0289285NGNG
>>286
ここで言うJITコンパイルというのは、実行時にeval()を評価する際に
その場でコンパイルするという意味、だよね。
可能不可能の話で言えば可能だろうが、evalの内部からローカルを
含む外部のobjectにアクセス可能であるということは、結局はインタ
プリタと同様のやり方で、全てをシンボルテーブル上で管理する
必要があるということではないのか。
結果として、バイトコードのような中間コードを実行するのと、
と効率的に大差ないものになるんじゃないのか、と思えるのだけれど。
0290名無しさん@お腹いっぱい。NGNG
難しい話はわからないけど、Kernel.eval に Binding のイン
スタンスを渡せるのが嬉しい。逆に Perl の eval() や ePerl
で外部のシンボル表を渡せないのは言語の性質? できるけど
実装してないだけ?
0291名無しさん@優しい人NGNG
>>289
そうだろうね。
まあでも、外部にアクセス可能であったとしても、実際にそのようなコードを
考えもなしにぽんぽん書かない限り、最適化の余地はいくらでもあるとは思い
ますが。とりあえず効率優先なら、プログラマ側でうまく変換する可能性のあ
るコードを書く様に気を付けるしかないんじゃない?
統計的に良く使われるパターンはキャッシュして持って置くとかはするんだろ
うけど。
0292281NGNG
>>287
>そこはプログラマー板だろ?
>何でこっちじゃいけないんだよ?
だって比較の軸になってるのって
(作者が)好き・嫌い、メジャー・マイナー、綺麗・汚いくらいのもで
発言の内容だってほとんどが信者・厨房プログラマーの煽り&罵り合いだろ。
# それにここのスレ初心者からの質問スレ>>17らしいし(俺も知らなかった...)
0293名無しさん@お腹いっぱい。NGNG
>>煽り&罵り合いだろ。

あなたは2ちゃんねるにくるのをやめたほうがいいです。
0294>293NGNG
お約束の展開だなぁ。それでもこの板&スレではちゃんとお話ししたいのよ。
0295名無しさん@お腹いっぱい。NGNG
>>294
建設的な議論をしたいのならよそに行った方が良いと思いますよ。まじに。
0296名無しさん@お腹いっぱい。NGNG
>>295
「嫌いな話題は俺がかき回すから他逝け」ってことですね
0297あおりんごNGNG
んー。ていうか、
Rubyのスレなんだからさ・・
煽られても相手しなけりゃいいのに。
0298名無しさん@お腹いっぱい。NGNG
でも一見罵り合いに見えても、それなりに議論がすすんでるじゃん。
0299名無しさん@お腹いっぱい。NGNG
で、
#!/usr/local/bin/ruby
じゃなくて、
#!/bin/sh
exec ruby・・・
・・・
って書くやりかたがあったけど、どう書くんだっけ?

なんか
#!/usr/local/bin/ruby
puts "test"
って書いてパーミッション与えて./test.rbで実行できない。
例)
% ./test.rb
puts: Command not found
たんにコマンドラインからrubyとするとrubyは起動します。
% ruby -v
ruby 1.4.4 (2000-04-14) [sparc-solaris2.7]
0300虹NGNG
>>299
#!/usr/bin/env ruby
って書くのが良いみたいです。
でも、envって普通/usr/binに置くものなの?
0301>299NGNG
CGI板でやれば?
0302299NGNG
>>300
ありがとうございます。できました。

>>301
この板のこのスレッドで聞くことは不適切なんですか?
0303>302NGNG
一行レスに噛み付くのは煽りを喜ばせるだけで建設的ではありません
もちろんこのレスも無視すれ
0304Ruby tip of dayNGNG
ruby -e "require 'find'; Find.find('.'){|file| puts file}"
# similar to "find ." in unix command.
0305ruby初心者NGNG
ブロックってなにものなんですか?
なんか便利になるんですか?
0306ぎこるびNGNG
>>305
メソッドに渡す処理の塊をブロックと言います。
配列をイテレートする場合で例を挙げると、
[1, 2, 3, 4, 5].each{|i| p i}
の{}内がブロックです。配列の場合は下と大体等価です。
def my_each
 for i in 0...size
  yield(self[i])
 end
 self
end

Javaでイテレートする場合には下のように外部イテレータになりますが、
Rubyの場合はオブジェクト側が処理を握っている内部イテレータです。
for (Enumeration e = all.elements(); e.hasMoreElements(); ) {
baz = foo + e.bar();
}
0307ぎこるびNGNG
あ、全然間違えてる。
baz = foo + e.bar(); もとい
String baz = foo + (String)all.nextElement();

気を取り直して。。。
またイテレート以外にもブロックは使えます。
File.foreach('hoge'){|line| p line}
は
fp = File.open('hoge')
begin
 while line = fp.gets
  p line
 end
ensure
 fp.close
end
と同じです。ブロックを終えるとファイルを必ず閉じるようになっています。
あくまでレシーバ(オブジェクト)に対してしてほしい処理を渡すという形に
なっているのがRubyらしいと言えます。
処理の主体とその範囲が明確なのでわかりやすい(書き易く読み易い)
のが効用だと思います。
0308名無しさん@お腹いっぱい。NGNG
で、
#!/usr/local/bin/ruby
じゃなくて、
#!/bin/sh
exec ruby・・・
・・・
って書くやりかたがあったけど、どう書くんだっけ?

なんか
#!/usr/local/bin/ruby
puts "test"
って書いてパーミッション与えて./test.rbで実行できない。
例)
% ./test.rb
puts: Command not found
たんにコマンドラインからrubyとするとrubyは起動します。
% ruby -v
ruby 1.4.4 (2000-04-14) [sparc-solaris2.7]


300 名前: 虹 投稿日: 2000/11/10(金) 11:09

>>299
#!/usr/bin/env ruby
って書くのが良いみたいです。
でも、envって普通/usr/binに置くものなの?


301 名前: >299 投稿日: 2000/11/10(金) 11:23

CGI板でやれば?


302 名前: 299 投稿日: 2000/11/10(金) 12:22

>>300
ありがとうございます。できました。

>>301
この板のこのスレッドで聞くことは不適切なんですか?

0309名無しさん@お腹いっぱい。NGNG
rubyが /usr/local/bin/ にないんじゃないですかね。
%which ruby
でrubyのあるパスが得られますのでそれを書いてください。
0310名無しさん@お腹いっぱい。NGNG
rubyが /usr/local/bin/ にないんじゃないですかね。
%which ruby
でrubyのあるパスが得られますのでそれを書いてください。
0311ぎこるびNGNG
ああ、連書き失礼しました。
0312名無しさん@お腹いっぱい。NGNG
なんか ruby-talk でフェイドアウトする議論が多いのが気になる
0313名無しさん@お腹いっぱい。NGNG
今日、RUBY本をかってざっと眺めたのですが、よくわからない点が2つ。
(1)なぜ例外処理が2つあるの?(try-catchとbegin-rescue)
(2)言語がイテレータをもつ理由は?(別に外部イテレータでもいいような...)
誰か答えて。
0314虹NGNG
>>313
(1)throw-catch(だよね)は捕らえられることを前提としたもので、
言わばgoto文に近い感覚です。それに対し、raiseによる例外は
捕らえられないことを前提とした例外で、エラーが発生しても
処理を続けたいときにbegin-rescueを使います。
(2)繰返しをオブジェクトの中に隠すことができるので、使う側が
内部の処理を意識する必要がなくなります。確かに機能的には外部
イテレータ>内部イテレータかもしれませんが、内部イテレータの
方が保守性が高く、高級(笑)です。

と、自分は認識していますが間違い等あるかもしれないので、詳し
い方フォロー願います。
0315名無しさん@お腹いっぱい。NGNG
throw/catchは関数、raise/rescueは予約語、ちう違いもありますな。
Rubyデスクトップリファレンス見てみたらthrow/catchに関する記述は
無かったので、throw/catchは無かったことにしようとしてるに一票。
0316名無しさん@お腹いっぱい。NGNG
throw/catchは関数で、raise/rescueは予約語なんて違いもありますな。
Rubyデスクトップリファンスを見たらthrow/catchに関する記述が見ら
れなかったので、無かった事にしようとしている、に一票。
0317315, 316NGNG
だぶりスマソ。
0318名無しさん@お腹いっぱい。NGNG
RubyでXMLを扱う時にはどんなツールが必要になるんですか?
perlだったらDOMやパーサ―のモジュールがあるけどRuby
でもおなじようなものがあるんですか?
0319名無しさん@お腹いっぱい。NGNG
ruby-dev の田中さんのおかげで、1.7 では file descriptor の直接操作
ができるようになりそう。dup(2) の interface が提供されないのって悩
ましかったんだよなあ。これで dup & exec するためだけのアホな拡張ラ
イブラリは捨てれそうだ (^o^)
0320名無しさん@お腹いっぱい。NGNG
>>318
http://www.yoshidam.net/Ruby.html#xmlparser
を使うようです。
ちょっとしか使ったことないのでどのくらい酷使に耐えるのかわ
かりませんが…
0321名無しさん@お腹いっぱい。NGNG
ここでもXMLか・・・はやってるの?
0322名無しさん@お腹いっぱい。NGNG
>>321
今更何言ってんの?
でも XML 界も混沌としてるしこのままポシャったらおもろいのにな
0323名無しさん@お腹いっぱい。NGNG
名前がカッコ悪い。大文字って点も。>XML
0324名無しさん@お腹いっぱい。NGNG
なんて読むの?やっぱバツマル?
0325名無しさん@お腹いっぱい。NGNG
18禁めーりんぐりすと
0326名無しさん@お腹いっぱい。NGNG
XMLネタは他でやれ
0327名無しさん@お腹いっぱい。NGNG
めーりんぐりすと反対!
0328名無しさん@お腹いっぱい。NGNG
クソムル
0329プロセスさん@お腹いっぱいNGNG
ruby/gtkで、gettextを使ったプログラムのサンプルってありませんか?
ruby/gtkは、webページを発見できたのですが、ruby/gtkでgettextって
どないするんでそ?
0330名無しさん@お腹いっぱい。NGNG
C++ソースに組み込んで独自命令定義しようとすると、
以下のようなエラーでるのはどうにかならないのかな?
まぁ無理やりキャストかませば問題はないんだけど。

foo.cpp(67) : error C2664: 'rb_define_global_function' :
2 番目の引数を 'unsigned long (int,unsigned long *,unsigned long)' から
'unsigned long (__cdecl *)(void)' に変換できません。
0331名無しさん@お腹いっぱい。NGNG
age
0332名無しさん@お腹いっぱい。NGNG
rubymw.dllの機能を使うDLLをmngwin環境で自作しようと思ったのですが、
gcc Developer Stationで以下のコードをビルドしたらrb_eval_string
が定義されていないと言われてしまいました。どのようにしたら
上手くいくのでしょうか?

#include <windows.h>
#include "ruby.h"

int WINAPI DllMain (HINSTANCE, DWORD, PVOID)
{
return TRUE;
}

extern "C" __declspec (dllexport) BOOL WINAPI test1 (void)
{
rb_eval_string("print \"test\"");
return TRUE;
}
0333ぎこるびNGNG
>>329
gettextのラッパーライブラリがあります。
http://www.page.sannet.ne.jp/hirata-naoto/ruby.html

>>330
C++は使わないんでよくわかりませんが、
_cdeclでコンパイルするようにすればエラーはでないかと。
0334ぎこるびNGNG
>>332
これから始まるスレッドを参照してください。
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/17353
組み込みに関してはREADME.EXT.jpくらいしかドキュメントがないんですよね。。。
0335ぎこるびNGNG
>>332
ApolloやRubyWinのソースが参考になるかも。
http://www.users.yun.co.jp/~moriq/apollo/
http://homepage1.nifty.com/markey/ruby/rubywin/
0336332NGNG
>>334-335
どうもありがとうございます。
あれから、いろいろと参考にして悪戦苦闘しましたが結局出来ませんでした。
仕方がないので、LoadLibraryとGetProcAddressを使って強引に
rb_eval_stringを呼び出すラッパーを作ることにしました。

しかし、RubyWinはなぜあのソースで出来るのか、かなり謎です…
0337名無しさん@お腹いっぱい。NGNG
fileにある繰り返しのパターンを、Structの配列で読み込みたいのですが、
Rubyでどんな風に書いたらいいですか?

で、そのなかのhogeというメンバー名で、正規表現でマッチさせて、別の
メンバーも表示って感じで

ファイルパターンはこんな感じ
foo: abcdef
bar: bcdefg
|
foo: zzzzzz
bar: xxxxxx

ってな感じ
0338名無しさん@お腹いっぱい。NGNG
ぎこるびってまつもとさんだったりして。
0339名無しさん@お腹いっぱい。NGNG
>>330
rb_define_functionのプロトタイプが
void rb_define_function(VALUE, char*, VALUE(*)(), int);
である以上、キャストを使わない限りC++ではエラーは避けられんと思う。

VALUE(*)()の意味は
Cでは
「引数は何でも良く(チェックしない)、VALUEを
返す関数へのポインタ」
C++では
「引数無し(void)でVALUEを返す関数へのポインタ」
だからな。

gccであれば-fno-strict-prototypeで切り抜けられそうだが。
0340名無しさん@お腹いっぱい。NGNG
Ruby全般に、UNIX万歳!Winは知らん、って臭いがプンプン漂うのが嫌だ。
Rubyコミュニティも、厨房お断り的な窮屈な雰囲気でなんか嫌だ。
0341虹NGNG
>>337
質問が良く理解できないので的を外してるかもしれないが、

array=Array.new
line_no=1
ARGF.each { |line|
if /^([^:]+):\s(\S*)\s*$/=~line
array<<Struct.new("Line"+line_no.to_s,$1).new($2)
end
line_no+=1
}
p array

こんな感じか。なんか全然求めているものと違うような…。
0342虹NGNG
>>340
UNIX万歳かどうかは知らないけど、Winは知らん、てのは当たって
いるかも。と言うか本当にただ使ってないので知らん、って意味
だけど。
なので、Win使いの人はむしろ大歓迎だと思います。

# >>341インデントがないと激烈に読みにくいな。
0343ぎこるびNGNG
>>336
RubyWinの作者にメールしてみると良いかもしれないですね。
ついでにうまくいったらドキュメント化してくれると嬉しいです、はい。

>>337
こんな感じですか?
h = {}
while line = gets
if /\A(.+):\s(.+)\Z/ =~ line
name = $1
member = $2
begin
h[name].push member
rescue NameError
h[name] = []
retry
end
end
end
#=>{"bar"=>["bcdefg", "xxxxxx"], "foo"=>["abcdef", "zzzzzz"]}

>>338
まさか。単なるRuby厨房ですよ。
今も自分の無知から恥をかいてきました・・・

>>340
UNIXはやっぱり便利ですからねえ。自分も結局CygwinでRuby使ってますし。
Windows方面も人材はいますので段々と環境が整っていくと思いますよ。
ruby-listに書けないならここに書いてください。
自分もそうですから(笑)
0344ぎこるびNGNG
>>337
もちろん
p h #=> {"bar"=>["bcdefg", "xxxxxx"], "foo"=>["abcdef", "zzzzzz"]}
です。
0345虹NGNG
>>343
ああ、なるほど。そっちの方が求めているものに近そうですね。
構造体の配列ってのを素直に考えすぎたかも。
でも、そこでrescueを使いますか。自分なら
if h[name]
h[name]<<member
else
h[name]=[member]
end
かな。rescueはあんまり使わないです。
0346名無しさん@お腹いっぱい。NGNG
よしわかった。
今日からオレも、ルビ房な。
0347ぎこるびNGNG
>>345
読んだ値をどう使いたいのかよくわからないので、
無難にハッシュを使ってみました。
rescue使ったのは気分的なもんです。
ただ、初期化と要素の追加とが分けられるのがきれいでいいかなと。

>>346
んーよろしくです。
0348330NGNG
>>333
_cdeclでのコール他、いろんなオプションで
コンパイルしてみましたがあいかわらずでした。
C++のプロトタイプチェックが強力なのが原因みたいですし。
>>339
やはり、無理やりキャストしかないんですね。

今後C++のソースに組み込もうとして同じようにハマる人がいるだろうから
キャストするための便利マクロとかが、ruby.hにあらかじめ入っていれば
親切かもね。
0349名前ついてますか?NGNG
rubyって車輪の再発見っぽくて嫌い。Interpretor言語を
BASICと Perlしか知らない人には新鮮かも知れないけどね。
Winしか知らない人が Linuxを誉めるみたいに。
まあ、どっちもお勉強でシステムを作ってみたら、取り巻きが
ついちゃった、って点はおなじか(w
0350なしNGNG
おお、これが二度と見つからないと思っていた幻の「車輪」か!
ついに発見したぞ!
0351名無しさん@お腹いっぱい。NGNG
>>349
現実では全然目立たない癖に陰口叩くのだけは好きなアホ発見
0352名無しさん@お腹いっぱい。NGNG
gikoruby iizo. ore mo ruby-list deha situmon dekinai
chuubou dakedo, ruby ha tanosiku tukatteru yo.

ruby-lame list ga hosii tokoro dane. minna level takasugi.
0353名無しさん@お腹いっぱい。NGNG
>>351
煽りは無視しときましょう。時間の無駄です。
0354名無しさん@お腹いっぱい。NGNG
亡びゆくRubyに乾杯。
0355名無しさん@お腹いっぱい。NGNG
ここ一ヶ月ほどで ruby-talk は完全に軌道に乗ったね。
ruby-list よりも突っ込んだ議論が多くなってきてるし。
まあ普及度はともかくとしてここまでくれば滅ぶことはないな。
0356名無しさん@お腹いっぱい。NGNG
まあ俺は静観してるよ。(ワラ

0357名無しさん@お腹いっぱい。NGNG
ruby-talkは読んでいないけど、
.NET の対応の話とかは出ていますか?

0358名無しのエリーNGNG
GUIプログラミングがもっと手軽にできれば…ってのが願い。
話題のRuby/Gtkもunix環境じゃないとできないみたいだし。
Ruby/tkならWindowsでもできるみたいだけどね。
どちらにしろexeファイルが簡単に作ることができれば
Ruby userになりたい。
0359名無しさん@お腹いっぱい。NGNG
WinでGtkは、配布に向かないんじゃないかな?DLLのサイズが
でかいし、ライセンスはどういうのか知らないけど、「G」が
つくぐらいだから、どうせ厄介なライセンスだろうし。
0360名無しさん@お腹いっぱい。NGNG
>>359
GNU GPLかGNU LGPLだと思います。
普通に使うぶんには厄介ではないです。
0361米国在住者NGNG
今月のDr. Dobb's Journal(25周年記念号)の特集はスクリプティング
言語だ。その筆頭記事が"Programming in Ruby"で失礼ながらちょっと
びっくり。

残りの四つは"PHP & Hosted Apps"、"GUI Construction with Perl"、
"Python's PyQt Toolkit"、"NQL, the Network Query Language"なり。

Rubyもポピュラーになってきたのかと思ったが、DDJは海のものとも山の
ものともつかない技術もよく取り上げるからなぁ…
0362ぎこるびNGNG
>>352
どもです。JavaHouse の向うをはって匿名・フリーメールでの
投稿のみを受け付ける ML でも作ります?(笑)
でも ML ってだけで敷居が少し高いですよね…

>>355
英語が読めれば ruby-talk 読みたいんですけどねー。
逆に英語の勉強のために ruby-talk 読もうかな。

>>358
GIMP for Win32 のサイトに Gtk のライブラリ一式がありますよ。
ruby-list に Windows で Ruby/Gtk するための手順がたしか流れたと思います。
0363名無しさん@お腹いっぱい。NGNG
>>360
GPLはかなり厄介。ソース公開しなくちゃいけない上に、
詳細は非常に複雑で何すればいいのか意味不明。
0364名無しさん@お腹いっぱい。NGNG
具体的にいえ.

その文章だと,自分が理解できないから厄介だ.と
主張しているように読めるぞ
0365名無しさん@お腹いっぱい。NGNG
>>364
文章が難しくて、読んでて非常に苦労する。
色々な条件があって、この場合は、こうしなくちゃいけないだとか、
制約がきつすぎてそれらに引っかかってないかどうかがわからない。
自分が理解できないと言うのもちろんある。

しかし一番厄介なのはソースを公開しなくちゃいけないところ。
へたれだからソースは恥ずかしくて公開したくない。
0366名無しさん@お腹いっぱい。NGNG
とりあえずRuby/Gtkに限った話だと
Rubyで書くと嫌でもソースが出るでしょ?
だからそれでOKなんじゃないかな。
0367名無しさん@お腹いっぱい。NGNG
>>366
なるほど、Rubyならそうなんだね。
Rubyはjavaのclassファイルみたいにコンパイル済みのファイル
を吐けないのか?
0368ぎこるびNGNG
>>367
実行前に内部コードにコンパイルはしているようです。
世代別 GC の研究をしている木山さんが VM の作成も考えてますね。
http://ruri.csys.ce.hiroshima-cu.ac.jp/~masato/diary/diary.html
Java のように先にバイトコードにコンパイルしておくのか、
スクリプトを JIT でバイトコードにコンパイルするのか、
方法は色々あると思いますが、
速度面でメリットがでてこないと使われないでしょうね。
バイナリを作れる rb2c をすすめた方が実用的かも。
http://easter.kuee.kyoto-u.ac.jp/%7Ehiwada/ruby/rb2c/
0369名無しさん@お腹いっぱい。NGNG
RubyをWin32(VisualC++)でコンパイルすると、
警告がたくさん出てくるけど、
これは正常にコンパイルされたとみなしていいのか?
0370369だけどNGNG
nmake test

やったら

not ok signal 1 -- C:/ruby/src/sample/test.rb:814
not ok signal 2 -- C:/ruby/src/sample/test.rb:825
test failed

・・・ダメっぽい。鬱だ寝よう
0371名無しさん@お腹いっぱい。NGNG
以下のソースをコンパイル&実行すると、
rb_define_classが不正な処理で落ちてしまう。なんで??(泣)
ruby-jedのソースを見ると同様な処理があって問題なさそうなのに。
これは自分の環境だけの問題なのかなぁ?
誰か試してほしいです

// main.c
//
// コンパイル方法
// cl main.c mswin32-ruby16.lib
//
#include <ruby.h>
VALUE cFoo;
void main(void)
{
ruby_init();
cFoo = rb_define_class("Foo", rb_cObject);
}
0372名無しさん@お腹いっぱい。NGNG
みなさんWindowsで苦戦してますな。
Rubyが流行らない理由がわかる。
0373名無しさん@お腹いっぱい。NGNG
わかったような気になってる粘着質な煽り君の瞳に乾杯
0374名無しさん@お腹いっぱい。NGNG
たんにあんたの環境でこんぱいるできないだけっしょ。
0375ぎこるびNGNG
>>371
mkmf.rb rbconfig.rb を読んで必要なコンパイルオプションを確認してみてください。
環境によりますが、 -DIMPORT やらが必要だったりするらしいです。
0376名無しさん@お腹いっぱい。NGNG
ruby-1.6.1 持ってきて ./configure して make したら

gcc -g -O2 -rdynamic main.o dmyext.o libruby.a -ldl -lcrypt -lm -o miniruby
/usr/lib/libdl.a(dlsym.o): In function `doit.2':
dlsym.o(.text+0x22): undefined reference to `_dl_default_scope'
dlsym.o(.text+0x4c): undefined reference to `_dl_default_scope'
make: *** [miniruby] Error 1

だってさ、あーもー
linux のありふれた設定でこんなこという configure 久しぶりに見たぞ。
0377名無しさん@お腹いっぱい。NGNG
Win環境でコンパイルしようとすると「rmが無い」
と言われるけど、rmとはなに?
0378名無しさん@お腹いっぱい。NGNG
`R''M`ove file
0379名無しさん@お腹いっぱい。NGNG
UNIX Like Tools
http://www.vector.co.jp/soft/win95/util/se010511.html
Win環境な人はこれを使うとよさそうだ。rmコマンドも入ってたし
0380371NGNG
書き忘れましたがリンクするためのライブラリファイルは
Rubyをビルドし直さないと出てこないようです。
というわけでみなさんRubyを再ビルドにチャレンジしてくれて
いるのだと思います。が・・・うまくいってないようですね。

>374
もともとコンパイルはできるんだって。
>371
なるほど、読んで試してみます
0381名無しさん@お腹いっぱい。NGNG
>>377
delに置き換えな。
0382371NGNG
rb_cObjectの値がruby_init()を呼ぶ前後でまったく
変化していないのがおかしいと、あれこれ調べた結果、
ライブラリのファイル指定が違っていました。
本当は、
cl main.c libruby.lib user32.lib advapi32.lib wsock32.lib
とやるのが正解でした。
お騒がせいたしました
0383名無しさん@お腹いっぱい。NGNG
何もネタなし?
0384名無しさん@お腹いっぱい。NGNG
non-Japanese の Commiter を増やすといいと思うんですがどうで
しょう。Dave さんと Guy さんくらいなら、、、
0385名無しさん@お腹いっぱい。NGNG
そうねぇ。海外のRubyユーザ見てるとすごい人いるしね。

あと国際化(つーかm17n?)は早く進めてほしいナー。

非日本語圏でも人気が出てきてるんで、手遅れになる前に
まともな仕組みを早急に作ってほしい。
PerlとPythonは結局Unicodeになっちゃうらしいので、
僕的には萎え。
Rubyには期待してる。どんな文字コード(?)にも後から
対応できるっていうのはすごい魅力的。

国際化のえらい人たちがもっと参加してくれると
うれしいなー。
0386名無しさん@お腹いっぱい。NGNG
>>385
?RubyもUnicodeになるらしいよ。
それが一番いいってことじゃない?
0387名無しさん@お腹いっぱい。NGNG
>>384
commitできたとしても、まつもとさんの手に負えない分野(Winとか)じゃない
限り、「Let's discuss」になるんだったら意味ないんじゃないのかな。
>>386
RubyはUnicodeにゃならんって。ちゃんとML(ruby-devとruby-talk)読んでる?
0388名無しさん@お腹いっぱい。NGNG
>>387
discussの機会が増えるのはいいことじゃないかな。
有益な意見も増えるだろうし。
そゆことじゃなくてですか?

>>386
もしかして勘違いしてるかもしれないので念のため書いて
おくと、UTF-8とUnicodeは違うものだそうだよ。
(実は僕も数週間前まで同じだと思っていたのは内緒だ)

それにUnicodeであれなんであれ、内部コードを決めてし
まうっていうのは、その枠組みでしか文字を扱えなくなる
ってことで、ASCIIしか扱わない人はいいけど、日本語を
扱いたい人にとっては柔軟性の欠如によるデメリットの
ほうが大きいんじゃないかな。

Muleは健闘してるみたいだけどね。
0389ぎこるびNGNG
Unicodeは文字集合、UTF-8はエンコード実装になるんでしたっけ?
UTF-8は日本語一文字3バイト使うのがいただけないですね
個人的にはM17N、I18Nよりも標準GUIをどうするかが興味あります。
JavaのAWTみたいなのができると嬉しい。
0390ぎこるびNGNG
今更ながら。XP の test-first design って面白いですね。
テスト熱中症になるってのもわかる気がする。
http://www.pragmaticprogrammer.com/ruby/articles/pink/
0391名無しさん@お腹いっぱい。NGNG
>>389
じゃあ僕も下げつつ。

GUIの件については、良くも悪くもUNIXから受け継いだものが
大きいから、Javaみたいに閉じた互換性(失礼!)の世界は
作らないんじゃないのかな。

GTK+とかがWin32にも移植されつつあるし、そういうものとの
親和性を高めてくれたほうが僕はうれしいな。
GladeとかVisualTclTkとか、既存の周辺ツールが使えそうだし。

あとはDBやXMLまわりが_さらに_強力になってくれるといいねぇ。
0392名無しさん@お腹いっぱい。NGNG
そういやDave&Andy本の邦訳は来春に出るらしいね。

原書を見たけど、ありゃ今までのRuby解説書で一番いいかも。
構成が、カバーする範囲・順番ともしっかりしてるし、後半の
リファレンスも見やすい。プロの物書きの仕事だな。
本にうるさい人も、あれなら満足するかもしれない。

ピアソン日本はXP本の邦訳のクオリティでミソつけたみたいだけど、
本国ではいい本を量産してるので、今後はしっかりやってほしいね。
出たら即買いするから、がんばってよ!>担当者
0393ぎこるびNGNG
1.6.2リリースあげ。

>>391
ソースをいじらずにWinとUNIXとMacで同じように
動くGUIアプリが作れるのが理想です。
僕のイメージとしてはJDBCやDBIのGUIライブラリ版かな。
ただ、数あるGUIツールキットをすり合わせて、
統一的に扱えるような仕様を決めるのは大変だろうし、
ブリッジするドライバ書くのも面倒ですね。
だからJavaのやり方が最善だと思うんですけどね。
Swingのように閉じさせた方がライブラリ作るのも使うのも楽かなと。

>DBやXMLまわり
RDBCかDBIが完成すれば便利なツールが出てくるかも。
XMLで足りないのはXSLとSVGのプロセッサですかね。
RubyでXMLアプリのプロトタイプをさっくり作ってJavaに移植、
ってのができるようになると嬉しい。
0394ぎこるびNGNG
>>392
Ruby本もRubyプログラミング入門もリファレンス機能が弱いですからねえ。
肝心のデスクトップリファレンスも何か本が堅くて物理的に使いづらいし(笑)
0395391NGNG
1.6.2やっと出てうれしい。

>>393
強力な人がやる気になれば、Ruby/JavaAWTとか出来てしまうかも?

>>394
そうだねぇ〜。1.6完全対応のRefManほしいねえ。
NaHiさんとこのWikiで更新作業が進行中だから、
とりあえずあれを使わせてもらおう。
でも、オフィシャルサイトのトップからたどれな
いのが残念。

あと、原さんの本は2刷では索引が改善されて引
きやすくなったみたい。
http://www.ruby-lang.org/~sinara/nyumon/data/index-001109.txt


なんか2chで書く内容じゃないな。
本当にruby-newbieリストがほしいぞ。
0396デフォルトの名無しさんNGNG
2タブは見にくい。。。4タブにしてる。
0397ぎこるびNGNG
>>395
amazon.co.jp で Dave&Andy 本注文しちゃいました。
ページ数からいうと5000円は高くないかも。
ruby-newbieほしいですねえ。どこかフリーのMLで作ります?
人が集まるかどうかわかりませんけどね。
yet anothoer Ruby-ml になりそうだったここも停止してますし。
http://www.progwin.com/ruby/

>>396
僕は関数名や変数名が長くなりがちなので、Cも2タブです。
0398ぎこるびNGNG
うーtypo
r397.sub!(/anothoer/, "another")
0399perlスレの60NGNG
英語で書かれたファイルを読み込んで全部英語小文字にするスクリプトは
rubyではどうなるの?
0400虹NGNG
ruby -n -e 'print $_.downcase'
0401ぎこるびNGNG
ruby -p -e '$_.downcase!' foo.txt > bar.txt
かな。
0402虹NGNG
>>401
自分も最初そう書こうと思ったんだけど、bashで!のエスケープの仕方が
わからずにやめました。
0403ぎこるびNGNG
>>402
シングルクォートで囲んでいるならエスケープしなくても大丈夫ですよ。

http://www.bagley.org/~doug/shootout/craps.shtml
Ruby健闘。ocamlって言語が何者なのか気になります。
0404虹NGNG
>>403
シングルクォートで駄目だったのですが…。
0405デフォルトの名無しさんNGNG
>>403
PikeもLuaも知らんぞ。
つーか、このページ何よ。
0406ぎこるびNGNG
>>404
うーむ。SolarisとCygwinで試しましたけど、
シングルクォートなら大丈夫でしたよ。

>>405
PikeとLuaはCマガの去年の10月号で紹介されてました。
Rubyなどと同じようにスクリプト言語みたいです。
PikeはCやC++によく似た構文の言語で、
LuaはTclのような拡張言語ということです。
このページは何かruby-talkで話題になっていたらしいです。
Rubyの正規表現マッチングの速度はPerlにだいぶ負けてますね。。。
0407名無しさん::お腹いっぱい。NGNG
>>403
Objective Caml。MLの末裔。

http://caml.inria.fr/ocaml/
0408デフォルトの名無しさんNGNG
Marshalモジュールを使い2つの文字列を一つにまとめ、
その二つの文字列を再び取り出すという処理を
ファイルに出力しないで行う方法を調べています

次のように一旦ファイルに出力すると順次読み込む事は可能ですが、

str = Marshal.dump("A") + Marshal.dump("B")
f = File.open("dummy", "w+")
f.print str
f.pos = 0
p Marshal.load(f)
p Marshal.load(f)
f.close

次の方法だと2回目のloadでも当然文字列"A"が返ってきて"B"は取り出せません

str = Marshal.dump("A") + Marshal.dump("B")
p Marshal.load(str)
p Marshal.load(str)

strをload用にsplitするようなメソッドは
なさそうですし、なんか無理そうですね。
0409ぎこるびNGNG
>>408
IO の場合は読み込み位置が移動しますからね。
文字列を配列に入れてから Marshal.dump するのじゃだめですか?
0410408NGNG
>>409
ぎこるびさんのいうとおり一旦配列にして処理するようにしました
こうすると復元も一発なので楽ですね

ふと、気づいたのですが、

ary = ["A", "B"]
str = ary.inspect
p eval(str)

こうやってもdump/load相当の処理ができますね
この場合、おそらくevalで復元できる保証はないんでしょうけど。
0411ぎこるびNGNG
>>410
んー、それで上手くいくのは、inspect がオブジェクトと同値の
Ruby の構文を出力する場合だけですよね。
たぶん組み込みの数値、文字列、配列、ハッシュくらい。
自分で定義したクラスも永続化させたいなら、
やっぱ Marshal 使うしかないですね。
0412デフォルトの名無しさんNGNG
p eval "{'foo'=>1}.#{Array(['invert']*100000).join('.')}"
1.6.2でこんな無意味なコード書いてたらWindowsの不正な処理で落ちました(藁
どんなまずい状況でも正しいエラー表示して終わってほしいですね
0413ぎこるびNGNG
>>412
Ruby1.6.2/Cygwin1.1.7/Win2Kな環境で試してみました。
*26000ちょっとで無言落ちしますね。それ以下ではcore吐きます。
ただ、この文の前に print 1 などと入れておくとちゃんとcore吐きます。
ちなみにRuby1.6.2/Solaris7な環境では、*12930以上でSEGVして、
それより小さいとSystemStackErrorでした。
412さんのRubyがmswin32版ならRubyのバグでしょう。
Cygwin版ならCygwin側の問題の可能性もありますよね。
どちらにせよ僕には問題個所の特定はできませんが・・・
わたなべさんか中田さんにこそーりメールを送ると吉かも(笑
0414Ruby初心者NGNG
Ruby初心者です。
Rubyを実用的に覚えるために、gnome appletで、日本時間とUTC時間を
表示するようなものを作りたいですが、どこかに参考になるようなサンプル
ありませんか?
プログラミング経験はありますが、gtkはかじったぐらい。です
0415ぎこるびNGNG
>>414
Gtk、GNOME関連はここです。
http://www.ruby-lang.org/gtk/ja/
ただし、GNOMEへの対応はexperimentalレベルなので
GNOME Appletが作れるかどうかは分かりません。
ドキュメントも整備されてないですし。。。
Ruby/Gtkメンテナにメールを出すと詳しいことが分かると思います。
0416ぎこるびNGNG
MediaWatch@2ch
日経ソフトウェアのごとけんさんの記事。ちょっと詰め込みすぎな印象でした。
pやto_sメソッドの利便性は使ってみないと実感できない話だと思います。
とにかく使ってみたいと思わせるならば、
eRuby+DB接続、XMLパーサなんて話題がキャッチィだったかなあと。
PHPやPerlとためがはれて、OOなのでそれらよりも書きやすいという流れなら、
チェックしておくかと思わせることができるんじゃないかな。
0417デフォルトの名無しさんNGNG
eRubyのmswin32版バイナリってどこかで公開されていないでしょうか?
自分でもMAKEFILEを何度も修正したりしてなんとかビルドしてみたのですが、
正常なリンクができていないようで、起動時に、プログラムが大きすぎて
起動できないとかいうWindowsのエラーメッセージが出てきてしまうんです。
0418デフォルトの名無しさんNGNG
256本ってRubyUnitの事しか載ってないの?
本一冊分をUnitで埋めるほどには書く事ないような...
0419デフォルトの名無しさんNGNG
>>412-413
こそーりBTSに‥‥。
0420412NGNG
>>413
レスが遅れましたが、自分が使っているのはmswin32版です。
普通の使い方してたら出ないバグなので、こそーり報告やめとこ。
報告しづらいし。
>>419
BTSってなんでしょ?
0421デフォルトの名無しさんNGNG
今NHK「クローズアップ現代」でやっているage
0422名無しサンプリング@48kHzNGNG
>>421
ちょうど終わって
世界丸見えが始まった。
rubyの開発者の松本さんって
国からお金もらってがんばってるみたいだね。
ぜひともANSI規格になって欲しいものだ
0423名無しさんは見た!NGNG
http://www.ipa.go.jp/NBP/12nendo/12mito/mitoupress.htm
これやね。
0424デフォルトの名無しさんNGNG
しかし。なんかいかにも職業プログラマ的発想が並んでいる気が。
0425ぎこるびNGNG
>>417
mingw32 版なら http://jarh.hoops.livedoor.com/ にありますが、
mswin32 版はわかりません。

>>418
http://mentai.2ch.net/test/read.cgi?bbs=prog&key=960615378&st=196&to=196&nofirst=true
とのこと。僕はまだ入手してませんです(学校の生協待ち)。

>>419
そういえば、匿名でレポートできるんでしたっけ。
利用者やたら少ないですけど。

>>420
Ruby Bug Tracking System です。
http://www.ruby-lang.org/cgi-bin/ruby-bugs-ja

>>421
Perl を Pearl と書いた NHK に萎え萎えです。。
0426デフォルトの名無しさんNGNG
再放送期待age
0427デフォルトの名無しさんNGNG
クローズアップ現代は絶対再放送しないsage
0428>427NGNG
ふざけんなゴルァ!! 税金返せ
でも気が小さいのでsage
0429デフォルトの名無しさんNGNG
坂村健のいつでもアンチアメリカなところにAGE。
最近のくろーずあっぷ現代は大衆を洗脳する意図が見られるので
SAGE。
0430名無しさん@お腹いっぱい。NGNG
月曜日のクローズアップ現代、ダイジェストだれかかいて希望。
0431デフォルトの名無しさんNGNG
簡単に言うと面白くなかった。
だめっぽい。
0432>430NGNG
http://blade.nagaokaut.ac.jp/ruby/ruby-list/27201-27400.shtml
0433くろーずあっぷ現代NGNG
世界で始めての画期的技術を開発する日本人天才プログラマー
風の大げさで嘘っぽい説明が多かったな(笑)
C言語では画面いっぱいのソースが必要なところをRUBYなら1行とか(笑)
いくらなんでもそんなのばかりじゃないのにさ。
くろーずあっぷしすぎだぜNHK。
0434デフォルトの名無しさんNGNG
>>428
NHKは国営放送ではありません公共放送です
みなさまの受信料で運営されております
受信料ちゃんとはらってるか?
0435デフォルトの名無しさんNGNG
NHK受信料払ってないけど見たかったなぁ
0436デフォルトの名無しさんNGNG
こんなスレたってるぞ。
http://piza.2ch.net/test/read.cgi?bbs=tech&key=980786239
オレはもちろんRuby派だぜ。
0437デフォルトの名無しさんNGNG
>433
馬鹿だな。NHKは。
C言語とRuby比べてどうすんだよ(藁
これじゃ他の話題もマユツバもんだな。
受信料支払う価値なし。
0438デフォルトの名無しさんNGNG
Cでも関数にまとめれば1行
ついでにCはコンパイラ言語だしな
さらにrubyは山のようにあるスクリプト言語のひとつにすぎんしな
NHKの制作担当者逝って良し
0439デフォルトの名無しさんNGNG
>437,438
激しく同意

C言語がつくられたのは1972年、C++は1982年
そんな昔からある言語と比べてなんの意味があるんだろ
せめて他のオブジェクト志向言語と比較しなければ意味ないよ
0440デフォルトの名無しさんNGNG
>>439
年代はともかく、CとRubyの用途はまったく違うぞ。
Rubyはオブジェクト指向とか言ってるんだから
他のオブジェクト指向とか言ってる言語と比較しないとね、、、
0441デフォルトの名無しさんNGNG
>>440
NHKはオブジェクト指向という言葉を知らなかった、に一票(藁
0442デフォルトの名無しさんNGNG
ruby-mode.el どこで手に入りますか?
ご存じの方教えて下さい。
0443デフォルトの名無しさんNGNG
>>442
ソース(ruby-1.X.X.tar.gz)のmiscフォルダにあるよ
0444デフォルトの名無しさんNGNG
なぜNHKは受信料を受け取っているのにゴールデンタイムの番組の
スタッフにパソコンに詳しい人材を入れられないのか。
NHKは中途半端に民放の影響をうけて"おーいにっぽん"のような糞番組しか作れなくなっている。
0445417NGNG
eRubyのmswin32版バイナリ探しまわってもやっぱどこにもないです
そもそもWindowsでRuby使っている人が少なすぎ。
もしかしてWindowsユーザーでeRuby使いたいって思ってるの自分だけなのか?(鬱
0446ぎこるびNGNG
>>445
mswin32版はイバラの道なのでCygwin版使っちゃうんですよね。。。
ここの人にメールを送って頼んでみては?
http://www.geocities.co.jp/SiliconValley-Bay/4076/
0447442NGNG
ありがとうございました。>443
0448デフォルトの名無しさんNGNG
これから始める人には何を勧めますか?
Perl,Python,Rubyとかで
あ、わたくし無知ですので軽ーく指南して下さる感じで
0449デフォルトの名無しさんNGNG
>>448
Perlに決定じゃ。

http://www.context.co.jp/perlnews/bn/
http://wakusei.cplaza.ne.jp/twn/wwwperl.htm
http://www.att.or.jp/perl/
0450デフォルトの名無しさんNGNG
御指南有り難うございます
0451デフォルトの名無しさんNGNG
>>448
漏れ的にはRubyをお勧め。
と言っても漏れはRubyに惚れてるので冷静な意見ではありません。

Perlも悪くないのですがでかいプログラムを組もうとすると死にます。
Rubyは破綻が少ないので脳みそが楽。
でも標準装備ISPが少ないなど普及度に問題があります。

そんなとこかな。Pythonは未使用なので悪しからず。
0452デフォルトの名無しさんNGNG
>>448
自分は日頃Ruby使ってるけど初めて使う人にはPerlをお勧めするかな。
だって今、RubyやPython使ってる人は基本的にPerlから習得していったでしょ?
0453デフォルトの名無しさんNGNG
>448
3つとも使ってたが、PerlじゃなければRubyでもPythonでもいい。
0454名無しさんNGNG
Pythonなら、Iriaとかのマクロを組むのに使える可能性がある。
0455デフォルトの名無しさんNGNG
WindowsにRuby/Gtkをインストールしようと悪戦苦闘すること3時間。
もうあきらめました。もういいです。
Windowsに入れようとした自分が無謀でした。ごめんなさい。
0456デフォルトの名無しさんNGNG
誰か Ruby で Linux のインストーラ書いてくれ…
0457デフォルトの名無しさんNGNG
PythonがRedHatのインストーラに使われてるから?
0458デフォルトの名無しさんNGNG
そいえば、RubyでZopeっぽいのってあるの?
Wiki系はあるみたいだけど。
0459デフォルトの名無しさんNGNG
Rubyを256倍使うための本(極道編)購入age
0460デフォルトの名無しさんNGNG
>>458
webapp to iu koto nara, IOWA ga aruyo.
WebObjects like rashii.
ruby-talk de moriagatteru yo.
0461デフォルトの名無しさんNGNG
おれもRuby極道になった。
testall.rbの書き方とかquiet-modeとか結構参考になったぞ。
04621NGNG
1
0463デフォルトの名無しさんNGNG
IOWAのホームページを見てきた。
http://beta4.com/iowa/

まだ、preview releaseだったが、
コンセプトに激しく同意。
特にロジックとプレゼンテーションの分離に萌えた。
0464デフォルトの名無しさんNGNG
http://iowa2.listbot.com/
しかし、メーリングが盛り上がってない
萎え。。
0465デフォルトの名無しさんNGNG
>>464
ruby-talkでやってくれ、っていう要望が多かったから。みんな
そっちにメールしてる。
0466デフォルトの名無しさんNGNG
「オブジェクト指向スクリプト言語Ruby」の
英訳本っているでるの?
「Programming Ruby」が読み終わるまでにでてほしい。。
0467デフォルトの名無しさんNGNG
今のとこ一番詳しい本って何?
やっぱ、「オブジェクト指向スクリプト言語Ruby」
を読むのが一番かな?
0468デフォルトの名無しさんNGNG
Rubyをアプリに組み込んでるけどGC発動が原因のようで
しばらく動作させていると謎のエラーが起きることがあります
(GCを無効にすると起きない)
README.EXT.JPを読むとRubyオブジェクトを指す変数はGCの為に登録するように
書いてあって、そのとおりにしているんだけどなぁ
組み込み用のもっと詳しいドキュメントないのかな
0469456NGNG
>457
そうっす。例外投げてインストーラがお亡くなりになるのはもう見たくないかも。
…つーてもこれは anaconda のせいで Python のせいじゃないか…
0470456NGNG
>>457

gt は二つ要るのか… 2ch は最近きたばかりだからよく分かってなかったッス _o_
0471デフォルトの名無しさんNGNG
Dave&Andy's "Library Reference" goes Open Publication, age!
http://www.ruby-lang.org/en/raa-list.rhtml?name=Library+Reference
0472459NGNG
256極道編まだ3分の1しか読めてないけど、
最初にテストルーチンを書いて失敗するのを確認してから正しいコードを書くとか。
勉強になりますなぁ
0473デフォルトの名無しさんNGNG
みんな、Rubyって食わず嫌いしているみたいだけど実はPerlより美味しいぞ。
とりあえず↓いってダウンロードしてインストールしてみ。
http://www.ruby-lang.org/ja/install.html
それで、わからんことあったらここでなんなりと聞いてみ。
たぶん、ぎこるびさんとかがやさしく教えてくれると思うから。
0474見てた人NGNG
>>473
Rubyは始めて見たとき凄いなあ&日本語だぁでインストールしてみました、
Ruby/GTKも入れてGUIアプリ書こうとしました。

どっかにも書いたけどここでも書く。
Rubyが嫌な理由。

Thread.start
{
}
これがエラーになる。
これがすごく腹が立つ。
# コンピューターは難しすぎて使えないに書いてあるけど
# '{'と'}'をこう書くのは私の個人的目標なのです。
# # 馬鹿にされてるイメージというかそんな感じです。
# # 読んだことない人はぜひご一読あれ。
私 > cat thread_start_test.rb
Thread.start
{
}
私 > ruby thread_start_test.rb
Ruby > parse error
私 > (もう一度パースさせる)
Ruby > parse error
私 > (さらにパースさせる)
Ruby > parse error
ぱーすえらーだとさ。
何でこんなことも出来ないの?
馬鹿じゃん。。。。
これが出来れば言うことなしなんですけどね。

Makefileにアンインストールターゲットがないことを知ってから
Rubyをインストールする時は、
./configure --prefix=/tmp/ruby
とやってます。
/usr/localなんかしたら手動で消さなきゃなんないし。
自分のHDDに寄生されてる気がしてくる。だから隔離する。

ついでに言うとRubyってドキュメント少ないですね。

朽ち果てるまでparse error言ってろ。>Ruby
Ruby > parse error
Ruby > parse error
Ruby > parse error
Ruby > parse error
Ruby > parse error
Ruby > parse error
Ruby > parse error
.....
0475見てた人NGNG
>>473
Rubyは始めて見たとき凄いなあ&日本語だぁでインストールしてみました、
Ruby/GTKも入れてGUIアプリ書こうとしました。

どっかにも書いたけどここでも書く。
Rubyが嫌な理由。
# Ruby 1.6.2を使っていました。

Thread.start
{
}
これがエラーになる。
これがすごく腹が立つ。
# コンピューターは難しすぎて使えないに書いてあるけど
# '{'と'}'をこう書くのは私の個人的目標なのです。
# # 馬鹿にされてるイメージというかそんな感じです。
# # 読んだことない人はぜひご一読あれ。
私 > cat thread_start_test.rb
Thread.start
{
}
私 > ruby thread_start_test.rb
Ruby > parse error
私 > (もう一度パースさせる)
Ruby > parse error
私 > (さらにパースさせる)
Ruby > parse error
ぱーすえらーだとさ。
何でこんなことも出来ないの?
馬鹿じゃん。。。。
これが出来れば言うことなしなんですけどね。

Makefileにアンインストールターゲットがないことを知ってから
Rubyをインストールする時は、
./configure --prefix=/tmp/ruby
とやってます。
/usr/localなんかしたら手動で消さなきゃなんないし。
自分のHDDに寄生されてる気がしてくる。だから隔離する。

ついでに言うとRubyってドキュメント少ないですね。
さらに言うと、ソースもとても参考にさせてもらってます。
# 誰かパッチ作って。
# でも、parse.yを見てると改行を構文として使ってるから難しいのかな。
# それと量が多すぎる。メソッド呼び出し時に'('と')'を省略出来ないようにして
# 行末の';'も省略できないようにすれば結構小さくなると思うんだけど、、、

朽ち果てるまでparse error言ってろ。>Ruby
Ruby > parse error
Ruby > parse error
Ruby > parse error
Ruby > parse error
Ruby > parse error
Ruby > parse error
Ruby > parse error
.....
0476474 and 475NGNG
2回書いちゃいました。
0477デフォルトの名無しさんNGNG
a=[0]; b=[a]; a[0]=b
で朽ち果てるけど、これは仕様?
0478473NGNG
>>475
愚痴を言われてもなぁ。Rubyの思想に共感できない場合は
辛いだけだと思うので無理に使わないほうがいいですよ

>>477
朽ち果てないよ。1.6.2で確認。
0479デフォルトの名無しさんNGNG
Rubyっていい言語なんだろうけどさ、他の言語を誹謗中傷したり、
Ruby信者に洗脳するかのような、まつもとの語りっぷりが気に
食わない。
ちょっとでもRubyを叩くと信者が怒り出すし、なんか嫌だな。
良い言語である以上仕方がないのかもしれないけどさ。
0480デフォルトの名無しさんNGNG
RubyってCGIとone-liner以外に使われてるの?
0481デフォルトの名無しさんNGNG
誹謗中傷、洗脳ってどんな?
0482デフォルトの名無しさんNGNG
>>481
ここのことじゃない?↓
http://www.ruby-lang.org/ja/compar.html
0483デフォルトの名無しさんNGNG
>知る人ぞ知るオブジェクト指向言語であるEiffelとRubyを比較すると:
>対象とする範囲が違いすぎる(ならリストにいれるなよ ^^;;;)

>いろいろと有名なオブジェクト指向言語であるC++とRubyを比較すると:
>C++なぞ問題外.^^;;;

すげーいちゃもんのつけっぷりだな
いくら高速化してもC++の数十分の一の速度しかでないぞ。
得意分野が違うなら、比較すんなよ。って感じだな。
0484デフォルトの名無しさんNGNG
便利と思い、使いたいと思う人が使えばいいだけのことであって、
自分が使わない理由付けを無理にするあまり、その言語、あろ
うことか、その作者までを貶めようとする、その精神が理解できません。
0485デフォルトの名無しさんNGNG
>>484
その言葉、Ruby信者にも言えよ。
0486484NGNG
>>485
特に、誰に対して、という限定はしておりませんけど、
何か、文句でもあんのか、ゴラァ
0487デフォルトの名無しさんNGNG
>>486
ここは2chだ。貶されて当然だ。
0488デフォルトの名無しさんNGNG
> http://www.ruby-lang.org/ja/compar.html
LispとObjective-Cも入れて欲しかったな。

しかし、これくらいで誹謗中傷と言われるのはどうかと思うぞ。

0489デフォルトの名無しさんNGNG
>>488
Lispじゃさすがに違いがありすぎて比較できんだろ…
俺的にはAdaをいれて欲しかった。
0490( ´∀`)NGNG
>>483はC++しかできないの?
0491デフォルトの名無しさんNGNG
この世にRuby以外の言語は必要ありません
0492デフォルトの名無しさんNGNG
Perl,Python,assembler,C,Java,Lisp に代わる
21世紀の言語がRubyなのです!
0493デフォルトの名無しさんNGNG

C#...
0494まつもたNGNG
C#なぞ問題外...
0495デフォルトの名無しさんNGNG
※Mind...
0496デフォルトの名無しさんNGNG
>>491
Rubyをmakeできないじゃん。
しょせんスクリプト。
0497>496NGNG
RubyでCインタプリタ作ってビルドするのさ
0498デフォルトの名無しさんNGNG
この世にRubyという言語は必要ありません。
0499デフォルトの名無しさんNGNG
Rubyなぞ問題外...
0500デフォルトの名無しさんNGNG
>>496
RubyでRubyを書く計画が進行中。もうじきCは不要に・・・
0501デフォルトの名無しさんNGNG
>>500
遅くならないかどうか心配…
それに、RubyのCソースが使えなくなるのは嫌だな…
0502デフォルトの名無しさんNGNG
>>500
JPythonのようにJava実装をつくってるひとはいないの?
0503デフォルトの名無しさんNGNG
なんでRAAには日本語のページがないんじゃーーー。
あと、日本人が作ったパッケージなのに、アーカイブに
日本語のドキュメントが無いやつもある。
README.jaくらい用意しとかんかい!

・・・という内容のメールをMLに流そうと思ったんですが、
思いとどまりました(^^;
0504デフォルトの名無しさんNGNG
>>503
そだよね。激しく同意。
ただ、ruby-talkの盛り上がりを見てると、
英語のリーディングをなんとかせねば、とおもふ。。
0505デフォルトの名無しさんNGNG
>>503
あー、それ俺も不満。
なんか、うまい言葉が見つからないが、「気取ってる」っていうか、
そんなかんじ。
そういう雰囲気が、アンチを増やすのかな。
0506デフォルトの名無しさんNGNG
Windows使ってる人から見ると、拡張子をtxtじゃなくてjaにしてる
だけでも上級者気取りに見える。
0507デフォルトの名無しさんNGNG
日本語ドキュメントしか書かなきゃ
「所詮極東の島国のソフトは世界じゃ普及しねー」言われて
英語ドキュメントしか書かなきゃ
「気取ってる」言われて
両方入れても
「拡張子jaにしてるん気取ってる」言われて
所詮文句言う人間は尽きねーつー事ですか。
0508デフォルトの名無しさんNGNG
>>502
素朴な疑問。Javaで作って何の意味があるの?
0509デフォルトの名無しさんNGNG
>>507
両方書いて両方txtにすればOK。
0510デフォルトの名無しさんNGNG
というか、英語版と日本語版を別にして配ればいい。
0511ぎこるびNGNG
>>500
RubyVMの話ですね。
僕の英語力じゃruby-talkは追えないので
誰かが経緯をまとめてくれるのを待ってます。

>>508
Javaから簡単にRubyを使うことができるようになります。
Javaも正規表現ライブラリがあるし、
どこまで必要性があるかはわかりません。

>>509
ですねー。僕の場合は README.ja.txt と README.en.txt にしてます。
en は excite さんに書いてもらってますが(笑
0512ぎこるびNGNG
オブジェクト指向少女Rubyちゃんサイト移転上げ。
ttp://www.clio.ne.jp/home/web-i31s/Flotuard/Ruby/rubygirl/rubygirl.html
ごめんなさい(笑
0513デフォルトの名無しさんNGNG
Jpythonって、てっきり、pythonでソースを書いて、
Javaのバイトコードを吐くのかと思ったけど、違うの?
0514ぎこるびNGNG
>>513
ですね。511はRubyの機能といえば良かったかな。
http://www.jython.org/cgi-bin/faqw.py?req=show&file=faq01.001.htp
0515デフォルトの名無しさんNGNG
昨日Ruby Entry Package for Win32入れました。
少なくとも数式電卓としては使えそうで嬉しい。

でもRubyの作者に好感を持てないのがいまいちだな。
俺は「Rubyと他言語の比較」を読んで作者を嫌いになったよ。
自分に有利な比較しかしてないような印象をうけるんだよね。
なんかTRONの坂村って人を思い出しました。
0516デフォルトの名無しさんNGNG
>>515
よく知らんけど、あれは半分以上冗談でしょ?
何をマジになってんのか知らんけど(藁
俺は笑いながら読んだよ。あんなの真に受けてるのお前だけだよ
0517デフォルトの名無しさんNGNG
感じ悪いって言った人の感じをなおさら悪くしてどうするんだ。
あれは、冗談は冗談でも、rubyがもっとマイナーだったころの内輪ネタみたいなもんでしょ。
一般ユーザーにはそういうところも感じ悪く映る。
ここまでメジャーになってきた以上、あのページは削る一手だと思うがな。
0518デフォルトの名無しさんNGNG
>>517
君はとっても良い人だ、好印象♥
0519デフォルトの名無しさんNGNG
>>515
でも作者が気に入らないとか言ってたら、切りがないですよ。

OpenBSDのTheo de RaadtやqmailのDJBは偏屈だし、namazuの高林さんも
GNU至上主義だし、そのGNU ProjectのRMSは誰もが認める変人。Perlの
Lally Wallはアニメオタクのくせして「Perlはポストモダンな言語である」
なんてアホなこというし。

というわけで、作者の好き嫌いとソフトを使うかどうかは切り放して
考える方がいいと思います。
0520デフォルトの名無しさんNGNG
>>519
>アニメオタク
本当なんですか!?
びっくり。
0521519NGNG
>>520
本当です。これ、http://lwn.net/2001/features/LarryWall/に

CL: First of all, how do you like it in Japan?

LW: Oh, I like it a lot. But I've been here once before, at Tokyo, and my family watches a lot of anime, "Otaku desu"
("I'm a nerd" in Japanese :-) So in many ways, everything seems so familiar, even before I never came here. It seems
interesting, still.

という部分があります。追加すると、fetchmailの作者で「伽藍とバザール」
を書いたEric Raymondはガンマニアですね。

と、ソフトウェアの作者の考えや好みには「ちょっと……」と思う部分も
ありますが、書いた文章を読んだりすると悪い人でもないみたいですし、
気にしないでソフトを使ってます。
0522デフォルトの名無しさんNGNG
>515
>俺は「Rubyと他言語の比較」を読んで作者を嫌いになったよ。
>自分に有利な比較しかしてないような印象をうけるんだよね。

作者はそれについて

>独断と偏見に基づいていますが、嘘を広める意図はないので、間違い、訂正、
>補足などあれば [email protected]まで。

と書いているので意見すれば?
0523デフォルトの名無しさんNGNG
 tab
0524デフォルトの名無しさんNGNG
  tab
0525なんでもいいけど名無しさんNGNG
Ruby すれなんかあったんだ。ってか PG スレ見てなかった(汗)

>>503
ある種の戦略じゃないかな?
英語のみとかしてるの簡単なものの場合ばっかだし。
やっぱ世界レベルでデファクトスタンダードにならなきゃ広まりにくいってことかと。

ま、難しいのに関しては日本語で色々書いてくれてるし私は一応満足かな。
RWiki とか Racc なんて、英語圏の人が作ってたら理解出来なんだよ、きっと。

で、海外もだんだん活発になってるようで。
DDJ に載ったらしいのと Dave & Andy 本が online になったのとのせいか、
ruby-talk 100mail/day ぐらいいってるし… エグい(汗)
0526デフォルトの名無しさん NGNG
ほんと初心者の質問ですいません。
requireで *.rb以外の拡張子って呼び出せないんですか?
オブジェクト指向スプリクト言語Rubyの中のライフゲームのやつですけど・・。
0527515NGNG
えーと、言語自体には好感を持てたが作者自身には良いイメージを
持てなかったので、他の人はどうなんだろうなと思って書きこみし
ただけなんですが、書き方が不味かったせいで、不快な思いをさせ
てしまった方もいるようでなので謝ります。

>>156
>よく知らんけど、あれは半分以上冗談でしょ?
俺もそう思います。でも対Perl辺りは真面目に書いてあるので
冗談か本気かわかりませんでした。

>>517
丁寧なレスありがとうございます。よく分かりました。
急にメジャーになったのかな?俺はテレビでRubyのこと
を知ったんで、そこそこメジャーな言語なんだろうと思って
HPを見てました。

>>519
>でも作者が気に入らないとか言ってたら、切りがないですよ。
ええ、そうですね。でも作者も好きになれれば、それに越したこと
はないのですが。

まつもと氏のこういうところが好きだって所ないですかね?
俺はRubyのエラーメッセ−ジが思ったより丁寧だったので少し
見直しました。


>>522
>>独断と偏見に基づいていますが、嘘を広める意図はないので、間違い、訂正、
>>補足などあれば [email protected]まで。
>と書いているので意見すれば?
別に嘘が書いてある訳ではなさそうですし、補足を付けられる程の
知識もまだ無いので、今のところ意見する気はありません。それに
515で書いたことぐらいは自覚した上でやっているのでしょうから、
送っても大きなお世話なだけでしょう。


--
#ちなみに俺はRubyを調べて始めて数日なのでRubyもまつもと氏の
#ことも良く知りません。

0528デフォルトの名無しさんNGNG
ま、作者の人格やなんかはともかくとして、あのUnix至上主義
はちょっと困ると思うんですが。
あと、前に私がPythonのメーリングリストに入ってた頃、たまに
煽りに来てましたね。あれは見苦しかった。まだやってるのかな?
0529デフォルトの名無しさんNGNG
>>527
ちょいと前に Perl/Ruby Conference というのがあって、それの記事が
そこらへんに転がってるので探してみるといいかもしれません。< vs Perl

ま、人格は直接知ってる訳じゃないのでよくわからんかな、と逃げておく。
ML でたまに話してるけど、あまり好感は持ってないということで。


>>528
UN*X 至上主義は、やっぱ Win でも UN*X でもいろいろやってると
程度の差はあれ多少はなりやすいかなと思いますね。

C++ も使ってるけど、しょーもないことが隠蔽されててそれを調べるのに
丸2日とか使った日にはもう嫌になりますし…。
あ、あと、無断 Ver.UP &無断仕様変更とか…………。
0530Rubyに関係ないけどNGNG
>>528
> ま、作者の人格やなんかはともかくとして、あのUnix至上主義
> はちょっと困ると思うんですが。

でもマルチプラットフォームを追及してJavaみたいになっても使いづらいし、
難しいですよね……。
0531デフォルトの名無しさんNGNG
羊本(?)のライブラリ編が出てた。
さすがに、お布施する気にはなれなかったよ。
0532527NGNG
>>528
>ちょいと前に Perl/Ruby Conference というのがあって、それの記事が
>そこらへんに転がってるので探してみるといいかもしれません。< vs Perl

情報ありがとう。ちょっと検索してみたけど、会議のお題目の概要くらいしか
見つけられなかった。まあPerlからの移植をやるわけではないので、これ以上
突っ込むのはやめておきます。お題目を見るだけでも結構面白かった。
0533デフォルトの名無しさんNGNG
ttp://www.amazon.com/exec/obidos/ASIN/020171096X/o/qid=983261616/sr=8-2/ref=aps_sr_b_1_2/103-3758797-6880639

Ruby英語本、第二弾。。
0534デフォルトの名無しさんNGNG
>>531
羊本ってデスクトップリファレンスの事?
にしてもライブラリ編が出ているというのはめちゃくちゃ嬉しいね。
今までライブラリの仕様把握してないままコピペで使ってたりしてたからな

個人的にはPerlクイックリファレンスぐらいの
これさえあれば最強っていうぐらいのリファレンス本が欲しい所だが。
0535デフォルトの名無しさんNGNG
>>534
> 羊本ってデスクトップリファレンスの事?

あ、じゃなくて『オブジェクト指向スクリプト言語 Ruby』です。
左ページの左上に「羊」がいるから。

件のライブラリ本の情報を見つけました。ここです。
http://www.ascii.co.jp/books/detail/4-7561/4-7561-3697-4.html
0536534NGNG
左ページに羊見つけました。右には鳥が。
これが何を意味するのかまったくもって謎だ。さすがRuby。

今日は、そのライブラリ編と256無道編も購入。
でも optparse の解説が載ってなくて悲しかったよ


0537デフォルトの名無しさんNGNG
みんなたまにはageましょう。

> 左ページに羊見つけました。右には鳥が。
> これが何を意味するのかまったくもって謎だ。さすがRuby。

どうも、羊は、Rubyのマスコットらしいです。
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/17011
右の「鳥」は不明。
0538デフォルトの名無しさんNGNG
かつて、「Ruby アイコンコンテスト」なるものが開催されて、
まつもと氏作成のアイコンがこれ。
http://www.netlab.co.jp/ruby/hammbird.gif

で、この鳥が何の鳥なのかは不明。
0539デフォルトの名無しさんNGNG
ハチドリにrubyってのがいるんですわ。
http://www2.netdoor.com/~takano/hummingbird-j.html
0540デフォルトの名無しさんNGNG
昨日mingw版をダウンしてきたage。
まだ質問はありません。
0541デフォルトの名無しさんNGNG
>>539
なるほど、納得。

# RAA日本語バージョン希望っていうのがruby-listに流れてましたね。
# どういう反応が返ってくるのだろう。
0542Seisei_YamaguchiNGNG
がいしゅつだったら済みません , yieldについて質問です .
`` loopの中の核の部分の 関数 ( なり ) を置き換えるのは簡単 なのに
loopの中の核の部分を取り囲む部分 を簡単に置き換えれないのか . どうにかしてくれ ''
という要求に応える仕掛けがyield であると考えていいのでしょうか .

また , yieldは `` イールド '' と読むのでしょうか .
0543↑NGNG
スレッドストッパー(ワラ
0544デフォルトの名無しさんNGNG
名前と「てにをは」はまともになったみたいだね。
あとは、みょうな分かち書きをまずなおせ。内容はそれからだ。
0545Seisei_YamaguchiNGNG
>>544 デフォルトの名無しさん さん
やれやれ , 2ちゃんで `` 現代仮名遣いスタンダード '' 徹底か .
Ruby嫌いな_Perl使い がこう言ってきたら , あんた何て答える ? ':->' .
  * `` {} '' でなく `` end '' だなんて駄目だ . 直せ .
  * `` s/// '' が `` sub(){} '' だなんて駄目だ . 直せ .
0546デフォルトの名無しさんNGNG
意味がわかりません。もっとわかりやすく書いてよ。
0547544NGNG
Rubyの文法は、それがRubyのスタンダードなのだから、
「直す」対象ではありません。
Rubyのソースが読めないのなら、「Rubyスタンダード」を
学習するまでです。

一方、あなたの文章スタイルは非常に読みづらい。
それが、「俺ってこせいてきー?、みたいなー」などという
非常に自分勝手なな自己表現に過ぎないと言うことを
認識すること。

何にこだわっているのか知りませんが、読んで欲しければ
まともな文章を書くこと。
0548デフォルトの名無しさんNGNG
256倍邪道本 読んだ人いる?
分散オブジェクト環境としての Windows を Ruby で使い倒そうぜ
という内容なんだけど、感動的な本だ。Windows に興味がない人
も是非読むといいよ。
「分散オブジェクト環境としての Windows」という、環境に依存した
本質的ではない知識を記述しているにもかかわらず、最終的に本質的
な真理を垣間見るという、スリリングな体験を味わった。
この本の著者に敬意を表したい。
「Ruby を256倍使うための本 邪道編 」 著者 arton ASCII出版。

0549トリッキーの1NGNG
>>548
読みました。256シリーズはあの無意味に強調された構文に嫌悪感を抱くけれど、
Ruby256倍は結構面白かったです。
俺はRuby自体よりもActiveScriptなどの理解が深まっただけで、
本質的な真理は残念ながら見れなかったけど、もう一度読んでみようかな。
0550デフォルトの名無しさんNGNG
ActiveScriptRubyって、GUI出来るの?
0551デフォルトの名無しさんNGNG
ここ見てもなんなのかさっぱりわからないんだけど。
http://www.geocities.co.jp/SiliconValley-PaloAlto/9251/ruby/
0552デフォルトの名無しさんNGNG
ActiveScriptRubyそのものには、GUI機能は無い。
HTAやGTKと組み合わせればGUIも可。
0553Seisei_YamaguchiNGNG
( あら , いつの間にか話が進んでる . `` 再開 '' すると 荒らしまがい以上 になりそうだな .
残念 )
0554デフォルトの名無しさんNGNG
話の流れを止めて申し訳ないんですけど
組み込みに関する質問いいですか?

VALUE objA = rb_str_new2("A");
rb_gc();

このように書いたとき、rb_gc()の後に
objA が死んでない(文字列 "A" を持っている)保証はあるのでしょうか?

自分で試した限りでは8000個ぐらい前に
生成したオブジェクトは死んだりすることもありました。
0555デフォルトの名無しさんNGNG
>>554
これってスコープに関連した話?(どきどき)
0556544NGNG
>>555
んん?スコープってどういう事でしょ?
0557554NGNG
↑544じゃなくて554でした。
0558555NGNG
通常の言語だとスコープの範囲でGCされちゃうというのは
ありえないでしょ。
で、Ruby のスコープというのが...(どきどき)
0559554NGNG
オブジェを生成した時はGCから守るために rb_gc_register_address に登録して、
スコープ外になったときは rb_gc_unregister_address で解除する。
という使い方をすればいいんですかね?
なんか、これだと普通に malloc/free やっているのと変わらないような気も・・・。
0560デフォルトの名無しさんNGNG
>>554

文脈依存なんでそれだけではわからじ。

for(int i; i<8000; i++){
  VALUE objA = rb_str_new2("A");
  rb_gc();
}

なら、最後の1個以外は変数から参照されてないんで死にますが、
そういう話ではないよなぁ。うーん......。
0561554NGNG
8000個ぐらい前のオブジェが死ぬといっていたソースはこれです

void main(int argc, char **argv)
{
ruby_init();
ruby_script(argv[0]);

int num = 8000;
VALUE *table = (VALUE *)malloc(sizeof(VALUE *)*num);
for (int i=0; i<num; i++) {
char buf[256];
sprintf(buf, "%d", i);
table[i] = rb_str_new2(buf);
assert(TYPE(table[i]) == T_STRING);
printf("%d: ", i);
assert(TYPE(table[0]) == T_STRING);
assert(atoi(STR2CSTR(table[0])) == 0);
printf("%s\n", STR2CSTR(table[0]));
}
free(table);
}

実行すると、7406回ループしたところで、
Assertion failed: TYPE(table[0]) == T_STRING, file main.cpp
が出てしまいます
0562554NGNG
>>560
>最後の1個以外は変数から参照されてないんで死にますが
そのままでは、参照されているかどうかは
Rubyには伝わらないと思うんですが。
0563デフォルトの名無しさんNGNG
http://piza.2ch.net/test/read.cgi?bbs=tech&key=983191866&st=326&to=328&nofirst=true
Ruby、Perlに挑戦されてるぞ(笑)
0564ぎこるびNGNG
まずそのプログラム自体を解読しないと(笑
僕にはとても無理なのでパスします。
JARH作るのが得意な人なら向いてそうですね。
0565デフォルトの名無しさんNGNG
>>554
volatile を付けるというのが定番だけど、ruby_init() の外か。
int num 以降を別関数に分けるとうまくいくかも。
ちなみに configure のオプションと CFLAGS は?
0566デフォルトの名無しさんNGNG
>>561
VALUE じゃなくて VALUE* じゃん。
そりゃダメだわ。だって rb_gc_mark() って VALUE しか対象にしてないから。
Array を使えばよさそうな気がする。たぶん。

void hoge(int num)
{
int i;
VALUE ary = rb_ary_new2(num);
table = RARRY(ary)->ptr;
for (i = 0; i < num; i++) {
char buf[256];
sprintf(buf, "%d", i);
table[i] = rb_str_new2(buf);
assert(TYPE(table[i]) == T_STRING);
printf("%d: ", i);
assert(TYPE(table[0]) == T_STRING);
assert(atoi(STR2CSTR(table[0])) == 0);
printf("%s\n", STR2CSTR(table[0]));
}
rb_gc_force_recycle(ary);
}
0567561=554NGNG
>>565 >>566
レスどうもです
ちょっと疑問に思ったところがあるのでいくつか。

VALUE ary = rb_ary_new2(num);
とした時にRuby側はArrayオブジェが
ary に代入された事はわからないんじゃないでしょうか?(>>562と同様)

あと rb_ary_new2(num) で配列の大きさをあらかじめ決めていたら
RARRAY(ary)->ptr にも直接データを入れる事をしてもいいんでしょうか?
(README.EXT.jpの128行目にはバグの原因になるような事がかかれてありました)

それでptr[i]を書き換える部分を rb_ary_push 変えて試したソースがこれです

// コンパイルとリンクの方法(for mswin32)
// cl -Zi -MD -GX -c main.cpp
// link /out:main.exe /opt:"NOREF" main.obj libruby.lib user32.lib advapi32.lib wsock32.lib

#include <ruby.h>
#include <assert.h>

void main(int argc, char **argv)
{
ruby_init();
ruby_script(argv[0]);

int num = 8000;
int i;

VALUE ary = rb_ary_new2(num);
for (i = 0; i < num; i++) {
printf("%d: ", i);
char buf[256];
sprintf(buf, "%d", i);
VALUE str = rb_str_new2(buf);
assert(TYPE(ary) == T_ARRAY);
assert(TYPE(str) == T_STRING);
rb_ary_push(ary, str);
assert(TYPE(ary) == T_ARRAY);
assert(TYPE(str) == T_STRING);
assert(TYPE(RARRAY(ary)->ptr[0]) == T_STRING);
assert(atoi(STR2CSTR(RARRAY(ary)->ptr[0])) == 0);
printf("%s\n", STR2CSTR(RARRAY(ary)->ptr[0]));
}
rb_gc_force_recycle(ary);
}

実行結果の最後
7405: Assertion failed: TYPE(ary) == T_ARRAY, file main.cpp, line xx

ちなみに rb_gc_force_recycle って初耳でしたが
ソースみても何をやっているのかさっぱりです(T_T)
0568565,566NGNG
>>567
> VALUE ary = rb_ary_new2(num);
> とした時にRuby側はArrayオブジェが
> ary に代入された事はわからないんじゃないでしょうか?(>>562と同様)

スタックにある VALUE は無理矢理探して mark するということをしてます。
しかしスタックエンドを知るポータブルな方法というのはないので、
場合によってはうまくいったりいかなかったり。今回のように
ruby_init() を呼び出したのと同じ関数で VALUE を持ってたりすると、
引っかからなかったり。

> あと rb_ary_new2(num) で配列の大きさをあらかじめ決めていたら
> RARRAY(ary)->ptr にも直接データを入れる事をしてもいいんでしょうか?
> (README.EXT.jpの128行目にはバグの原因になるような事がかかれてありました)

実際には RARRAY(ary)->ptr は問題はないはずだけど、
避けたければ ALLOCA_N() という手も。

void hoge(int num)
{
  int i;
  VALUE *table = ALLOCA_N(VALUE, num);
  for (i = 0; i < num; i++) {
    char buf[256];
    VALUE str;
    printf("%d: ", i);
    sprintf(buf, "%d", i);
    str = rb_str_new2(buf);
    assert(TYPE(str) == T_STRING);
    table[i] = str;
    assert(TYPE(table[0]) == T_STRING);
    assert(atoi(STR2CSTR(table[0])) == 0);
    printf("%s\n", STR2CSTR(table[0]));
  }
}

> ruby_init();
> VALUE ary = rb_ary_new2(num);
> 実行結果の最後
> 7405: Assertion failed: TYPE(ary) == T_ARRAY, file main.cpp, line xx

結局 ruby_init() を呼んでるのと同じレベルで VALUE を保存してるので、
ary は mark の対象にならないわけ。
このへんはもう実装の都合としかいいようがないけど、
組み込みというのはまだあんまり使われてる例がないから練れてないというのもある。

> ちなみに rb_gc_force_recycle って初耳でしたが
> ソースみても何をやっているのかさっぱりです(T_T)

その名の通りオブジェクトを強制的にゴミとみなしてリサイクル。

> // コンパイルとリンクの方法(for mswin32)
> // cl -Zi -MD -GX -c main.cpp
> // link /out:main.exe /opt:"NOREF" main.obj libruby.lib user32.lib advapi32.lib wsock32.lib

ちなみに、この /opt:"NOREF" って? mswin32 版の miniruby をリンクするときに
必ずこのオプションがどうこうっていうのが出るんだけど意味不明なので、できれば解説きぼーん。
0569デフォルトの名無しさんNGNG
>>567
適当に書いたんで、RARRAY(ary)->len をいじるのを忘れてた。
rb_ary_push()を使うというのが正解。スマソ。
0570567NGNG
>>568
> スタックにある VALUE は無理矢理探して mark するということをしてます。

そ、そんな裏技使われていたんですか。すご。
それ聞いてやっと関数にするという意図がわかりました。

で、再び修正したソースがこれです
全てが解決されたと思いましたが、

// コンパイルとリンクの方法(for mswin32)
// cl -Zi -MD -GX -c main.cpp
// link /out:main.exe /opt:"NOREF" main.obj libruby.lib user32.lib advapi32.lib wsock32.lib

#include <ruby.h>
#include <assert.h>

void hoge(int num)
{
int i;
VALUE ary = rb_ary_new2(num);
for (i = 0; i < num; i++) {
printf("%d: ", i);
char buf[256];
sprintf(buf, "%d", i);
VALUE str = rb_str_new2(buf);
assert(TYPE(ary) == T_ARRAY);
assert(TYPE(str) == T_STRING);
rb_ary_push(ary, str);
assert(TYPE(ary) == T_ARRAY);
assert(TYPE(str) == T_STRING);
assert(TYPE(RARRAY(ary)->ptr[0]) == T_STRING);
assert(atoi(STR2CSTR(RARRAY(ary)->ptr[0])) == 0);
printf("%s\n", STR2CSTR(RARRAY(ary)->ptr[0]));
}
rb_gc_force_recycle(ary);
}

void main(int argc, char **argv)
{
ruby_init();
ruby_script(argv[0]);
hoge(8000);
}

実行結果の最後
7405: Assertion failed: TYPE(ary) == T_ARRAY, file main.cpp, line 17
なぜ!?

/opt:"NOREF" の事

単純にリンクすると、
> LINK : warning LNK4089: "ADVAPI32.dll" へのすべての参照は /OPT:REF によって廃棄されます
という警告が出たので、その通りに /opt:"REF" を付けても、また同様のエラーが出たので、
link /? で見つけたオプションを一通り試していたら /opt:"NOREF" でやっと警告が出なくなった。
というわけです。 /opt:"NOREF" が何なのかよくわかってません(w
0571568NGNG
>>569
> 実行結果の最後
> 7405: Assertion failed: TYPE(ary) == T_ARRAY, file main.cpp, line 17
> なぜ!?

このへんはコンパイラ次第なので想像だけど、こうするとスタック
上の配置が変わって通るかも。ruby_init() と hoge() が同じレベル
になので、場合によってはぎりぎり洩れる可能性もあるんで。

void hoge(int num)
{
  int i;
  char buf[256];
  VALUE ary = rb_ary_new2(num);
  for (i = 0; i < num; i++) {
    /* ... */
  }
}

# もうちょっとスマートな手はないかなぁ。

あとは、Init_stack() でスタックエンドを明示しちゃうとか。

int main(int argc, char **argv)
{
  ruby_init();
  ruby_script(argv[0]);
  Init_stack((VALUE *)&argc); /* <-- スタック上のならなんでもよい */
  hoge(8000);
  return 0;
}


> /opt:"NOREF" の事
>
> 単純にリンクすると、
> > LINK : warning LNK4089: "ADVAPI32.dll" へのすべての参照は /OPT:REF によって廃棄されます
> という警告が出たので、その通りに /opt:"REF" を付けても、また同様のエラーが出たので、
> link /? で見つけたオプションを一通り試していたら /opt:"NOREF" でやっと警告が出なくなった。
> というわけです。 /opt:"NOREF" が何なのかよくわかってません(w

あぁなるほど、NO が必要だったわけですか。助かりました、どうも
です。

# にしても意味不明の警告メッセージだな。
0572デフォルトの名無しさんNGNG
>>570
>>571

MSDNみよーぜ
advapi32.libに入ってる関数を使ってないから、
このライブラリはリンクしないよんってエラーね。

ようは、リンクしなければ良いわけ。ok?
0573571NGNG
>>572
> MSDNみよーぜ
> advapi32.libに入ってる関数を使ってないから、
> このライブラリはリンクしないよんってエラーね。

> ようは、リンクしなければ良いわけ。ok?

ok,ok。単純な話なのね。
でも advapi32.lib って何のためにリンクしてんだっけ。
知ってる人とか Win でちゃちゃっと調べられる人とかいない?
0574572NGNG
一般的なところではシャットダウンとかレジストリとか。
あとはあまり使わないから知らない。
0575570NGNG
>>568
たしかに char buf[256] を上に移動させたらアサートは出なくなりました
でも for でスコープが一段深くなっているのにどうしてなんでしょう。

Init_stack の方は関数プロトタイプが intern.h に入ってなくて
自分でプロトタイプ書いて使ってもリンク出来ないですね
険しい・・・。

>>572 >>574
なるほど、そういうことだったんですか
0576デフォルトの名無しさんNGNG
>>574
どうも。その辺ですか。
ただ mswin32-ruby1[67].dll のリンクでは警告出ないんですが…。
単に DLL のリンクだと出さないだけかな?

>>575
> でも for でスコープが一段深くなっているのにどうしてなんでしょう。

逆に深くなってるから、そっちが後(というか ix86 だと上位)に取られて肝心
の ary が GC の範囲から外れてしまったのではないかと。このへんはほんと
にコンパイラ依存どころか、最適化のオプションとかでも変わって来そうなん
で、ちょっと一概にはいえないですが。

> Init_stack の方は関数プロトタイプが intern.h に入ってなくて
> 自分でプロトタイプ書いて使ってもリンク出来ないですね

あそっか、入ってないんだった。まぁあんまり外部から呼ぶもんでもないんだ
けど。で、C++ から使うときには、プロトタイプに extern "C" がいるはず。

extern "C" Init_stack(VALUE *);
0577575NGNG
>>576
>extern "C" Init_stack(VALUE *);

あー、そんな初歩的な罠が。どおりでヒットしなかったわけだ。
で、無事 Init_stack を使ったら char buf[256] を
for のスコープに入れていても問題なかったです

それにしてもRubyのGC発動怖いなぁ。
組み込みんだプログラムがいつハングするか不安です
0578>577NGNG
ハング?
0579デフォルトの名無しさんNGNG
>>577
GC でいじられるのはプールされたオブジェクトのみだから、
ネイティブスレッドを使ったりしなければさほど問題にはならないかと。
逆に複数のスレッドから使うとほぼ確実に落ちます。

というあたりの話?
0580577NGNG
>579
ネイティブスレッド??
うーん、組み込んでいたプログラムはオブジェを生成してから
どんどんスタックが深くなるように進むタイプ(?)ではなくて
浅いスタックまで一旦戻るタイプなんですよ
(って意味がわかりにくいですね・・・)

簡単に例を上げると、

typedef struct {
int foo;
int bar;
VALUE name;
// ほかにもメンバがたくさん
} HOGE;

HOGE *hoge_new(void)
{
HOGE *p = (HOGE *)malloc(sizeof(HOGE));
p->name = rb_str_new2("Ruby");
return p;
}
void hoge_print(HOGE *p)
{
printf("%s\n", STR2CSTR(p->name));
}
void hoge_del(HOGE *p)
{
free(p);
}

実際はHOGEクラスもどき以外にもたくさんあって、
hoge_new と hoge_print の間に他のクラスが
バリバリ生成されたりしてるんです

ちなみにそのプログラムは稼動してから
約1時間半〜2時間後にハングアップする宿命です(涙)
0581デフォルトの名無しさんNGNG
もうRubyもGCの自力実装はやめてBoehm GC使えばいいのに。
MT-safeだし。いろんな環境で動くし。
でも、My GCって夢がなくなるからだめだよね(これが重要)。
0582デフォルトの名無しさんNGNG
>>580
> ネイティブスレッド??

Windows なら CreateThread() 使うようなやつです。

> typedef struct {
> int foo;
> int bar;
> VALUE name;
> // ほかにもメンバがたくさん
> } HOGE;

こういう風にすると、name からの参照は自動的には mark できないの
で、name がいつの間にか開放されてるというはめになります。これを
防ぐためには、hoge_new() で name が GC の対象になるようにします。

HOGE *hoge_new(void)
{
  HOGE *p = (HOGE *)malloc(sizeof(HOGE));
  p->name = rb_str_new2("Ruby");
  rb_gc_register_address(&p->name);
  return p;
}
void hoge_del(HOGE *p)
{
  rb_gc_unregister_address(&p->name);
  free(p);
}

とか、

VALUE hoge_names;
...
hoge_names = rb_ary_new();
rb_global_variable(&hoge_names);
HOGE *hoge_new(void)
{
  HOGE *p = (HOGE *)malloc(sizeof(HOGE));
  p->name = rb_str_new2("Ruby");
  rb_ary_push(hoge_names, p->name);
  return p;
}
void hoge_del(HOGE *p)
{
  rb_ary_delete(hoge_names, p->name);
  free(p);
}

> 実際はHOGEクラスもどき以外にもたくさんあって、

あるいは「もどき」じゃなくて実際に Ruby のクラスにしてしまうとか。

0583デフォルトの名無しさんNGNG
ばーか
0584580NGNG
>>581
>Boehm GC
そんなのがあるんですか。初耳でした。勉強します。
http://ei5nazha.yz.yamagata-u.ac.jp/~aito/gc/gc.html (勝手にリンク)

>>582
>Windows なら CreateThread() 使うようなやつです。

そんなんですか、使うのは控えときます

>こういう風にすると、name からの参照は自動的には mark できないの
>で、name がいつの間にか開放されてるというはめになります。これを
>防ぐためには、hoge_new() で name が GC の対象になるようにします。

↓こんなマクロにしてテストしたら両方問題なかったです

#if REGIST_ADDR
#define OBJ_NEW(obj, x) obj = x, rb_gc_register_address(&obj)
#define OBJ_DEL(obj) rb_gc_unregister_address(&obj)
#else
#define OBJ_NEW(obj, x) obj = x, rb_ary_push(hoge_names, obj)
#define OBJ_DEL(obj) rb_ary_delete(hoge_names, obj)
#endif

どっちの方法もかわらない気がするけど登録したオブジェリストを
後から確認できる rb_ary_push の方がデバッグしやすいかな

とりあえず、美しくないけどこれらをあちこちに組み込もうと思います

>あるいは「もどき」じゃなくて実際に Ruby のクラスにしてしまうとか。

完全にRubyのクラスにするとシンプルで楽になりますね
でも結局、そのインスタンスを GC から守るために
また mark するかどうかの問題になってくるような気も。
0585デフォルトの名無しさんNGNG
Rubyでオブジェクト指向プログラミングしていると
C++なんざではやってられんわい、と思っちゃう。
ま、元々C系統は嫌いなんだけどね(涙)
0586デフォルトの名無しさんNGNG
>>585
例えば、Rubyが良くてC++が駄目な所って具体的にどこですか?
0587デフォルトの名無しさんNGNG
Windows環境のVCでRubyの拡張モジュール作ろうと思っているんですが、

extern "C"_declspec (dllexport) void Init_test()
{
VALUE myModule = rb_define_module("test");
}

とやるとrequire 'test'で、rb_define_moduleのところで
「[BUG] Segmentation fault」というエラーが出てしまう
んですけど、何故でしょうか?
このスレッドの過去ログで、同様の症状で、ライブラリのリンクが
間違っていたという記述がありましたが、リンクするライブラリは

kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib
shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib
mswin32-ruby16.lib

となってます。
ちなみに、過去ログと同様、libruby.libをリンクすると参照が解決されていない
というエラーが出ます。

あと、関係ないのですが、RubyWinで「require 'win32api.dll'」とすると、
「Ruby1:1:in `require': 127: 指定されたプロシージャが見つかりませんでした。」
というエラーが出るのですが、これは何故でしょうか?
0588デフォルトの名無しさんNGNG
結局、Rubyは優れてるけど作った奴は気に食わない、ってことで
0589デフォルトの名無しさんNGNG
なぜそこまで「まつもとが〜」言うのかわからん。
0590デフォルトの名無しさんNGNG
ここで588に「出る杭は打たれる」型の
妬み心理を指摘することは容易であるが以下略
0591デフォルトの名無しさんNGNG
つーか、Windowsじゃ使えないって事で。
0592デフォルトの名無しさんNGNG
>>587
Windowsで使うのは諦めろ(藁
0593デフォルトの名無しさんNGNG
>>587
> Windows環境のVCでRubyの拡張モジュール作ろうと思っているんですが、
>
> extern "C"_declspec (dllexport) void Init_test()
> {
> VALUE myModule = rb_define_module("test");
> }
>
> とやるとrequire 'test'で、rb_define_moduleのところで
> 「[BUG] Segmentation fault」というエラーが出てしまう

-DIMPORT なしでコンパイルするとだいたいそんな感じになりますが、ちゃんと
extconf.rb を作ってあれば大丈夫なはず。

> ちなみに、過去ログと同様、libruby.libをリンクすると参照が解決されていない
> というエラーが出ます。

えと、これって?

> あと、関係ないのですが、RubyWinで「require 'win32api.dll'」とすると、
> 「Ruby1:1:in `require': 127: 指定されたプロシージャが見つかりませんでした。」
> というエラーが出るのですが、これは何故でしょうか?

エントリポイントは Init_Win32API() なので require 'Win32API' でなきゃい
けないから。それと .dll は不要。
0594デフォルトの名無しさんNGNG
>>587
require の所は require 'win32api' でいいんじゃない?

と思って試しにやってみたら、

>GetProcAddress Init_win32api
>rb.rb:1:in `require': 127: 指定されたプロシージャが見つかりません。
>- c:/ruby/lib/ruby/1.6/i686-mswin32/win32api.so (LoadError)

こんなん出た。なんじゃこれ?
0595594NGNG
よくみたら >>587 と同じエラーか。
c:/ruby/lib/ruby/1.6/i686-mswin32/win32api.so はちゃんと存在するのになぁ。
0596デフォルトの名無しさんNGNG
>>595
> よくみたら >>587 と同じエラーか。
> c:/ruby/lib/ruby/1.6/i686-mswin32/win32api.so はちゃんと存在するのになぁ。

Windows のファイルシステムは case insensitive だけど、DLL のエントリポイ
ント名は case sensitive だということ。
0597デフォルトの名無しさんNGNG
まぁ、最低Linuxで、っていうことで。
0598デフォルトの名無しさんNGNG
安定版 1.6.3 でたよage。
0599デフォルトの名無しさんNGNG
そんなことより、まともにWindowsで動くようにしてくれ
0600デフォルトの名無しさんNGNG
はげしく同意
0601デフォルトの名無しさんNGNG
>>599 まともじゃないというのはどのへん?
0602デフォルトの名無しさんNGNG
>>601
物すご〜〜〜〜く知識が無いと、Cで拡張したりする時に罠にはまる点。
0603デフォルトの名無しさんNGNG
>>602 それは「Windowsでまともに」というのとはなんかまた別のような。
0604デフォルトの名無しさんNGNG
>>602
知識ってWindowsに関する知識ってこと?
それともRubyに関しての知識ってこと?
後者は当たり前だから無視して、
前者なら、UNIX向けの拡張ライブラリを作るんだったら
UNIXの知識が必要なように、
Windows向けの拡張ライブラリを作るんだったら
Windowsの知識は必要だよね。

じゃなくて、UNIXのつもりでWindowsでも同じような
ことしたらハマった、とかそういうこと?

もうすこし詳しく書いて欲しい。
0605デフォルトの名無しさんNGNG
>>604
このスレッドを読めば詳しい具体例がいくつもある。(w
0606デフォルトの名無しさんNGNG
>>596
case insensitive とか意味わかんね〜
で、結局どうすれば require 'win32api' は通るの?
厨房でスマソ。
0607デフォルトの名無しさんNGNG
require 'Win32API'
0608デフォルトの名無しさんNGNG
>>598
たぶんもうじきパッチが出る。例によって。
0609デフォルトの名無しさんNGNG
>>607
なんじゃい、require 'Xxxx' と書いたら
Init_Xxxx() が呼ばれる仕組みだったのかよ。
んなこと気付かねーって。
どこに書いてんだよそんな事。(ソースの中か?)
あー、マジ Ruby にむかついてきた。
0610デフォルトの名無しさんNGNG
ファイル名の大文字小文字を区別しないWindowsにはむかつかないのかい?
0611デフォルトの名無しさんNGNG
ま、ここは大文字のInit_ を作ったWin32APIの作者がタコだな
0612デフォルトの名無しさんNGNG
ムカツク
0613優しい名無しさんNGNG
>>610
あれは却って便利だと思う。
0614デフォルトの名無しさんNGNG
>>607
あ、なかったかな?
Win32APIの話はMLでも出てるから、なにか改善されるんでは。
0615デフォルトの名無しさんNGNG
>>613
そうかな。たぶんそれが習慣の違いということだろうけど。
0616デフォルトの名無しさんNGNG
この場合、パス名という外部の名前とエントリポイントという内部シンボルが
一致することを前提にしてるのが、問題というか無理があるのかも知れない。
現実に一致するとは限らないシステムがある以上。
0617デフォルトの名無しさんNGNG
というか、この場合、ろくにドキュメントのない
Rubyに問題があるだろ。
0618デフォルトの名無しさんNGNG
まさかこんなことになるとは想定してなかったんだろう
あんたがドキュメント書いて提出してよ
0619デフォルトの名無しさんNGNG
Init_XXX()に関してはREADME.EXT(.jp)に書いてあったけど、読まんかこんなとこ。
0620デフォルトの名無しさんNGNG
>>618
だから想定できないRubyが悪いのだと思うが。
世の中のOSはLinuxだけで、Rubyを使ってみようとするのは
達人だけだとでも思ってるのか。
0621デフォルトの名無しさんNGNG
>619
まー、ただRuby使うだけのやつは読まんだろうね。
0622デフォルトの名無しさんNGNG
>>620
単にWindowsなんて眼中に無かっただけだと思うけど。
LinuxじゃなくてもBSDとかSolarisとかでも動いてるし。
0623デフォルトの名無しさんNGNG
>>622
その「Windowsなんて」とか「眼中に無い」ってのは
アンチを増やすのに絶好の言葉ですね。
0624デフォルトの名無しさんNGNG
>>617
どーでもいいけど、Ruby のドキュメントの貧弱さにはハラ立つ。
きっとまつもと自身のやる気の無いスタンスが
全体にドキュメントに関して怠惰な雰囲気を醸しているんだろうな。
文句言われればUNIX系の伝家の宝刀、「言い出しっぺがやれ」。
あるいは見苦しいことに「お客様は困りますね〜」。・・・お前ヴァカか?
フツー他人のプログラムの解説なんて誰も書きたくねーっつーの。

それにしても、なんでやつは「ドキュメントを書くのが苦手」
とかなんとか言いながらヘーキな顔してられんのかね。
大昔、「ハッカーはドキュメントorコメントを書かない」
とかなんとか書いた怪文書が出回ったことがあったけど、
そんな基地害じみた思想に毒されて、
自分がドキュメントを書かないことを正当化するばかりか、
自分をハッカーだと誇大妄想してやがんのかね。
ドキュメントごとき書けん人間は出来そこないの低脳人間なんだよ。
反省しろ、ヴォケが!!

・・・・ふう、ちょっとスッキリ。Ruby 信者のちょっとした不満でした☆
0625デフォルトの名無しさんNGNG
不満を言ってスッキリってのは低能だなあ。何も解決しないのに、2chでぶちまければ満足か。
手を動かせよ。信者を名乗るならドキュメント書けよ、役立たずが。
0626デフォルトの名無しさんNGNG
アンチなんてのはこやしにもならん。djb嫌い、esr嫌い、theo嫌いなんてのは(俺も含め)腐るほどいるが、
そんなのは彼らにとっては屁でもない。開発コミュニティというのは、アンチのケチや揚げ足取りを
蹴散らすことよりも、それを使うユーザの満足と利便を図るべく行動する。

同じ自己満足ならおどらにゃ損損。
0627デフォルトの名無しさんNGNG
Rubyの場合、コミュニティの利便性が図られていないように
見えるのが不思議な所だけどな。
いや、Rubyに慣れた人々にもはやドキュメントは要らないと
いうことか…
0628デフォルトの名無しさんNGNG
1.6.3が出たというので、Ruby Home Pageに行ってみた。
トップページにChangeLogへのリンクがあったので開いてむる。
・・・英語じゃん。
なんで、この人たち、日本語のドキュメントや資料を提供できないんだろう。
0629628NGNG
しかたがないので、アーカイブをダウンロードしてみた。
それらしき情報はChangeLogしかない。
・・・やっぱり英語じゃん。

一体1.6.2 -> 1.6.3って何が変わったんだ?
普通こういう情報って、アーカイブには入ってるもんじゃないのか?

苦労して変更点を調査しなけりゃ、何が変わったのかすら分からない
んだね・・・
0630628NGNG
それから、アーカイブのドキュメントにRD形式しか入れてない奴っ!
(そういう奴に限って、英語のドキュメントしか入れてなかったりする)

そういうことは、Ruby本体のアーカイブにRDが入ってからにしたまへ。
キミらの環境じゃ、簡単にHTMLに変換出来るんだろ?

すまん、愚痴ばかりで。
0631デフォルトの名無しさんNGNG
英語と日本語を両方提供するって、やってみたことあるなら分かるはずだけど、大変だよ。
純粋に人手の問題というのが大きいと思う。ここに書いている人たちは、自分で開発や
ドキュメント書きや翻訳をやったことあるんだろうか。国際的なプロジェクトに参加した
ことある?
0632デフォルトの名無しさんNGNG
逆に言えば、それだけの人手がRubyコミュニティには期待
できないってことだな。
利用者は案外多いような気がするのだが。。。何故だ?

0633デフォルトの名無しさんNGNG
>> 630
RD って、 HTML への変換が大前提というわけではなくて、そのまま読めるというのが建前じゃなっかったっけ。
確かに HTML に変換されたやつも入ってるとうれしいけど。
0634デフォルトの名無しさんNGNG
この手のプロジェクトでは一般的に、実働(ここでは、コードを書いたりパッチを出す人としよう)する人間の数倍から10倍以上の人が
常時なにがしかの周辺の作業をしている、という状況にならないと、なかなかドキュメントを含めたユーザサポートには手が回らないもの
だよね。

軍隊なんかと同じ。
0635デフォルトの名無しさんNGNG
>>631
>ここに書いている人たちは、自分で開発や
>ドキュメント書きや翻訳をやったことあるんだろうか。国際的なプロジェクトに参加した
>ことある?
をしなけりゃ、日本語のドキュメントを望むことすら罪っつーわけね。
翻訳するんじゃなくて、英語のドキュメントを書いた本人が
日本語のドキュメントも用意して欲しい、って言ってるんだけど。
0636622NGNG
>>623
> アンチを増やすのに絶好の言葉ですね。
うーむ、かなり私情入ってたかも。
Windowsファンにお詫びしつつ、622は取り下げます。ごめんね。

まぁでも自分でまったく使わない環境まで考慮するのは難しいというのも確かだ
と思うけど。
0637デフォルトの名無しさんNGNG
>>633
>RD って、 HTML への変換が大前提というわけではなくて、
>そのまま読めるというのが建前じゃなっかったっけ。

まぁ、そうなんだけど、最近なにやらいろいろ拡張されてるみたいで、
だんだん、そのまま読むのがつらくなってきている感じ。

で、全部入りのActive RubyをWindowsに入れて変換しようと
したりもするが、Syntax Errorなんぞがワラワラと。

こんなしょーもないことに時間取られたくないんだよな。
0638デフォルトの名無しさんNGNG
WindowsでRDToolを使えるようにするまでめちゃくちゃ苦労したよ
>>630の言うように、できれば最初からRubyアーカイブに組み込んでおいてほしいねー
0639デフォルトの名無しさんNGNG
>>635
結局、日本語と英語を両方メンテナンスする大変さが分からないかな。
一回書けば終わりじゃないんだよ。一つ変更するたびに英語と日本語の
ドキュメントを両方直さないといけない。食い違いが出るとまずいからね。

それに、とりあえずソフトはできた、何かドキュメントを付けてリリース
したい、というときに英日両方書いてから出すというのはとてもまめな人
だと思う。

たいがいは、日本語か英語かどちらかで書いてリリースして、あとで
もう一方に「翻訳」することになるんだよ。

俺も日本語のドキュメントをまじめに書かない一人なので偉そうな
ことは言えないが、人の書いたものに日本語のドキュメントしか
ない場合は英訳をフィードバックしたりしているよ。
0640デフォルトの名無しさんNGNG
>>635
試しに、英語で意味が取りにくかった(自分が読むのに苦労した)部分を何カ所か日本語にして、
「こんな感じでしょうか」って感じで作者に送ってみたら?そしたら、意識変えてくれるかも。
0641587NGNG
>>593
だいぶ昔の投稿になってしまいましたが、ありがとうございます。
-DIMPORTというオプションは全然知らなかったです。
extconf.rbも作ろうとするとエラーに悩まされて、作って無かった
です。もう一回じっくり挑戦してみようかなと思います。
0642デフォルトの名無しさんNGNG
文句しか付けない奴は放置しておけるのがオープンソースの
メリットだな(藁
0643デフォルトの名無しさんNGNG
>>641
> extconf.rbも作ろうとするとエラーに悩まされて、作って無かった
> です。もう一回じっくり挑戦してみようかなと思います。
どういうエラー? 一番簡単なのはこれでいいはずだけど。

require "mkmf"
create_makefile("hoge")

このくらいならコマンドラインからでもできるし。

ruby -rmkmf -e "create_makefile('hoge')"
0644デフォルトの名無しさんNGNG
>>642
>文句しか付けない奴は放置しておけるのがオープンソースの
>メリットだな(藁

文句もつけないダンマリ君よりはいいと思うが?
出来合いのものを盲目的に押し頂くだけが能ではあるまい。
文句つけられてるうちが華だね。
0645デフォルトの名無しさんNGNG
祝 『Rubyを256倍使うための本 魔道編』発売age
発売日は3/27らしい。
このスレ話題?のRD関連の本だね。
0646デフォルトの名無しさんNGNG
>>645
256倍シリーズはとても面白いのだが、
勉強にはならないというのが・・・゜
0647デフォルトの名無しさんNGNG
>>605
Windows & 拡張ライブラリ作成でのトラブルというと、
文字ケースの話と -DIMPORT の話が該当するようだけど、他には?
GtkとかRDtoolのインストールではまってるというのもかな。
0648デフォルトの名無しさんNGNG
>>647
requireの話とか。
っていうか、君は何でそんなことを人に聞く?
0649デフォルトの名無しさんNGNG
>>648
> requireの話とか。
あ、require の文字ケースの話。

> っていうか、君は何でそんなことを人に聞く?
3つしか見付けられなかったから、見落としてないか確認したかっただけだけど。
0650長くて須磨祖NGNG
>>644さん
「素人さん」からの「建設的な批判」なら、本当にいいんだけどねぇ。
「使いたいだけのお客さん」の「文句」は、今はノイズを増やすだけ
なので勘弁ですょ。
そういう意味では>>642さんに賛成。このひと口が悪いけどね。

644さんが、お客さんも受け入れろって言ってるのか、
素人に冷たくすんなって言ってるのか分からないんだけど、
いかにもお客さん然とした奴でもなければ、素人さんを排除する
雰囲気はないから、たいがいのことはMLとかで言ってみれば
意外と解決するんでないの?

で、お客さんについては、Rubyコミュニティはまだ
それを受け入れられる段階にまで育ってないでしょう。
>>634さんが言うように、マンパワーが全然足りてないよ。

そもそも、お客さんの存在も、プラスに働くとは限らないしね。
「投与の時期と方法によっては」正常な発育を妨げる可能性が
あるっていうか。

どういう方向の発展を望むかは、実際に手を動かして貢献してる
人たちが決めればいいことでしょ。少なくとも、ただ乗りしてる
私には「文句言われてるうちが華」なんて言えましぇん。
(もし言うなら直接言うしね。つうか要望は直接言ってます)

まぁ、ぎこるびみたいに素人の感覚が分かるナイスな奴が、
newbieからの「文句」の中から意味のある意見をすくい上げて
ダイジェストしてコアメンバーに伝えてくれるとしたら、
それはすごくいいかもね。
0651デフォルトの名無しさんNGNG
>>630
激しく同意。それと、
リファレンスマニュアルをRD形式で配布すんのやめろ、
って感じ。なぜ、ついでにtar.gzも配布せんのかねえ。
まず興味を持つべき対象は Ruby であって、
RD を知らなきゃドキュメントすらダウンロード
できんようじゃ本末転倒じゃない?
0652638NGNG
>>651
RDファイルでマニュアル配布するのは別いいと思うけどなぁ
0653デフォルトの名無しさんNGNG
require 'win32api' の件だけど、
ソース眺めていたら1.6.1の時点で

void Init_win32api()
{
Init_Win32API();
}

こんな対策とられていたのを発見。
でもうちの環境では require 'win32api' が通らない
再コンパイルが必要?
0654デフォルトの名無しさんNGNG
>>653
EXPORTされてないから。[ruby-dev:12578], [ruby-dev:12579]参照。
0655デフォルトの名無しさんNGNG
あぁ、なるほど。
で、MLの方を読み進めると[ruby-dev:12602]で修正されるようなこと
かかれてますね。よかったよかった。
0656デフォルトの名無しさんNGNG
>>655
でもあれも完全じゃない。require "win32api" は通っても、require "wIn32ApI"
とかはダメだし。"Init_#{foo}" がなければ /\AInit_(?i:#{foo})\z/ に一致す
るのを探すようにすればだいたい良さそうだけど。エントリポイント名を列挙す
る方法ってないかな。
0657名無しさん@LV2001NGNG
>>649
3つしか?
質問スレでもないのに、このスレに3つあるだけでも多いと思うが。
他にもちょっと見ただけでも、ライブラリのリンクの問題とか
C++のキャストの問題とかある。君、観察力ないね。
0658デフォルトの名無しさんNGNG
ライブラリのリンクというのは>>371,>>382?これはライブラリの指定ミスと
いうことで、Ruby自体の問題じゃないのかと思ったんだけど違うのかな?

C++のキャストって>>330? これはCとC++を混在させるときの話で、Rubyとも
Windowsとも無関係だし。

3つというのがこういう場合多いかどうかは分からないけど、>>605には「い
くつも」とあったし、以外と少ないなと。いや実は、Windowsじゃまともに動
かん機能があるー!とか、そういうのがあるかと思ったもので。

> 君、観察力ないね。
まぁそれはいえてるかも。つーか否定できないし。(w
0659デフォルトの名無しさんNGNG
>>658
だから、Rubyでキャストが必要な関数が使われてるから、
初心者だとはまる可能性があって問題だろ。
ライブラリの指定方法だって、そんなもんわかるように
ドキュメント書いてないRubyが悪い。
はっきり言って、初心者を馬鹿にしてそくに親切な
ドキュメントを書いてないRubyが悪いな。
0660デフォルトの名無しさんNGNG
ちょっと探してみた。

>>330 >>333
>>370 >>371
>>377 >>412
>>468 >>554
>>575 >>587
>>594

あーいくつもあるねぇ…C++やWindwosの問題が…
0661デフォルトの名無しさんNGNG
>>659
C++とCの違いを知らないというのは当人の問題。
ライブラリの指定に関してもmkmf.rbを使うと自動的に行われるはずなのに、
あえてそれを行わない以上これももう自己責任では。

というか、初心者というのはRubyの? CやC++の? プログラミングの? Windowsプログラミングの?
0662デフォルトの名無しさんNGNG
だからなんで当人の問題になるよ?
ドキュメントにきちんと書いてないのが問題なんだよ。わかる?
0663デフォルトの名無しさんNGNG
なんの初心者かって、そりゃ初心者全般だろ。
何でいちいちそんなことまで人に聞くかな。

だいたい、いくら、当人だけが悪い問題があると言っても
Rubyに問題が多いのは事実だろ。
0664デフォルトの名無しさんNGNG
なんつーか、Ruby の現状って、
コアな(=プログラムの技量のある)ユーザーに普及する前に、
一般の(=プログラムの技量の低い)ユーザーに普及しだしてるから、
初心者を啓蒙し教育する体制には乏しいような気がするな。
ドキュメントに乏しいとか中級者が少ないとか。

またコアなユーザーからの批評も十分じゃないから、
仕様として洗練されていないような気がする。
(俺知らんからその辺の判断はつかんけど。又聞き)

個人的には、このままだとRubyの言語としてのよしあしは別としても、
コミュニティが消滅してしまいそうな気がするな。
0665デフォルトの名無しさんNGNG
>>662
> ドキュメントにきちんと書いてないのが問題なんだよ。わかる?
CやC++の言語仕様がRubyのドキュメントに?
0666デフォルトの名無しさんNGNG
>>660
ちょっと分類してみた。
RDにしちゃったけどこの程度ならRDtool通すまでもないと思うので。

=begin
= Windows固有

== requireの文字ケース
* >>587, >>594
対応される、かもしれない。

== -DIMPORT
* >>333(>>332かな?)
これは拡張ライブラリの話じゃないけど。ただしcygwinだったらUSEIMPORTLIB。

* >>587の前半

== その他
* >>370
最近修正されたバグ。

* >>371
ライブラリの指定ミス?

* >>377
これって別のに変えたとばかり思ってたけど、残ってるね最新でも。
win32/Makefile.subまでrmになってるのはまずいな。


= Windowsとは無関係

== CとC++の違い
* >>330
* >>575
とくにいうことはないけど、Rubyの拡張ライブラリのインターフェースはCと
して提供されてるので、当然Cに関する知識は必要。C++やPascalで書くことも
自由だけど、当然その言語に関する知識も必要。Cとインターフェースを取る
ための方法についても同じく必要。

== 制限
* >>412
これはスタックオーバーフローが起きてしまった後ではsignal handlerも呼び
出されないということで、かなり致命的なんだけど事実上回避不能。POSIXな
システムならsigaltstack()というのがあるけど、それでもスタックオーバー
フローとそれ以外のSEGVを区別する手段がない。

== 組み込みRuby
* >>468, >>554
たしかにまだ完全とは言い難い。利用例が少ない。

=end

> あーいくつもあるねぇ…C++やWindwosの問題が…
いつの間にかC++の問題まで…。
0667デフォルトの名無しさんNGNG
>>663
> なんの初心者かって、そりゃ初心者全般だろ。
何に関して初心者かによってとるべき対応は異なるから。

CやC++、プログラミングの初心者なら、いきなり拡張ライブラリの作成に手を出
すべきではない。その前に学習すべきことがもっとあるはず。たとえC++では経
験があっても、Cとの違いを知らないのではうまくいかない。
また、Ruby*で*プログラミングは楽だとしても、Ruby*を*プログラミングはけし
て楽ではない。

Rubyの拡張ライブラリを作りたいなら、とりあえず勉強するしかないけど、今の
ところREADME.EXT.jpくらいしかなくてドキュメントが少ないというのは確か。
後は他のライブラリのソースくらいしかない。

Windowsプログラミングの初心者なら…、うーんこれはよく分からなんな。MSDN
onlineでも熟読する?(w

> 何でいちいちそんなことまで人に聞くかな。
曖昧なままでは議論にならないから。

> だいたい、いくら、当人だけが悪い問題があると言っても
> Rubyに問題が多いのは事実だろ。
それは事実。もちろん否定しない。
ただどこに問題があるかをちゃんと分けて考えないと、解決することはできない
から。
0668デフォルトの名無しさんNGNG
>>664
> 仕様として洗練されていないような気がする。
これは言語仕様のこと、それともインタプリタの実装の仕様の方?
0669デフォルトの名無しさんNGNG
>>662-664
もっと頭よさそうに振る舞ってもいいんじゃないか?
「気がする」連発で見苦しいったらありゃしない。

匿名で水掛けあったってしょうがないんだから、
実体のある話を積み重ねようよ。

「コアなユーザーからの批評が十分でない」という思い込みは
どこから来たの?メーリングリストの記事を少し漁れば分かるが、
言語仕様については侃々諤々の議論が繰り返されているよ。
まつもと氏がOKを出して他の人もほぼ納得するまでは仕様が変更・
追加されることはないし。

「中級者が少ない」「コミュニティが消滅」は妄想?願望?
0670デフォルトの名無しさんNGNG
>>662-664
もっと頭よさそうに振る舞ってもいいんじゃないか?
「気がする」連発で見苦しいったらありゃしない。

匿名で水掛けあったってしょうがないんだから、
実体のある話を積み重ねようよ。

「コアなユーザーからの批評が十分でない」という思い込みは
どこから来たの?メーリングリストの記事を少し漁れば分かるが、
言語仕様については侃々諤々の議論が繰り返されているよ。
まつもと氏がOKを出して他の人もほぼ納得するまでは仕様が変更・
追加されることはないし。

「中級者が少ない」「コミュニティが消滅」は妄想?願望?
0671デフォルトの名無しさんNGNG
二度書きスマソ下げ
0672662=663NGNG
言っとくが、気がする連発は664だけな。
664は俺じゃない。
「C++の仕様により、こういう問題が生じますよ」
というドキュメントがあるのが普通だ。
CやUNIX系の場合だけ書くのはどう見たって不親切だろ。
「C++やWindowsの場合は教えてあげません。自分で知識をつけて考えな。」
こう言ってるのと同じ。

だいたい、-DIMPORTなんてマイナーで熟練者以外にほとんど知られてない
ことを強いるのは、ドキュメント以前にどうかと思うがな。
0673662NGNG
>>666
おいおい、C++だろうがなんだろうが、Windowsに無関係だろうが、問題に
なってくることには変わりない。
Windowsでも、もちろん問題になってくる。

>>667
結局、Rubyのドキュメントの不親切さを、ユーザーの知識のなさに
摩り替えてるところが問題なんだよ。
知識がなきゃ資格がないと考えてること自体が傲慢。
確かに、それはある程度仕方無いが、これほど不親切だと、必要以上に
敷居が高いといわざるをえない。
0674デフォルトの名無しさんNGNG
>>672
教えてあげません、じゃなくて、単に知らないだけじゃないかな。
その不親切な人たちのどれだけが、C++やWindowsについて
知っていたり把握していたりするのを、ちゃんと調べた?
もし自分にしっているがあるなら報告するとか。

>>673
仕事じゃないんだから、やれる人はやれるし、やれない人は
やれないし、ってことで傲慢とかそういうことじゃないと思う。
そこまで自発的に作っている人達にアレコレ要求する?
本当にその人たちはRubyを発展させる使命を受けた人たちなのか?
ということを考えると、ある程度敷居が高いのは
今の時点ではしょうがない。知っている人しか使わないし、
知らない人は誰かが教えてくれるまで使わないし。

Rubyの作者やその周辺の「作っている人たち」の中に
そういう部分(ドキュメントにあらゆる事項を網羅する、
あらゆるプラットフォームでの不具合を検証し記述する)
に対するモチベーションなり理由が無ければ、
よほどじゃないけどやらないでしょ。気付かない人も
いるだろうし。
そういう人達に「やらせる」ならもっとやり方があるだろう。
その人たちのモチベーションをあげるとか、フォローするとか。
目的を持たせるとか。不満がある人は何かしてみようよ。

長文スマン。
0675デフォルトの名無しさんNGNG
な〜にが、仕事じゃないんだからだ。
Windowsで使ってもらわなくても結構というのなら、ともかく、
使ってもらいたいのなら、WindowsやC++の説明を入れるなんて
あまりにも当ったりまえのことだろ。
作者の周辺じゃねぇよ。そんなことぐらい作者がやれよ。

Ruby逝ってよし!
0676デフォルトの名無しさんNGNG
根っからのお客様なのね。少なくとも、こういう輩が多いようなら、「使ってもらいたい」とは思わないだろうよ。
0677デフォルトの名無しさんNGNG
Windowsのドキュメントを用意しろと言っただけで、お客さん?
実際それで不自由してる奴が多いというのに…
笑わせてくれるね。
そういうお客様が嫌なら、ドキュメントなんて一切公開するなよ。(藁
0678デフォルトの名無しさんNGNG
な〜にが、仕事じゃないんだからだ。
俺様に使ってもらわなくても結構というのなら、ともかく、
使ってもらいたいのなら、WindowsやC++の説明を入れるなんて
あまりにも当ったりまえのことだろ。
作者の周辺じゃねぇよ。そんなことぐらい作者がやれよ。

Ruby逝ってよし!
0679デフォルトの名無しさんNGNG
「当ったりまえのことだろ。 」「作者の周辺じゃねぇよ。作者がやれよ」がお客様でなくて何。

>>677
最後の行の意味が分からん。別にこんな場所でお客様がわめいても誰も困らんよ。
0680デフォルトの名無しさんNGNG
「用意しろ」なんてこと言ってるんだからお客さんじゃないの?
0681デフォルトの名無しさんNGNG
まあまあEUCりいこーよ
0682デフォルトの名無しさんNGNG
>>679
事実だろ。Windowsで使ってもらいたいのに、Windowsの
ドキュメントを用意しない!?
おいおい。

だいたい、この場合、用意するのを当たり前と言わずして
なんと言うんだろうね。
挙句の果てに用意して欲しいと言ったら、「お客さん」。

それでごまかせたら、ドキュメントなんて全部いらないっつーの。

ドキュメントが欲しいといえば「お客さん」(藁
0683デフォルトの名無しさんNGNG
てゆーか作者は別にWindowsで使ってもらいたいなんて
思ってないんじゃないの?

そもそもWindows使ってないんじゃなかったっけ?
0684デフォルトの名無しさんNGNG
こういうハッカー気取りのRuby信者と作者がウザいんだよな。
0685デフォルトの名無しさんNGNG
>>683
そうか、思ってないなら仕方がないな。
それにしてはやけに宣伝に熱心だが。(w
0686デフォルトの名無しさんNGNG
うちの会社の「お客さん」には多いな。「用意しろ」ってやつ。
まーホントのお客さんだからいいんだけど。(藁
0687デフォルトの名無しさんNGNG
用意しろってのがお客さんならRubyのReadmeを用意しろってのもお客さんなんだろうね。(藁
0688デフォルトの名無しさんNGNG
「そんなことぐらい作者がやれよ」が「用意して欲しい」か?
0689デフォルトの名無しさんNGNG
>>688
人の言葉尻捕らえて批判して楽しいか。
少々言葉が荒っぽいだけじゃないか。
0690デフォルトの名無しさんNGNG
うーむ。こんな厨房が多い中でもWindows版のサポートを頑張ってるWindowsハッカーの人たちはほんとにご苦労様だ。
0691デフォルトの名無しさんNGNG
>>689
金が介在していないのだから、言葉こそが人の心を左右するのだ。そんなことも分からんか。
0692デフォルトの名無しさんNGNG
Windows版のサポートしてるなんて初耳だが?
0693デフォルトの名無しさんNGNG
あのー、こんなの続けるより、「これとこれをドキュメントに書いてください」とMLに一本投稿した方が早くないですか?
0694デフォルトの名無しさんNGNG
また、このパターンか。
結局厨房だとか言って、不親切さをごまかすんだよな。
そして自分達はハッカー気取り。
あれで凄いんだったら、Pythonはどうなるんだろうね。
厨房の集まりを相手にして、まともなドキュメントが
あるHSPは神か。
0695デフォルトの名無しさんNGNG
ハッカー気取りというか、要求するだけじゃなくて具体的に協力したらどうだ、ということじゃないの?

親切を期待するから「不親切」ということになるし、当然だと思うから「怠慢」となるわけでしょ?
0696デフォルトの名無しさんNGNG
Windowsユーザに何が足りないかなんてのはWindowsユーザにしか分からないんだから、
Windowsユーザがやるしかないじゃん。結局、Windows対応コードを書いたりしている人に
文句つけてることにならない?
0697デフォルトの名無しさんNGNG
まつもと氏はWindowsプラットフォーム対応については良くも悪くも
Windowsを使っている人たちに完全に任せているわけだしねえ。

あとはWindowsユーザがいかに互助していくかだろう。
0698デフォルトの名無しさんNGNG
ruby-listとか読むとWindows関連の対応は作者以外の
人たちがやっているから、ML読んでいる人達には
「作者はWindowsには弱い」というのがわかっているけど、
Rubyの配布アーカイブのドキュメントには「Windows上でも
動く」という感じで書かれているから、事情を知らない人には
「作者はWindowsもいける」と思ってしまう。…ということが
あるのかな。
0699デフォルトの名無しさんNGNG
つーか各環境毎の詳しいページへのポイント先さえ示せばいいんでないの?
まつもとのページで。(って、なかったっけ?)
んで各環境毎のページでサポート受け付けます、って書いとけばユーザは各々勝手に飛ぶでしょ。
0700664NGNG
えっと。
仕様に対する批評が十分でない〜はそんなこともないそうなので、取り下げます。
コミュニティが消滅する〜は願望ではなくて、個人的な観測・感想です。
気に障ったようでしたら申し訳ありません。
0701デフォルトの名無しさんNGNG
つーか,用意しろとか色々言ってる人は,用意したら何してくれるの?
貢献してくれるの?多分しないよね?
まあドキュメントはあるに越した事は無いけどね。

あと,RD配布はやっぱしイヤだよなあ。
RDに全く興味無いのに,1ステップ踏むのは気分が良くない。
初心者の為にも,障害を一つ増やすのは良くないよ。
0702デフォルトの名無しさんNGNG
>>701
裾野が広くないと山は高くならないって言葉知ってるか?
0703デフォルトの名無しさんNGNG
>>664 の前半に同感
オレは「一般の(=プログラムの技量の低い)ユーザー」 なんで、
Windows向け & 初心者向けのドキュメントが充実するのを待つことに
するよ。ドキュメントが用意されないからと言って文句を言うつもりはないけれど、
やっぱりちゃんとしたのがあるととっつきやすいし

あと、Windowsユーザには tar形式はあまりなじみがないんで、lzh か zip
形式のも用意したほうが良いんじゃないかなぁ……。はじめて公式ページに
つないだとき、tar形式しかなかったんで 「面倒くさいなぁ」 と思ったのを覚えてるよ
0704デフォルトの名無しさんNGNG
未だにWindows版でrmを要求するところが信じられない。
delに置き換えるだけじゃん。
いくらWinが駄目でもそれすら出来ないとは…
0705デフォルト七誌NGNG
http://www.weihenstephan.de/~syring/win32/UnxUtils.html
COMMAND.COMの内部コマンドで障害起こすから
漏れも使ってない。
0706デフォルト七誌NGNG
補足:GNUmake(WIN32)の話ね
0707デフォルトの名無しさんNGNG
>>703
なんでいきなり拡張ライブラリを作ったりRubyを組み込みにしたりという厄介
なところから入ろうとするかな…。
0708デフォルトの名無しさんNGNG
>>703
Windowsユーザーでも tar ぐらい解凍できるようにしとこうで。
同じWindowsユーザーとして恥ずかしいぞっ。
0709デフォルトの名無しさんNGNG
>>707
最初から組み込み用の言語を探しててRubyに行き着いた人も
いるんだからそんなこといわないで。
0710デフォルトの名無しさんNGNG
WinのプログラムでRubyを使おうとする場合、組み込み用途や
拡張して使う用途で使う場合がほとんどだと思う。
0711デフォルトの名無しさんNGNG
>>709, >>710
そなの? それは意外というか、かなりびっくり。
じゃぁ、もうちょっと整理した方がいいんだろうなぁ。
0712デフォルトの名無しさんNGNG
>>711
ぼくは主にWindowsでRuby使ってますが、Windows(特に9x)は
シェル環境が貧弱なので、UNIX的なやり方では他のプログラムと
連携させるのが難しいです。

というか、想像するに、
「プログラム間の連携は標準入出力じゃなくてCOMとかでやれ」
というWindowsの哲学なんでしょうかね。
0713デフォルトの名無しさんNGNG
>>712
えーと、つまりそのCOMの部分とかをRubyでやろうという意味? 邪道編みたい
なことと考えていいのかな。

とりあえずCOMの話はおいといても、709,710をよんでかなりびっくりというか、
目から鱗状態。確かにそういう風に考えてるんなら、Cレベルでのインターフェー
スがどうこうという話になってくるのもある意味うなずける。というか、そう
いう話こそいってくんなきゃWindowsユーザ以外にゃ通じないってば。
0714デフォルトの名無しさんNGNG
誰かここのログを整理して、ruby-devかruby-listへ投げるんじゃ〜
ちょうど今、インタプリタの初期化APIを考えようという話が
出ていたはず。

Hotlinksに補足されてて、しかもここ見てる人けっこういるでしょ?(藁
0715デフォルトの名無しさんNGNG
>>714
rm が del に修正されたりしているよね。
0716デフォルトの名無しさんNGNG
で、結局、1.6.2 => 1.6.3の変更点は何なの?
0717デフォルトの名無しさんNGNG
>>716
1.6.x 系なのでそんなに大きな変更は無いはず。

ちなみに、
http://homepage2.nifty.com/zn/jewel/ruby-diff.htm
に変更点をまとめてる人がいることに、いま気づきました。

>>このスレのみなさん
ChangeLog だとか RAA が英語なのは、
日本語で書くより英語で書いた方が読める人が(世界単位でみると)多いからでは。
RAAも、日本ローカルになるのを嫌って英語のみにしたはず。

ドキュメントが貧弱なのはみんな意識していて、実際に行動に移している人もいます。
http://www.ruby-lang.org/~rubikitch/RDP.cgi?cmd=view&name=top

リファレンスマニュアルも Windows HTML Help 版ができました。
http://www.ruby-lang.org/en/raa-list.rhtml?name=Ruby+Reference+Manual+%281.6.2+HTML+Help%29

裾野を広げたいと思っている人はたくさんいるはずなので、
意見をruby-list とかの *開発者の目に触れる場所* でいうのが重要。
開発者と日本語で議論できる言語なんてそうそうありませんよ :-)
0718デフォルトの名無しさんNGNG
elispで,(read (current-buffer))
とかすると,ピリオドとかがエスケープされてしまうのですが,
何か方法は無いですか?
それともバッファを読むのにreadを使っているのがおかしいのでしょうか。
0719718NGNG
スレ違い,ごめんなさい。
0720デフォルトの名無しさんNGNG
通りがかりだけど、興味深く読ませて頂きました。

> 裾野を広げたいと思っている人はたくさんいるはずなので、
> 意見をruby-list とかの *開発者の目に触れる場所* でいうのが重要。
> 開発者と日本語で議論できる言語なんてそうそうありませんよ :-)

言ったら言ったで、「お客さん」としか見てもらえないんじゃないの?
上でも >>676 みたく、俺の目から見たら「適切な要望」に見える
意見に対し「お客さん」と罵ってるやつがいるし。
個人的には、いい加減に「お客さん」などという観念自体捨てるべきだと思うね。
大体「お客さんか否か」なんて「作者側が好感を持ったか否か」という主観なんじゃないの?
きっと、「お客様」自身もその人なりに真面目にそのソフトウェアのことを考えて
(その結果少々熱く)提案しているつもりなんだろうし。
ステレオタイプなレッテル貼りはやめにしようぜ。

それと、言っちゃ悪いが、俺の感覚ではプログラムを書くことなんて、クソするようなもんだ。
非効率によりたまりにたまったモノをプログラムを書いて問題解決しスッキリする。
ドキュメント書きは、クソしたあとにケツを拭くようなもん。
「貢献しろ」などと言われて、他人のプログラムのドキュメントを書くなんざ、
他人のケツを拭いてやってるみたいで絶対にいやだね。
まるっきり「ドキュメントくらいでしか貢献できない無能人間」みたいじゃん?
やったって、一体何の見返りがあるんだ? そんな暇があったら、
どんどん新たなソースコード読んで知識広げてったほうがまだマシ。
Ruby 共同体の考えの甘さは、俺以外にも持ってるのかもしれない心情を把握せず、
「ドキュメント書いて貢献しろ」なんていってること。ムシが良すぎるんだよ。
そんなんだから、なっかなかドキュメント書きが進行しない。
各ソースコードの作者自身が積極的に自分から動いてドキュメント書きまくらなきゃ
いつまでたってもいい状況にはならんと思うね。

かくいう俺も実際 Ruby を結構使い込んでる方だと思う(本も全部読んだし)。
Ruby が好きだからこそ、文句も言いたくなるってもんだ。
0721デフォルトの名無しさんNGNG
>>717

情報サンクス。

http://homepage2.nifty.com/zn/jewel/ruby-diff.htm
にある、

>1.6.1から1.6.2への変更点のまとめ
>・net/imapが追加された。
>・proc{|a|}.arityが-2から-1になった。
>・FileTest.sizeがFile.sizeと同じように空のファイルで0を返すようになった。 (存在しないファイルでFile.sizeと同じように例外Errno::ENOENTを発生するようになった。) 古い挙動には size? を使ってください。([ruby-dev:11607])
>・[ruby-list:25919]のmswin32版とdjgpp版のsystemで$?が256倍されていないバグが修正された。
>・srandはsafe levelが4以上の場合は禁止になった([ruby-dev:11478])。
>・IOのtaintチェックがついてsafe levelが4以上だとuntainted IOでgetsなどができなくなりました。
>・randにFloatを渡したときの処理のバグを修正([ruby-dev:11369]からのスレッド)。
>・ATOMIC_TEST, ATOMIC_SET, ATOMIC_INC, ATOMIC_DEC, RUBY_CRITICALが増えて、 TRAP_BEG, TRAP_ENDが新しくなった。(拡張ライブラリを作らないのなら関係なし。)
>・Time#dst?が追加された。(Time#isdstと同じ)
>・tk*.rbについては[ruby-list:26135]を参照。

のような、機能追加・変更・Bug Fixのサマリを日本語で提供して
くれればなぁ、と言ってるんです。
これなら1分あれば、ざっと見れるでしょう?

Rubyの開発に携わってない人が、これだけのサマリを得ることって
すごく大変で、時間がかかると思うんですけど。
逆に携わってる人にとっては、簡単なのかな、と思ってるわけです。
0722721NGNG
それでね、まともな日本語の情報を得るために、これまでは
書籍を買ってきたわけ。

でもね、さすがに、このあいだのライブラリ本はひどくないかい?
あれで金取るの?っつー感じ。
0723デフォルトの名無しさんNGNG
ドキュメント作成は、fjで言うところの「自己レス」のようなもの
なんでは?
自分で疑問に思って調査した結果を、
疑問を同じくする人たちのために編纂して公開する。

別に作者がやるものでも、ユーザーがやるものでもなくて、
疑問を持った人が頭の整理のついでに行うことなのでは?
0724デフォルトの名無しさんNGNG
>ドキュメント作成は、fjで言うところの「自己レス」のようなもの
>なんでは?

『fjで言うところの「自己レス」』っていうのがなんだかよく分からない
んですけど・・・。

> 自分で疑問に思って調査した結果を、
> 疑問を同じくする人たちのために編纂して公開する。

うん、だから、そういう種類のドキュメントもあるし、そのような
いわゆる「使いこなし編」や「FAQ」みたいなドキュメントまで
用意しろとは誰も言ってない。

> 別に作者がやるものでも、ユーザーがやるものでもなくて、
> 疑問を持った人が頭の整理のついでに行うことなのでは?

だからー、Ruby 1.6.4が出たとして、>>711 のようなサマリは頭の
整理のついでなんかじゃ書けないって。
0725デフォルトの名無しさんNGNG
>>711 じゃなくて、 >>721 だ。スマン。
0726デフォルトの名無しさんNGNG
で、みんな具体的になんのドキュメントを欲しているの?

Win32での組み込みなら既に実例(ApolloやRubyWin等)があって、
それらはソースファイルも公開しているからそれを読むのが一番
手っ取り早いし、Apolloは専用のMLがあるから不明な点は
そこで聞けるだろうし。もしかして自分で聞くのがメンドクサイ?

Windowsのインストールこそruby-listで何回も取り上げられている
ことだし、インストールガイドというものもあるし。

みんな、自分たちのやりたいこと「そのまんま」のドキュメントが
欲しいってわけではないよね。それともそういうドキュメントが
あるのかどうかもわからないってことなのかな。
0727デフォルトの名無しさんNGNG
>>726
俺の要望は、
・日本語による変更履歴(サマリ)のアーカイブ添付
1.7になるときには、これを強く望む。
・RAAの説明部分の日本語化(作者が日本人の場合)

できれば・・・
・パッケージなどのアーカイブは、RDだけではなく、html変換
したものも添付。
・パッケージなどのアーカイブは、README.jaなど、そのパッケージ
の機能概要を入れて欲しい。

ってとこです。
後半部分はともかく、前半はそんなに難しいことですか?
いや、それが難しいのであれば、考え直すけど。
0728虹NGNG
>>727
強く同意。現状Ruby界では「ドキュメントを用意するなら英語」と
いう暗黙のルールがあるようで(考えすぎ?)、確かに世界的に見れば
英語が共用語なのかもしれないけど、それを強要しすぎているよう
な気がする。
RAAに日本語版がないのがその最たるもので、別に標準ライブラリに
入れてもらおうとかってわけでもなく、自分の作ったものを紹介し
ようってだけなのに英語を強要するのはちょっとな、と思う。
ChangeLogも日本語であるならとっても嬉しいなあ。
0729デフォルトの名無しさんNGNG
>>727
> ・日本語による変更履歴(サマリ)のアーカイブ添付
> 1.7になるときには、これを強く望む。

いわゆる HISTORY とかそういうやつ?

ChangeLog 全部の日本語版とかまで欲しいわけじゃないでしょ? サマリって書い
てるし細かい修正の履歴まで見たいわけじゃないと思うんだけど。
0730デフォルトの名無しさんNGNG
>>716
http://www.ruby-lang.org/ja/man-1.6/?cmd=view;name=ruby+1.6+feature

>>728
RAAはある意味で準標準ライブラリだからねえ。
日本語版RAAは、誰かが私家版で作ってみるしかないんじゃないの? 需要が
あれば使われるだろうし。SOAPインターフェースも用意されつつあるから、
うまくいったら同期もとれるかもよ。

0731727NGNG
>>730
> http://www.ruby-lang.org/ja/man-1.6/?cmd=view;name=ruby+1.6+feature
おぉぉ、これこれ。
このレベルのものがアーカイブに入ってて欲しい。

で、本心からの疑問なんだけど、このレベルのものを書くのって
そんなに大変なの?別に、HTMLでもRDでもなくて、普通のテキスト
でいいんだけど。
いや、このレベルのものを書くのがすごく大変だっていうのなら
認識を改めます。

普通さ、「バージョンX.X.Xリリース!」ってなったら、このレベルの
変更点をまず知りたくないかい?

最近PHPとPostgreSQLをCVSで追っかけてるんだけど、
変更点がすごくわかり易くて、追っかける気になるんだよね。
0732717NGNG
長文 & まとめレス スマソ。Ruby 好きなんで細かく反応しちゃう。

>> 720
> 言ったら言ったで、「お客さん」としか見てもらえないんじゃないの?
> 上でも >>676 みたく、俺の目から見たら「適切な要望」に見える
> 意見に対し「お客さん」と罵ってるやつがいるし。
「あたりまえ」みたいな言い方をすると反発する人はいるかも知れないけど、
「Windows 用のドキュメントはありませんか?」みたいな聞き方をすれば、
ひどく罵られたりはしないと思う。
# ruby-list とかならね。ここは 2ch だし ;-)

作者がドキュメントを書けってのは強く同意。
そのために RD みたいなのも生まれたんだろうし。

でも、書きたい人、書くのが得意な人が書くのも別にいいと思うので、
(例をあげると、まつもとさん本人が書くより、Dave & Andy の本のほうが好評)
> 他人のケツを拭いてやってるみたいで絶対にいやだね。
> まるっきり「ドキュメントくらいでしか貢献できない無能人間」みたいじゃん?
は言いすぎだと思うな。


>>728
英語強要は日本人としてはめんどくさいけど、
世界中で使われる可能性を考えるとやっぱりしょうがないのでしょう。

Ruby 全体としては世界進出したいし、
そういうときにライブラリやドキュメントが日本ローカルだと足かせになっちゃう。


>>730
> http://www.ruby-lang.org/ja/man-1.6/?cmd=view;name=ruby+1.6+feature
おぉ。ありがとう。
始めて知った。


>>731
いわれてみると、ChangeLog はコード単位の変更で 機能単位の変更はわかりづらいね。
このレベルの文章を書くのは大変でしょ。少なくとも俺には無理。


有用なドキュメントはあっても、どこにあるのか分かりづらいのが問題なのか?
0733717NGNG
ゴメン。書きすぎて省略されちゃった。
0734デフォルトの名無しさんNGNG
任意の3x3の正規直交行列は単位行列をある軸を
ある角度方向に回転させても得ることができます。
(右手系か左手系かは決めておく)
これは行列をクォータニオンに変換するときと同じ処理です。
同様に任意の3x3正規直交行列と3x3正規直交行列との間には、
回転軸と回転角度が存在しこれを求めることができます。
ですので、これを求めて後は回転角度を線形補完することで
クォータニオンを用いずともSlerpできますがクォータニオンで
処理するのと比べてメリットがありません。

0735おおおおNGNG
DVD7行解除、rubyでもっと短くなるかい?
0736731NGNG
>>732
> いわれてみると、ChangeLog はコード単位の変更で 機能単位の変更はわかりづらいね。
> このレベルの文章を書くのは大変でしょ。少なくとも俺には無理。

うん、そりゃ無理だと思うよ(皮肉じゃなく)。
僕にだって無理だ。おそらくほとんどの人が、あれを書こうと思っても
書けないはず。

でもね、「じゃぁ、1.6.4をリリースしましょう」と決定するような人(達)に
とってもそうなんだろうか?というのが僕の疑問。
0737717NGNG
> でもね、「じゃぁ、1.6.4をリリースしましょう」と決定するような人(達)に
> とってもそうなんだろうか?というのが僕の疑問。
実際にコード書いてる人達にとって大変なのかはわかりませぬ。
でも、自分が出来ない他人の仕事を「簡単です」とはいえません。

もしかすると、コードをなおした人自身が
http://www.ruby-lang.org/ja/man-1.6/?cmd=view;name=ruby+1.6+feature
に書いてたりしてね。
0738デフォルトの名無しさんNGNG
>>727
リファレンスマニュアルがRDしかなくてうざいっす。
0739デフォルトの名無しさんNGNG
>>Rubyでもどうよ

じゃあ、ビールでもどうよ
0740デフォルトの名無しさんNGNG
外出かもしれませんが。

Delphiの人とRubyの人って重複してるのでしょうか?
0741デフォルトの名無しさんNGNG
>>740
Apolloをご覧下さいませ。
DelphiのコンポーネントをRuby上で扱えるよ。
RAAにも登録されているよ。
0742デフォルトの名無しさんNGNG
>>738
おまえがうざいわ。RDtoolぐらい根性でインストールせいや。
0743デフォルトの名無しさんNGNG
>>739
おごり?
0744デフォルトの名無しさんNGNG
> 個人的には、いい加減に「お客さん」などという観念自体捨てるべきだと思うね。
> 大体「お客さんか否か」なんて「作者側が好感を持ったか否か」という主観なんじゃないの?

 それはそう。みんな、それがよかれと思って作業しているし、ほかの人も
そうしてくれることを期待しつつ協力しあっている。それがムシのよすぎる
ことなら、今の状況にすら到達できなかったんじゃないかな。


 「お客さん」云々は、実際に積極的に飛び込んでくる人が思ったほどの
勢いでは増えていないことへの焦りやいらだちの現れでもあると思う。昔は
他の言語のファンからの冷やかし(また新しい言語作ってどうすんの?とか
Perlより遅くて全然ダメとか)も少なからずあったしね。

 まあ、そういうことは前ほど気にする必要もないくらい今は Ruby 自体も
充実してユーザも増えてきているから、お互いに傷つけ合うような言葉遣いは
慎むべきだね。

> きっと、「お客様」自身もその人なりに真面目にそのソフトウェアのことを考えて
> (その結果少々熱く)提案しているつもりなんだろうし。
> ステレオタイプなレッテル貼りはやめにしようぜ。

 提案だけではなかなか物事が動かないのは Ruby に限らずさんざん歴史が
証明しているよ。逆に自分から飛び込めば必ずいい化学反応がある。それは
程度によらないと思う。

 試しに、「ここにこんな但し書きを一行付けた方がいいんじゃないでしょうか?」
とか、「これについてもうちょっと詳しく書いてほしいです」と具体的に動いて
みたら?まずまちがいなく反応してくれるよ。そういうことの積み重ねでしか
物事は進まない、というか、そういうことで進んでいくものだよ。

 一人一人の作業できる量なんて、ほんと少ないんだもの。みんな自由な時間を
削ってやっているわけだし、かといってものすごい使命感に駆られてやっている
わけでもない。人によって本領を発揮できる分野も違う。だから、ちょっとしか
できなくても、大したことができなくても恥じることなんてない。

> それと、言っちゃ悪いが、俺の感覚ではプログラムを書くことなんて、クソするようなもんだ。
> 非効率によりたまりにたまったモノをプログラムを書いて問題解決しスッキリする。
> ドキュメント書きは、クソしたあとにケツを拭くようなもん。
> 「貢献しろ」などと言われて、他人のプログラムのドキュメントを書くなんざ、
> 他人のケツを拭いてやってるみたいで絶対にいやだね。
> まるっきり「ドキュメントくらいでしか貢献できない無能人間」みたいじゃん?
> やったって、一体何の見返りがあるんだ? そんな暇があったら、

 このたとえはちょっと。。それではドキュメント整備に協力する人は
「見返りもないのにドキュメントみたいな人の尻ぬぐいをする無能人間」
ということになってしまう。ドキュメント書きを汚物処理みたいに言わないで。。

> どんどん新たなソースコード読んで知識広げてったほうがまだマシ。
> Ruby 共同体の考えの甘さは、俺以外にも持ってるのかもしれない心情を把握せず、
> 「ドキュメント書いて貢献しろ」なんていってること。ムシが良すぎるんだよ。

 君の考え方は、そういう考え方が広まれば誰もドキュメントを書かなくなる、
ということの解説になってしまっているんじゃないかな。少々ムシがよくても
いいじゃないか。そういう意識がないと、結局一部の人に負担が集中したまま
改善しないんだから。中心の方にいるほとんどの人は、 Ruby に割ける時間や
精力のほとんどを今やっていることですべて費やしてしまっていると思う。
もちろん、ドキュメントの方にもう少し費やしてくれ、というのはよく分かるよ。

> そんなんだから、なっかなかドキュメント書きが進行しない。
> 各ソースコードの作者自身が積極的に自分から動いてドキュメント書きまくらなきゃ
> いつまでたってもいい状況にはならんと思うね。

 それはそう。作者が自分でちゃんと全部書けばいい状況になる。

 でも、利用者が少しずつでも協力するようになればもっといい状況になる。

 漠然とした不満の表明はさておいて、みんな小さいことから何かやってみない?
俺もやるからさ。ほんとに。


 あ、ビール俺も。
0745デフォルトの名無しさんNGNG
>>744
だからさ、
俺たちが何もしないから、現状は変わらないんだ。
現状が変わらないのは、俺達のせいなんだ、
っていう、奇妙な責任感を持つのは止めようよ。
あなたがコミットすれば現状は変わるかもしれないけど、
変わらない責任は、あなたには無い。
0746デフォルトの名無しさんNGNG
この板を読んでいると、妙な捉え方をする人が少なくないことが不思議だよ。
どうして「尻ぬぐい」「無能人間」「ムシがいい」「奇妙な責任感」なんて言葉が続々と出てくるんだろう。

>>745
>>744 の言っていることを分かっていないと思う。責任なんて一言も言ってないのに。
責任感なんて言葉を持ち出すのは、あなた自身の責任感が強すぎるから。肩の力を抜きなよ。

やることが美徳なのでも、やらないことが不徳なのでもない。やる人が特別な人なのでも決してない。
一度関わったらとことんやり続けなければいけないわけでもない。一撃離脱でもいい。

その場その場で、いいと思ったことだけ直接的、具体的に何かやって(言って)みればいいじゃん。
簡単だから。不満を自分の中に止めておくのが嫌だから、という理由だけで十分だよ。
0747デフォルトの名無しさんNGNG
感動age
0748デフォルトの名無しさんNGNG
>>735
無視されてるってことは短くなんないんじゃない?
ruby使う人って都合の悪いことは流す習性があるからさ・・・
キミはこいつらみたいになっちゃダメだぞ。
0749717NGNG
>>748
> 無視されてるってことは短くなんないんじゃない?
> ruby使う人って都合の悪いことは流す習性があるからさ・・・
> キミはこいつらみたいになっちゃダメだぞ。
Perl で eval と pack なんか使われるとまったく解読不可能なので無視してました。

Ruby では、1文字変数や過剰な省略は嫌われる傾向にあるので
「Ruby だとこんなに短く!」っては多分なりません。
あと、関数ベースにたいしてメソッドチェーンは「.」がつくぶん不利です ;-)

コードの長さはたいてい
Perl(ほとんど暗号) < Ruby < Python(こまかく import) になると思う。

0750デフォルトの名無しさんNGNG
>>748
あんなん読めん。つーか読む気にならん。
「責任感」もないし、気合いなんぞなおのことない。
0751デフォルトの名無しさんNGNG
>>749
やってみれば案外 Ruby の方が短く済むんじゃないかな。
eval や pack を含めて Perl にあるものはほとんど Ruby にもあるし、
何より変数に $ つけなくていいってだけで相当稼げそう。

メソッドチェーンの . が付く分不利ってどういうこと?
Perl だってスペース入れなきゃいけないし、それに
オブジェクトベースじゃないからいくつもつながるわけじゃないし。

>>750
暗号を読むのが苦痛で Ruby やっている人が、暗号を読んだり書いたりすることに
楽しみを感じるかどうか。俺はぜんぜん気が進まない。

といいつつ、つまらん vs. できねえのかよ では興ざめなので、やってみようか。
0752デフォルトの名無しさんNGNG
どのスレか忘れたけど、誰かが探してた各言語の
ベンチマークのページが見つかったので書いておく。

http://www.bagley.org/~doug/shootout/
0753717NGNG
>>751
> やってみれば案外 Ruby の方が短く済むんじゃないかな。
> eval や pack を含めて Perl にあるものはほとんど Ruby にもあるし、
> 何より変数に $ つけなくていいってだけで相当稼げそう。
確かに、Perl はローカル変数にも型を表す記号が必要ですね。

> メソッドチェーンの . が付く分不利ってどういうこと?
関数の返り値をつかえば length(gets(file)) って書けるけど
メソッドチェーンだと file.gets().length() になちゃうかな。と思ったんだけど
Ruby なら file.gets.length って書けますな。
希望が出てきたかも :-)
0754Just another PerlerNGNG
>>751
>やってみれば案外 Ruby の方が短く済むんじゃないかな。
>eval や pack を含めて Perl にあるものはほとんど Ruby にもあるし、
>何より変数に $ つけなくていいってだけで相当稼げそう。

$_を使いまくればどっちも $ をつける必要がないけど。
デフォルトで $_ が対象なのがRubyはPerlに比べると少ないけど。

>メソッドチェーンの . が付く分不利ってどういうこと?
>Perl だってスペース入れなきゃいけないし、それに
>オブジェクトベースじゃないからいくつもつながるわけじゃないし。

スペース入れなくてもわかるところは入れなくてもいいよ。
7行のはほとんど(全部?)省略してるはず。
0755デフォルトの名無しさんNGNG
Ruby の .NET 対応(CLR対応)ってする予定はありますか?
0756デフォルトの名無しさんNGNG
>>755
artonさんがやりたがってたような気がする(憶測)。
0757デフォルトの名無しさんNGNG
NET対応って、MSのライセンシーにならないと不可能だって聞いたけど
どうなの?
0758デフォルトの名無しさんNGNG
>>754
reverse sort @_ のスペースのことだよ。メソッドチェーンの . が云々が意味不明だったから的外れだったけど。

ところで、7行のやつが見つからなかったんだけど、だれかポインタ示してくれる?
(でもやっぱり見る気がしない。。)
0759デフォルトの名無しさんNGNG
Ruby本の256倍シリーズって言うやつ、寒くない?
RD Toolの解説とか言っちゃって…。
0760デフォルトの名無しさんNGNG
Rubyはんこまみれ
0761デフォルトの名無しさんNGNG
>>759
どうしてあんなに256倍シリーズが出るのか謎。編集に信者がいるの?
0762デフォルトの名無しさんNGNG
>>758
http://www.cs.cmu.edu/~dst/DeCSS/Gallery/
Perlのコードはここから。

あとついでに、
http://piza.2ch.net/test/read.cgi?bbs=tech&key=984182993&ls=50
「七行プログラミング」スレはここ。
0763デフォルトの名無しさんNGNG
>>759

ロクに解説本が出てないのにあんなゲス(っていうと作者に失礼だけど)な本が出てると、
Ruby自体を下げそう…


0764754NGNG
>>758
7行のはスペースの代わりに単項演算子の+を使ってるみたいだから、
reverse+sort@_みたいにすればスペースはいらない。

7行のpackやunpackをxやunxに圧縮してるみたいに単語を圧縮しないと
Rubyのはなかなか短くならないかも。
0765デフォルトの名無しさんNGNG
すみません、mkmfを使うとgcc用のmakefileが出来てしまうのですが、
MSVC用のmakefileを作るにはどのようにしたらいいのでしょうか?
0766デフォルトの名無しさんNGNG
>>763
何が下がるの? Rubyの品位とか印象とか?
それともRubyを使っている自分達の品位とか印象とか?

僕は256倍シリーズは読み物として楽しく読みました。
堅苦しい解説書は作者の本とかに任せて、
256倍シリーズは楽しく読める本にして欲しいです。
0767デフォルトの名無しさんNGNG
256のRacc本はけっこういい本だと思ったな。
他は読んでないから知らない。
0768デフォルトの名無しさんNGNG
邪道編以外は読んだけど、極道編(RubyUnit)が一番当たりだった。
0769デフォルトの名無しさんNGNG
RubyでCGIを作ろうと思っているのですが
basic認証で得たユーザー名を取得する方法ってあります?
0770デフォルトの名無しさんNGNG
RD本は、Emacs信者以外はやめといたほうがいいぞ。
あまりのEmacs信者ぶりに吐き気がしたよ。
Emacs使う上で、RDが便利だから、RDを広めようと
していることもわかった。
世の中Emacs使いだけじゃないんだぞーー。
0771デフォルトの名無しさんNGNG
>>770
俺も半ばお布施のつもりで買ったが、完全にお布施になったな。
0772デフォルトの名無しさんNGNG
>>765
--with-make-prog=nmakeをつけるとか、set MAKE=nmakeを設定しとく
とかすればMSVC用というかnmake用になる、ような気がする。

つーかwin32/config.status.inでは
s%@configure_args@%--with-make-prog=nmake --enable-shared%g
となってるからmswin32版のデフォルトはnmake使うはずでは。
0773デフォルトの名無しさんNGNG
>770
そういう貴方はvi使い?
0774デフォルトの名無しさんNGNG
>>773
!Emacs = vi な世界にお住まいのようで。
俺は秀丸だよ。
0775デフォルトの名無しさんNGNG
ねえ、なんでみんなsage書きすんの? ageていこうよ。
0776デフォルトの名無しさんNGNG
>774
Emacsのキーバインド?
0777770NGNG
>>776
えーと、マジレスっすか、それ。
0778デフォルトの名無しさんNGNG
256倍本、個人的ランキング
役にたった編
1. RubyUnit 2. Racc 3. arton 4. RD
情報濃いぞ編
1. arton 2. Racc 3. RubyUnit 4. RD

ちなみに、俺はUnixメインでWindowsは仕事で使う程度。
0779778NGNG
ちなみに、今までの256倍本は10冊以上平積みされていたが、
RD本は2冊しかなかった(w
0780デフォルトの名無しさんNGNG
なんか、RDに恨みがある人がいるみたいね(w
0781デフォルトの名無しさんNGNG
>>780

いや、RubyコミュニティーはRDとかいうのに妙に自信持っていて嫌なんだよね。
でもあんな単純なものでもフォーマットとか言って本まで一冊かいてしまう
コミュニティーの勢いはほんとすごいと思う。
0782デフォルトの名無しさんNGNG
今、781がいいこと言った!
0783デフォルトの名無しさんNGNG
RDが嫌いな人はPerlのPODも嫌いなの?
0784デフォルトの名無しさんNGNG
>>781
あの本はRDフォーマットの本というよりも、
RDtoolとその周辺についての本だよね。
フォーマットの話に尽きるんだったら、
もう少し違う本になったような気がする。
0785デフォルトの名無しさんNGNG
RD本は、内容を4倍(当社比)ほどに薄めているところが気に食わん。
1ページ目に誤植があるのも萎え萎え。
0786デフォルトの名無しさんNGNG
Raccってどういうことするツール?
yaccの出力がRubyソースになってるってこと?
0787デフォルトの名無しさんNGNG
>>769
ENV['HTTP_USER']あたりに入ってない?
0788青木峰榔NGNG
>786
まずは手にとって買ってくれ
話はそれからだ
0789765NGNG
>>772
どうもありがとうございます。
どうやら単純なミスでした。自分でコンパイルしたVC版とは別の
Rubyを使っていたからだと思います。
VC版のRubyを使ったら、なぜかmkmfで作ったmakefileを使わなくても
うまく出来てしまったので、それでやっていくことにしました。

しかし、mkmkfのmakefileを使うと、外部参照が解決されていませんという
エラーが出てしまいます。
0790765NGNG
もう一つ質問があります。rb_define_classの二番目の引数のVALUE superは
どのような意味なのでしょうか。Ruby本やRuby.extを見ましたが、引数の説明が
ないようです。
いろいろなソースを見るとrb_cObjectを指定することが多いようなんですが、
おそらく、rb_cObjectというのはObjectクラスのことですよね?
0791デフォルトの名無しさんNGNG
>>789
mkmfをどう使ってMakefileを作ったのかとか、なんのシンボルが参照
できなかったのかとか書くと分かる人がいるかも。
0792デフォルトの名無しさんNGNG
>>790
superはその名の通りスーパークラス。継承したいクラスを指定する。
rb_cObject(=Object)を指定してるのはとくに何も継承しない場合。
0793デフォルトの名無しさんNGNG
Rubyを256倍使うための本 魔道編(RD本)、売れてるみたいね。
http://www.book-chase.com/cgi-web/bestseller.cgi?jenre=pc
で、一位。
0794デフォルトの名無しさんNGNG
Racc本は、yaccを知ってる人も知らない人にもお勧め。
0795デフォルトの名無しさんNGNG
俺、yaccの何が嫌って、複雑な構造をぶら下げ出すと
共用体が果てしなく太ってくとこなのよね。
(全Object共通の基底構造体を作ればいいっちゃいい話なんだが)
だから、あのraccの素直な書き方にはちょっと感動しちゃったよ。
0796デフォルトの名無しさんNGNG
ぎこるび、どこいった。
0797名無しさんNGNG
ぎこるびはお星さまになりました。
0798デフォルトの名無しさんNGNG
>>781
RubyコミュニティーがRDに自信を持っているなんてはじめて聞いた。
その本の書き口からそういう印象を持ったの?

ある程度そのまま読めて、HTML書くよりは柔軟で楽だから使っているけど、
使っている人はみんな何かしら不満を持っているよねえ。

拡張の案が出るたびにポリシー上の理由から採用されずに消えているし。
0799デフォルトの名無しさんNGNG
つか、なんだよ「るびきち」って。
馬鹿な名前。
いかにも洗脳された逝かれ野郎って感じ。
0800デフォルトの名無しさんNGNG
http://www.zdnet.co.jp/news/0104/02/e_somogyi.html
0801No offence, but...NGNG
RD used to be simple and straight.
There was nothing like ((<(({}))>)).

IMHO, it does not suit hand-typing nor human-reading anymore.
0802いつでもどこでも名無しさんNGNG
Ruby本英語版、9月延期age
0803攻撃はない、しかし...NGNG
通りは常に単純で直線でした。
何もありませんでした、のように(<({})>)。
IMHO、それは手をタイプすることに適しません、
および、人間を今は読むこと。

だって。(Excite訳)
0804デフォルトの名無しさんNGNG
いまどきの外人は nor なんて使わないよねぇ
変な英文だ...
0805デフォルトの名無しさんNGNG
使わないことないよ。nor の方が強調的だから、書き言葉ではしばしば使われます。

それより、もし今どきの日本人を自認しているなら「外人」という言葉の方に違和感を感じてほしい。
0806デフォルトの名無しさんNGNG
>>805
804じゃないですけど、日本人以外の外国人のことを
外人って言ったらダメなんですか?

それはおいといて、
>>801
RDのinlineは便利でよく使ってしまうんだけど、
plain textとしてRDな文章を読む時には目障りになりがち。
予め整形前データとして作るならinline使いまくるんだけど。
0807801NGNG
alphabet shika tsukaenai kankyou nanode hetana eigo de kaite mitano. gomen ne. romaji de kaite mimasu.
>>806 san
atoshori suru koto ga zentei dattara, RD no chousho(tegarusa) ga hangen shite shimau no dewa?
douse atoshori suruno dattara issonokoto XML-based toka ni shitekureta houga ii kanaa.
ato RD no inline wa editor ga kashikoku naito kakukini naranai deshou. itsumo Emacs ga tsukaeru toka kagiranai kara...
0808801NGNG
roma ji uzai ne...
to iuka boku no kakikomi ga uzai kamo.
self<<"itteyoshi\n"*256

# I don't mean that RD is poorly designed. It's just my humble opinion.
0809806NGNG
>>807=801
「後処理するくらいならXMLベースにしてみたら?」
というのは確かに尤もなんだけど、
801さんも上げている「手軽さ」というよりも
「書き易さ」みたいなものをRDには感じているので、
やはりRDで書きたいです。もしかしたらこれは
読み手ではなくて書き手の心理なのかもしれませんが。

「RDのinlineは賢いエディタじゃないと書く気にならない」
というのはいまいちピンとこない。今Windowsのxyzzyという
Emacs似のエディタを使っているからかもしれないけど、
メモ帳だって問題無いでしょ。ちなみに
RD mode(xyzzyならRD minor mode?)は使っていません。

とりあえずinlineは使わなくてもRD的に問題なさそうだから、
(文章の構造自体にinlineは関わっていない。inlineが
他の要素に関わろうとはするけれど)使いたい時に使う、
でOK。逆にRWikiなんかはinlineないと辛い。そんな感じ?

あぁなんか「そんなことわかってるよボケ」的とか言われる
気がするよ。逝ってきます。
0810765NGNG
>>791
mkmfは ruby -rmkmf -e "create_makefile('hoge')"
のようにコマンドラインで作り、nmakeを実行すると、

LINK : warning LNK4001: オブジェクト ファイルが指定されていません。ライブラリを使用します
LINK : warning LNK4068: /MACHINE の指定がありません; IX86 をデフォルトとします
LINK : warning LNK4001: オブジェクト ファイルが指定されていません。ライブラリを使用します
LINK : error LNK2001: 外部シンボル "Init_hoge" は未解決です
hoge.lib : fatal error LNK1120: 外部参照 1 が未解決です。
LINK : fatal error LNK1141: エクスポート ファイルのビルド中に障害が起こりました。

という感じのエラーが出ました。

>>792
なるほど、ありがとうございます。言われてみれば非常に単純なことでしたね。
rb_define_class_underと混同してしまっていました。

しかし、またもや問題が起きてしまいました。rb_define_classでrb_cObjectを使うと
[BUG] Segmantation Faultというエラーが出てしまいます。
これはどうしてなんでしょうか?
0811デフォルトの名無しさんNGNG
>>810
> LINK : warning LNK4068: /MACHINE の指定がありません; IX86 をデフォルトとします

これはどうでもいいけど、それ以外のwarningを見るとどうもオブジェ
クトファイルが指定されてないような感じ。

で、ちょっと記憶に引っかかるものがあったので探してみたら
[ruby-list:28864]なんてのを発見。もしMakefile中の OBJS = で始ま
る行が空になってるならたぶんこれ。
スナップショットでは直ってるはずなんでそっちを試してください。

> しかし、またもや問題が起きてしまいました。rb_define_classでrb_cObjectを使うと
> [BUG] Segmantation Faultというエラーが出てしまいます。

これはMakefile作らずにやったとき? ならやっぱり-DIMPORTがついて
ないせいのような。

そうか、だからやたらとIMPORTの話が出てたのか。
0812805NGNG
>>806
804の文脈で「外人」という言葉を選ぶ感覚はおかしいと思わない?
たぶん、漠然と英米人をイメージして外人と言ってるんだと思うよ。

Rubyと関係ないのでここらにしよう。
0813デフォルトの名無しさんNGNG
>>812
英語話すのは英米人だけじゃないだろ
0814デフォルトの名無しさんNGNG
スクリプト内で Dir.chdir("c:/hoge") とかやって
ディレクトリを移動してそのまま終了させたい場合が
あるんですけど、なぜか起動したディレクトリに戻ってしまいます
対処方法ってないでしょうか?
0815デフォルトの名無しさんNGNG
>>814
shell の cwd と Ruby の cwd は別もんなんだろうから、
shell 側で cd .. するしかないんでは?
MS-DOS ならバッチファイルでも書いてやるとか。
0816805NGNG
>>813
そんなのは言わずもがな。俺でなく 804 に言えよ。
0817デフォルトの名無しさんNGNG
>>815
Command.com だと、 Ruby スクリプトが終了時に "cd " + Dir.pwd を何かのファイル(X とする)に
出力するようにして、その Ruby スクリプトを実行後 CALL X するようなバッチファイルを書き、
そいつを CALL で呼んでやるようにしないとダメかも。(分かりにくいが)

Windows NT/2000 の cmd.exe はよく分からない。下の方法が使えるかも?

UNIX 系のシェル(含 cygwin + bash)なら alias で cd `ruby ...; cat X` を登録すればOK。
0818817NGNG
おっと、 cd が一つ余計だ。

一時ファイルを作らない方法は自分で工夫してみて。
0819デフォルトの名無しさんNGNG
>>816
どうしようもないahoだなおまえ。現代英語が英米人だけのものじゃ
ないから外人って書いてあるんだろ。現代英語は英米人しか書かないと
思い込んでいる脳みそをどうにかしろよ。
0820816NGNG
>>819
そういう言葉遣いはしない方がいい。俺はそういう口調でしゃべるといつも自分で胃がきりきりしてくるから、自戒の念をこめて、自分の心を大切にしましょうと言いたい。

俺は毎日多くの国の人と話をする中で nor の使われ方も見ている。そういう場では他の日本人とも英語で話すから、そういう際に英米人とか外人という括りを意識することはほとんどないし、君がそれとかけ離れた認識を持っているとも思わない。

では >>812 は何かと言えば、『 >>804 は「変」かどうかを話題にしているのだから、その文脈での「外人」が何を念頭においているかと言えば、英語を普段ネイティブ(同然)に話す人だろう。』という推論なのです。Ahoでどうにもならん脳みその所産かもしれないね。

ただ俺は、 >>801 は立派な英語だと思うし、これからも(ここに英語で書き込むのがいいかどうかはさておき)自信を持って使ってほしいと願うばかり。

無益だからここらで切り上げよう。続きは語学板かどこかでお願いします。
0821814NGNG
>>815 >>817
レスどうもです
バッチファイルに出力して後から実行する方法は
うまくいきますが、なんか美しくないですね。。。
bashの方は結構いいかも。hoge.rb でディレクトリを
標準出力させて cd `ruby hoge.rb` とか。
こうやるとテンポラリファイルも必要なくなりましたし。

で、alias登録しようと単純に、
$ alias foo="cd `ruby hoge.rb`"
とかやってみると `...` が登録する時点で展開されちゃいますね
うーん、bash(cygwin環境)は最近使い始めたばかりなんで・・・
もうちょっと勉強してきます
0822デフォルトの名無しさんNGNG
"" じゃなくて '' で括らないとだめだよ。

あと、 alias foo='cd `ruby hoge.rb`' だと hoge.rb の標準出力はみんな食われちゃうけど、OK?
0823814NGNG
おっしゃる通り、''で括ったらうまくいきました
ってゆうかこれ Ruby の文字列の場合と同じ扱いなんですね
bashってすげーなぁ

>hoge.rb の標準出力はみんな食われちゃうけど、OK?
今のところOKですけど、でもうーん、ま、いいや。
0824デフォルトの名無しさんNGNG
あくまで推測ですが、814さんがやろうとしていることは、
オライリーのbashでも買って来れば問題解決するんでは
ないかと思われ。「rubyを使って解決する」ということに
意味がある場合もありますが。
私はしばしばそうです<ruby使うのが目的の半分以上。
ま、趣味のプログラミングですから。
0825デフォルトの名無しさんNGNG
>>823
というか、shの伝統をrubyが受け継いでるってのが正解です。
0826デフォルトの名無しさんNGNG
なるほど。そういう伝統を全然知らないんで、
てっきりPerlの仕様を受け継いだのかと思ってました
0827デフォルトの名無しさんNGNG
NHK放送中age
Perlの綴りくらいきちんと書けよ・・・>NHK
0828デフォルトの名無しさんNGNG
Pearlって。。。
0829デフォルトの名無しさんNGNG
俺もRubyやろっかなぁ
0830>NHKNGNG
このおっさんだれよ?
0831デフォルトの名無しさんNGNG
にいちゃんが歌唄ってるぞ。>NHK
0832デフォルトの名無しさんNGNG
>>831
 NHK総合見てどないすんね〜ん。
0833デフォルトの名無しさんNGNG
Ruby作った人出てたよ。ヲタクっぽかった
0834デフォルトの名無しさんNGNG
NHKのやつって再放送?
つーか、また見逃してるし。
まつもとさんがどんな人か見たかったのになぁ
0835デフォルトの名無しさんNGNG
>>826
ある意味Perl経由で受け継いでるともいえる。
0836デフォルトの名無しさんNGNG
才媛す愛な。科学の名を騙り綺麗なねーちゃん並べる番組。

再放送とはちょっと違った。
同じ映像も使ってる(だからPearlが直ってない(笑))けど
それに才媛す愛的なコメントを被せたりしてたし、
おっさん(笑)も出てたし。matz氏よろこんでるぞ>MLログブレード

あ。そのmatz氏mailによると今日分の再放送は4/14 15:15だそうだ。
これって才媛すの通常の再放送時間だったかな?
顔(笑)見たい人はこれでどうぞ。
#ただし、顔だけ見ても「どんな人」かわかるかは不明。
#知りたけりゃML読むほうが…
0837NHKNGNG
ビデオに永久保存したよ
0838デフォルトの名無しさんNGNG
NHKのサイトで動画流してないの?
0839デフォルトの名無しさんNGNG
ところで、Rubyのライセンスを守って配布しても、配布するため
に守らなくてはいけないライセンスを全部満たさない問題は
どうなったんだ?
0840>837NGNG
アプきぼん
0841デフォルトの名無しさんNGNG
RDみたいな専用方式を採用しなくても、
nroff とかプレーンテキストとかHTMLではいけなかったのかな?
NIH症候群を感じます。
0842デフォルトの名無しさんNGNG
>>841
RDの説明に「PerlのPODのようなもの」とあるように、
Rubyの為のPODを欲したんじゃないのかな。
それが本当に必要なのかは別として、今あるものを
無くす必要は無いと思うよ。

ところでRDってもともとまつもとさんが考えたものだよね。
でもまつもとさん自身がRDを開設したり説明したりしている
文書や記事を見たことが無いんだけど、知っている人いる?
0843デフォルトの名無しさんNGNG
>>839
ごめん、その話知らないんだけど、何か事情がわかる
ページなり何なりを紹介してもらえませんか?
0844デフォルトの名無しさんNGNG
>>843
ここの260以降あたり。
http://piza.2ch.net/test/read.cgi?bbs=tech&key=980786239
0845デフォルトの名無しさんNGNG
>>839
まつもとさんにはメールしたんだけど、まつもとさんとしても
いい書き方が思いつかないようで困っているらしい。
vsnprintf.cはそれ自体を書き換えようかなあ、とも。

俺としても(特にLGPLは)なかなか理解しにくいんで、こうすれば
いい、という提案はできていない。すまん。もう少ししたら
まとまった形で文書を書いて提案できるかもしれん。
0846デフォルトの名無しさんNGNG
>>844
ありがとう。これから読んでみます。
0847843=846NGNG
読みました。読み間違えていたら申し訳ないけど、
寄せ集めたソースのそれぞれに異なったライセンスが
付けられていて、それらとRubyのライセンスがかみ合わない
ってことなのかな。

現状まずいものをまつもとさんもしくはそれ以外の人が
置き換える、もしくはもっと緩いライセンスが付いた既存の
実装に置き換える、という方法は無いのかな。
手間はかかるけど、それ以降の普及具合を考えれば
やって損は無いと思うけど。

なんか激しく勘違いしている気がする。すまん。
0848デフォルトの名無しさんNGNG
BSD系のライセンスは、どういう形態で配る時も
そのライセンスの文句をファイルに含めておか
ないといけないと言ってるような気がする。
Rubyには何個もそういうライセンスが入ってるから
その全部のライセンスが示されていないと配ることが
出来ないと思う。
0849デフォルトの名無しさんNGNG
PythonやPerlはそこらへん問題ないの?
0850デフォルトの名無しさんNGNG
Ruby の COPYING に文面を含めるだけでいいんじゃないの?」
そんなに UCB の名前を入れるのが嫌なのかな。

Perl はいくつかの拡張ライブラリが BSDL だけど本体はぜんぶ Artistic License みたい。

Python 2.0 は GPL なものは入っていないけど、 Include/pyfpe.h は BSDL で、
Python.h がそれを無条件に include してるから、必然的に BSDL なコードを含むことになるね。

ということで、 Python も同じ状況みたい。

どっちにしても、ライセンスには「それぞれのソースの条項に従う事」と書いておいて、
あとは使う側が考えることだね。vsnprintf.c がリンクされたかどうかは調べようはあるでしょ。
0851デフォルトの名無しさんNGNG
config.h の #define HAVE_VSNPRINTF 1 の有無で分かるな。

バイナリを作って配布する人は当然調べて明記しておかないといけないね。
例えば、Win32バイナリには含まれる。
0852850NGNG
まちがえた。COPYING は GPL2 の文面そのものだね。README / README.JPでした。

util.c は Artistic License を選べるから問題なし。

st.[ch] は public domain という宣言がある。

gc.c については著作権表示は残ってないみたい。もう跡形もないということ?

結局、 regex.[ch] (LGPL)のソースが入手できる保証をして、 missing 以下の
BSDL なものをリンクしたバイナリでは BSDL の文面を付けてやればOK?

BSDL は表示さえすればほとんどどう使ってもOKなライセンスだし、
Artistic License は穴があるから事実上配布制限がないに等しい。

Public domain とあるものについては、作者とかけあって Ruby のライセンスで
配布してもいいという言質あるいは文面を取り付けた取った方が安全なのかも。
(商売に使う場合)

残る問題は crypt.c と alloca.c。crypt.c は、本に載ってるのを C で書き直した、
とあるから、著作権としては問題ない気がする。

alloca() がないプラットフォームはどんなのがあるのかな。要注意かも。
0853850NGNG
で、 Ruby のライセンスに立ち戻ってどう直せばいいかと言うと、
てっとり早いのは「4項は3項よりも優先される」と明記することか?
0854デフォルトの名無しさんNGNG
でもさ、C言語の知識がないと調べられないよね。
C言語の知識があってもmakeや、configure等の知識が無かったら駄目。
それに、自分で調べると漏れがあるかもしれない。
だから、「これこれの環境のバイナリなら、こういう文面にして配らないと
いけないよ。」等と書いておくべきだと思う。
0855デフォルトの名無しさんNGNG
つか、そもそもソース見ないとわからない時点でおかしいだろ。
0856デフォルトの名無しさんNGNG
>>854
configureした環境のバージョンやインストール状況によって変わるし、
未知のプラットフォームについて調べつくすこともできないからなあ。
代表的なプラットフォームの典型的な環境での例は挙げられるだろうけど、
それが絶対だと思われても困るし、難しいところだ。

ライセンスにはどのファイルに注意する必要があるか書いてあるけど、それを
configure の結果を調べてライセンスについて自動的にチェック・警告してくれる
ツールが付くと便利かな。そんなことまでしているオープンソースなソフトは
見かけないが、 Ruby が最初にそれをやるというのも一興。

>>855
バイナリを作って配布する人間は、違反したら自分の責任になるんだから、
ソースぐらい見た方が賢明だろう。

上で書いたように、ソースがあってコンパイルした状態から簡単に分かる
ようになればね。
0857デフォルトの名無しさんNGNG
>>852
gc.cはそうらしい。CVSのREADME.jpからはすでにgc.cの名前は消えている。
http://www.ruby-lang.org/~knu/cgi-bin/cvsweb.cgi/ruby/README.jp?rev=1.12

alloca.c って missing/alloca.cのこと? 1行目に
public-domain implementationって書いてない?
0858852NGNG
ほんとだ。rms の名前があったからもしかしたら、と思っちゃった。
0859デフォルトの名無しさんNGNG
なんか、BSDLやGPLライセンスってウザイネ。
0860デフォルトの名無しさんNGNG
>>856
環境が色々あると言うけど、バイナリで配るのはwinでは?
0861デフォルトの名無しさんNGNG
Win以外にもたくさんのプラットフォームでバイナリパッケージが配布されてるよ。
Linux (Debian, Vine, Kondara, ...), FreeBSD, NetBSD, OpenBSD, Darwin (MacOS X), ...
0862デフォルトの名無しさんNGNG
Unixでバイナリ配布なんて言うなよ・・・
0863デフォルトの名無しさんNGNG
RDの質問。
1. 変換したHTMLに<hr>を入れたいんだけど出来ますか?
2. ftpなハイパーリンクの書き方。
  ftp://ftp.hoge.com/pub/foo/bar/
  みたいなリンクを入れたい。

・・・出来ない場合。
RDみたいな上記1,2を実現できるtext->htmlフォーマッタってありますか?
0864デフォルトの名無しさんNGNG
>>863
<hr>はRDからは入れられないと思う。
予め <hr> だけのファイルを用意して、
<<< でincludeするとか。

2.は((<URL:ftp://ftp.hoge.com/pub/foo/bar/>))じゃだめ?
見た目に「URL」とかが付くからダメなのかな。
0865デフォルトの名無しさんNGNG
>>862
PDA上でもUNIX系のOSを動かすご時世だし、非力なマシンを使ってるとバイナリ配布はありがたいよ。
(でも、今どきのPDAは昔のUNIXワークステーションより速いかも。。)
0866デフォルトの名無しさんNGNG
>>862
PDA上でもUNIX系のOSを動かすご時世だし、非力なマシンを使ってるとバイナリ配布はありがたいよ。
(でも、今どきのPDAは昔のUNIXワークステーションより速いかも。。)
0867デフォルトの名無しさんNGNG
>Unixでバイナリ配布なんて言うなよ・・・
ここのrubyistってこんなのばっかり...
0868デフォルトの名無しさんNGNG
>>867
まぁそう言わないで。全員が>>862のようなな事を
思っているわけではないと思うから。
0869デフォルトの名無しさんNGNG
ちょっとageていこう。

ruby-listにライセンスがらみにやりとりがあったよね。
あれってココでの話題の答えかヒントになるのかな。
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/29154

まつもとさんは、
「regexp.cを差し替えて再リンクできるようにしてください。」
と言っている。で、この「再リンク出来るようにする」というのは
「あとでユーザが差し替えられるような用意をしておく」って意味?
それとも「予め問題無いregexp.cをリンクしておけ」という意味?
読んでいてどうとでも取れそうな気がして頭が混乱してます。
0870デフォルトの名無しさんNGNG
regexだけじゃなくて、missing下のBSDLも全部変えて欲しい。
0871デフォルトの名無しさんNGNG
rubyをこれから勉強したいと思っています。
rubyで作られた、アクセスカウンター、掲示板などのCGIサンプルが
あるサイトを知っている方教えてください。なんかどこもかしこもperl
ばっかりです。よろしくお願いします。。。。。
0872デフォルトの名無しさんNGNG
rubyでcgiって本が出てたよ。

あとこのスレもそろそろpart2たてる?
0873863NGNG
>>864
> <hr>はRDからは入れられないと思う。
> 予め <hr> だけのファイルを用意して、
> <<< でincludeするとか。
<hr>
と書いただけのファイルをincludeしようとすると、Errorになりました。
で、=begin =endでくくってincludeしようとすると、
<hr>
とエンコードされてしまいます。うーん。

> 2.は((<URL:ftp://ftp.hoge.com/pub/foo/bar/>))じゃだめ?
> 見た目に「URL」とかが付くからダメなのかな。
あ、これで良いのですね。
昨日は似たようなことを試行錯誤してたんですが、なぜかErrorになって
しまい、途方にくれていました。
0874デフォルトの名無しさんNGNG
君らもプログラマなんだったら、バイナリファイルとテキストファイル
などという幻想は、DOSにしか存在しないことくらい知ってるだろう。
0875デフォルトの名無しさんNGNG
つまらん。
0876デフォルトの名無しさんNGNG
。んらまつ
0877ぎこるびNGNG
>>871
RubyでCGIを作ろう
http://www.hi-fi-net.com/ruby/cgi/
「RubyによるCGIプログラミング」本のサイト
http://www.rubycgi.org/

実はここでそういう話題をしようとしたんですけど、
あえなく挫折しました(笑
http://tako.2ch.net/test/read.cgi?bbs=perl&key=969198148
0878ぎこるびNGNG
サンプルどころか、実物すらあんまりないです。
とりあえず、いくつか。

*WebBBS
RuBBS
http://www.spc.gr.jp/bbs/RuBBS.html
Q's WebBoard
http://www2.airnet.ne.jp/pak04955/ruby.htm

*カウンタ
N桁対応GIFカウンタ
http://www.hi-fi-net.com/ruby/count/
0879デフォルトの名無しさんNGNG
>>874
はァ?DOSにしかないのは入出力のバイナリモードとテキストモードだろ。
ソースをzipやtarballで固めたのをバイナリ配布だと思ってる?ネタのつもりか?
0880864NGNG
>>873
=begin
<<< hr
=end
という内容のfoo.rdとして作成する。そして
<hr>
のみのファイルをhr.htmlとして作成する。
あとはrd2 foo.rdでオッケー。
ちなみに <<< hr.html とすると
hr.html.rd や hr.html.html を読もうとするので注意。
0881デフォルトの名無しさんNGNG
>>879
tarballで固めるって何だよ・・・
厨房は黙ってろ。
0882デフォルトの名無しさんNGNG
"UNIX バイナリ配布"でgoogle検索したら、470件Hitした。
一発目がXFree86のInstallation Details for XFree86[tm] 4.0.3
誰だよ、バイナリ配布なんて約した奴は。

でも、人口に膾炙しているみたいなので、>>874は取り消す。すまん。
0883873NGNG
>>880
><hr>
>のみのファイルをhr.htmlとして作成する。

これが、キモなんですね。
解って見れば、なんと簡単なこと。

こういう使い方ってあまりしないのかな?
Ruby本(黄色)をパラパラと立ち読みしたのですが、
書いてなかったような気がします。
0884デフォルトの名無しさんNGNG
>>882 binary distribution で検索してみ。

1.6.4-preview1あげ。
0885デフォルトの名無しさんNGNG
>>884
げ、何だこれは。いつの間にこんな言葉が流行ってるんだ。
いや、俺が井の中の蛙なんだろうが、最近のUNIX屋はみんな
使ってるのか?
0886デフォルトの名無しさんNGNG
じじぃは逝ってよし。最近はバイナリ配布の時代なの。
0887>>883NGNG
P.84「出力するフォーマットのファイルのインクルード」
0888>>882NGNG
でも、/usr/binとかbinfmt_elf.cとかあるのでbinary fileという用法
はあると思うし、それをパッケージングしてるわけだからバイナリパッ
ケージという用語はありだと思うけど。
# /binって/usrとか/varみたいにacronymがついてたんだっけ?
0889882NGNG
いや、もういじめないでくれ。
俺はUNIXを10年やってきたけど、「バイナリ配布」というのは
初めて聞いたな。
というか、何度も聞いてはいるが、それはWindowsの話だと
思ってた。
つーか、ファイルなんて、マジックナンバーが違うだけで、
テキストもバイナリも無いと本気で思ってたよ。
0890デフォルトの名無しさんNGNG
>>889さんの話はそれはそれで納得。それに対して言うことは無し。
ただ、今回のバイナリ配布という言葉の持つ意味は、
どちらかというとソースファイルとコンパイル済みファイルの違い
みたいなものじゃないかなと思う。

例に挙がっていたUNIX関連のバイナリパッケージなんかは、
まさに予めコンパイルした実行ファイル等をまとめたファイルを
配布しているわけだから。Rubyスレとしてこの話が出てきたのも
コンパイルした後の心配事が発端なんだしね。

改行コードについては誰も言及していないはずなので、
そこらへんの話はこれで終わり。

というわけで、ライセンスの話は終わったの?
0891888NGNG
>>889
ごめん。885読む前に書いたやつだから。
送った後で885読んでタイミング悪かったとは思ったけど、
別にいじめたり非難したりするようなつもりはないので勘弁。
0892883NGNG
>>887
>P.84「出力するフォーマットのファイルのインクルード」

わざわざありがとうございます。立ち読み(ぉぃ)で確認しました。
これぐらい、マニュアルに書いとけよな、と思い再度rd-draft.rd.ja
を確認したら、Includeの所にちゃんと書いてました。

最初にこれ読んだときに、意味がわからず無意識に読み飛ばし
んだと思います。

逝ってきます。
0893デフォルトの名無しさんNGNG
では、900番取った人が、次スレ立てるっちゅーことで。
0894デフォルトの名無しさんNGNG
RD、実際に使い始めてみると結構いいぞ。
俺はVine使ってたんだけど(ViViの著者によるアレ)
RDの方が手軽でいいね。
0895デフォルトの名無しさんNGNG
>>894
VineってLinuxでは無かったのね(0点)。
Vineはかなり印刷を前提としているようですから、
RDとはまた違う使い道があるのでしょう。

僕もRDが手軽というのには同意します。シンプルな
ところが好き(Inlineは便利だけど例外)。
0896デフォルトの名無しさんNGNG
RDって何するものなの?
0897デフォルトの名無しさんNGNG
>>896
ASCIIから発行された「Rubyを256倍使うための本
魔道編」によると「RDは(中略)ドキュメントの書き方」とあります。

インターネット上では
www2.pos.to/~tosh/ruby/rdtool/ja/whats.html
www.open-news.com/~maki/txt/whatsrd.html
等にまとめられていますので読んでみてください。
上記のページからさらにリンクをたどっていけば、
大体印象がつかめると思います。
0898デフォルトの名無しさんNGNG
age
0899デフォルトの名無しさんNGNG
このスレで終りにします
0900デフォルトの名無しさんNGNG
900とった
0901デフォルトの名無しさんNGNG
やったーーーー!!!!!!!
901番とったぁぁぁ!!!!!
0902ageNGNG
>>900, >>901
それがどうした?
俺は902とったぞ
0903デフォルトの名無しさんNGNG
>>900-902
あぁいいなぁ。
でもオレ903とったもんね。
0904デフォルトの名無しさんNGNG
Object Day 2001で、松本さん話すらしいな。

http://www.ogis-ri.co.jp/otc/objday2001/
0905デフォルトの名無しさんNGNG
新スレに移行しませう。
http://piza.2ch.net/test/read.cgi?bbs=tech&key=987231068
レス数が900を超えています。1000を超えると表示できなくなるよ。