1 :
デフォルトの名無しさん :
2005/09/29(木) 22:23:50
2 :
デフォルトの名無しさん :2005/09/29(木) 22:24:31
おっつー
むしゃくしゃして立てた。新しいものならなんでも良かった。 今は反省している。
6 :
デフォルトの名無しさん :2005/09/29(木) 23:32:39
Rubyからご都合主義をとるとあんまり良い物じゃ無くなるのはやはり思想に問題があるのか?
もちかれ>>1
どーでもいいけど標準Rubyクラスってないんだね。 なんか面白いメソッドがぶら下がってんじゃないかと期待したのに。
10.times{ puts "乙" }
for i in 1..11; puts "乙"; end
print "乙\n" * 10
puts ["\xb2", "\xb5"].join
猛秋田
xrb並みに飽きるの早いな
まあこれ以上続けても面白そうなバリエーションは期待できそうにないしな。
やるなら前スレ埋める為にやれよと
それだと前スレはなかなか落ちない罠
最近、Exerbのruby182g.excに対してAVGが「ウイルスだっ!」と言ってきかないんですけど。 ExerbとAVG使ってて、英語が得意な、20歳未満の女子の方がおられましたら、 ちょっと打ち合わせしませんか?
海外ならいるかもね。 日本語は得意じゃないかもだけど。
ウイルスなんだろ
結局、英語圏には脆弱性はアナウンスされたの? 「もう一件の脆弱性」とやらはどうなったのかも気になる。
ノンブロッキングなgetsってないの?
先行入力こそ全て、なプログラムじゃあるまいか プロンプトが表示される前に打ち終わってなければ負け
雑談だが……メインがC++、スクリプト的処理にRuby使ってるのだが、 Rubyの 「インスタンス変数は@から、クラス変数は@@から」 「真偽値を返すメソッドは?接尾辞をつけられる」 という仕様は、よく考えられてるなあ、と思う。 この仕様って何かからの流用?Rubyオリジナル?
predicate に question mark を付けるのは scheme からかな?
Objective-C ではクラスメソッドの定義は + を、インスタンスメソッドの定義には - を付けるね。 ObjeC からの直接的な影響は無いと思うけど、Ruby Origin ではないと思う。
クラスメソッドとインスタンスメソッドの区別はあまり必然性を感じたことがないなあ…… 呼び出し元がインスタンスIDかクラスIDかで最初から区別してるんで。 変数は、ローカル変数とインスタンス変数とクラス変数がごっちゃになる。 結果、C++でもスタイルガイドラインでmVariantとかvariant_とか、 接頭辞や接尾辞をつけて区別することを勧めるのが多いのだが、 コミュニティによってバラバラだし、@の方が可読性が高い。 まあそういうガイドラインが、 変数の事前の宣言をしないRubyのポリシーに従って文法化したものだと思うんだけど、 しかし使いやすいんだよなあ。
31 :
デフォルトの名無しさん :2005/10/01(土) 15:32:35
この記号文化が嫌でPythonに移行してしまった俺が来ましたよ。
>31 ではPythonスレへお引き取り下さい。
>>31 Pythonも最近は複雑化している希ガス
Pythonは複数行コメントが書けることだけ羨ましい。 Rubyも=beginで書ける事はかけるんだが使いづらいからな。
複数行というより、行に無関係なコメントだな。 行の途中に書きたいこともたまにある。
ruby-dev も ruby-core も 1.8.4 で RubyGems を入れるかどうかでもめてるわけだが、 おまえらは賛成?反対?
現状のままのRubyGemsなら反対かなぁ。 なんか使いづらかった。Gemsでライブラリをインストールした後も 自分でチョコチョコ弄らないと正常動作してくれなかったし。 半自動化されているせいでどこ弄ったらいいのか分かりづらくて大変だったよ。
[ruby-dev:27321] RubyGemsとOS platformとの関係 こっちも気になるな。メンテナとかライブラリ公開している訳じゃないから関係ないけど。 だから、最初は中の人が多少苦労する程度で、 使い勝手が上がるなら良いんじゃないかと思ってたが、 正直、Slackware/Plamo 利用者の俺にはウンザリしてきた。
>>39 同意。rails 試すときにうんざりした。
まあ、標準添付するくらいなら強く反対する理由はないけど、
require の意味を変えるのは 1.8 系列ではありえない。
つか、Ruby は潮時かもしらんと本気で思い始める今日この頃。
Common-Lisp に対する Scheme のような、
stable で speedy で simple で subset な Ruby プロジェクト希望 > 暇な学生さんあたり
既存 Ruby スクリプトを半自動で翻訳できると最高。
>>41 > 潮時かも
気になるので、そう思う理由をもうちょい詳しく。
思いつくままに。 ・すばらしい言語拡張のセンス (-> とか) ・洗練されたリリースエンジニアリング ・脆弱性対応の迅速さと安心さ ・厳選された標準添付ライブラリ (gems とか) ・順風満帆な Rite 開発 ・行き届いた下位互換性 matz は精神的に歳をとりすぎたのかも知れないね。
44 :
名無しさん :2005/10/02(日) 17:25:26
文句言うなら協力しる
>>43 そこで、moonwolf タンの出番ですよw
Boehm GC 版マダー?
まぁ、2 と 3 に関しては、
元々が普及とか使って貰おうという意思が低いってのが影響してそう。
1 は同意。だが、代替案が出せなきゃ文句はどうかと。
6 は、引き摺って身動きとれなくなったり、勝手が向上しないくらいなら、むしろどんどん切って欲しい。
個人的には、Ruby は小物か使い捨て用途。手軽でナンボ。将来的な互換性を考えるなら別の言語を使う。
# cgi.rb は、どうかと思うが
実は 1 〜 3 は代替案や対策を提案したけど否定・黙殺された 1 人です。 (MW じゃないよ) 6 は、stable なはずの 1.8 系で下位互換性をぶちこわす一方で、 下位互換性をなくしてもいい 1.9 系で妙に下位互換性にこだわる 意味不明な行動を言ってる。 例えば、-> 導入しつつ従来の |x| を残して Perl 化するのは反対。 どうしても導入するなら -> で統一すべきだと思う。
>>45 な!?あいつBoehmGC使うつもりなのか?
w3mで役にたたねえって言われてるあれを。
BoehmGCに賛成なわけじゃないが w3mで役にたたないものはrubyの役にもたたないのか? しかも伝聞。バカ丸出し
>>48 「回収しないGC」としてバカにされてた希ガス>BoehmGC
mod_*用途にはとても使えないと思う>Boehm
Mark&SweepとReferenceCoounter併用がいいんでない?Pythonみたいに。 M&Sだけだとたまに重たいことがある。 適度に自分でGC呼んで固まらないようにしてるけど。
リファカレは全体的に効率が落ちるし、C言語での操作が面倒じゃん
Ruby.NETにすれば最高性能のGCがタダでついてくるのに
そういや、税金で作ってたはずのRuby.NETはどうなったんだ?
生活費に当てられました
実装と安定性はせめて Perl5 水準のが欲しいんですが
>>54 Google Summer of Codeでも同様のプロジェクトが2件採用されてた。
結果どうなったかは知らん。
Boehm GCってGaucheでも使われてるんじゃない? 用途次第と見るべきか使う人次第と見るべきか :-P
>>59 「させてもらえれば」じゃなくて、
彼の方にそういう余裕があるかが重大。
細かいバグさえなければ、今のままのRubyがかなり気に入っているので あまり肥大化させないで欲しいというのが本音だねぇ。 関係ないけど、exerb(mswin32)でsocket.so使うとうまく動かないね。 1.82か1.81くらいまでバージョン落とすとうまく行くんだけど…。
>>62 もちろん「高橋さんや成瀬さんに余裕がある」は必要条件だが、
「matzがリリース作業を委任する」も必要条件だろう。
確かに常識的には前者の方が重大だけど、Rubyに関して言えば、
後者の条件の方が重大かつ難儀なのは今までの経緯から明らか。
>>63 言えてる。
リリースエンジニアリングもそうだけど、
matzは先を見通すような頭がいいタイプじゃないと思うし。
Rubyのデザインの良さは既存言語を整理してバランスよくまとめた
ところだと思う。感覚の良さも頭の良さではあるけれど、
物事を前に進めていったり既存のレベルを越えて改良したりする能力とはちょっと違う。
それでも前に進めていくためには泥臭い試行錯誤が必要で、Pythonなんかかなり間抜けな感じはするがそれなりに進んでいる。
Ruby(というかmatzというか)はインスパイアのモトネタを自分で集めないから、ある程度の部分が満たされちゃうと足踏みばかりで先に進めなくなってるという感じ。
>今のままのRubyがかなり気に入っているのであまり肥大化させないで欲しい に対して >言えてる。 と答えつつ、大きな変化を望んでいる(変化すべきと考えてる)ように見えてよくわからん。
おまいら、また出番だぞ。
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/27392 |> 1.8.2以前のRubyには脆弱性があります。これがリリースを急いだ
|> 理由だったりするんですが、このレポートの英訳を手伝ってくださ
|> る方はいらっしゃいませんか。
|
|とりあえずの叩き台として拙訳をお送りしておきます。jvnのURLは
|#をエンコードしておく必要があるように思います。
ありがとうございます。ようやっとruby-lang.orgに登録しました。
で、実は次のレポートがあるのです...。
で、実は次のレポートがあるのです...。
で、実は次のレポートがあるのです...。
で、実は次のレポートがあるのです...。
で、実は次のレポートがあるのです...。
で、実は次のレポートがあるのです...。
ちゃめっけがたっぷりで楽しい
つまり、2005/12/25 を待たずに 1.8.4 が出るということ?
クリスマスまで隠蔽する気かもしれんぞ
>>63 >関係ないけど、exerb(mswin32)でsocket.so使うとうまく動かないね。
詳しく
>>71 exerbの仕組みとか全然知らないから詳しく書けないけど
ruby 1.8.3 (2005-09-21) [i386-mswin32]でrequire 'socket'すると
生成したexeを起動したときに rb_str_unlocktmp が見つからないとエラーを出す。
Windows2000だけど、OSによってはうまく行ったりもするのかな?
74 :
72 :2005/10/04(火) 17:32:48
>>73 今調べてきました。してませんでした。
拡張ライブラリを使う場合は、コアを自分で更新しなきゃだめなんだね。
本当はマイナーバージョン内でならなるべくバイナリ互換性も保ってほしいんだけど、 現状がああなのでそれも望み薄だね。
衰退への一途を順調に辿っているようですね
Rails 関係で、恐ろしい程 Ruby のことを見掛けるようになってるがな。 国外では。 実情がバレるの(ry
クリスマスに preview か RC をリリースして仕様 fix して、 それの bug が fix した 1 月か 2 月頃に正式リリース、でいいのでは? あるいはもうこの際だから肉の日リリースにしちゃうとか。
>>78 何だとだめなの?
そうすると何が嬉しいの?
MLでいろんな人が頑張って言ってくれているように、 たとえいつがリリースだとしても(定期であれ、不定期であれ)、 しっかりとした動作検証の期間と方法が (みんなが納得できる形で)確立してれば良いんだよ。
>>79 本来なら、「ある一定の品質に達したらリリース」となるべきなのに、
現状は「クリスマスになったら (品質にかかわらずとにかく) リリース」だよね?
で、「クリスマスにリリース」という matz の自己満足と、
「ある一定の品質」というみんなの満足を両方満たす方法はないかなあ、
と思って提案してみた。
けど、もうどうでもいいやという気にもなってきた。
あ、もうちょっと補足すると、 「クリスマス」に双方を満足させるのは無理がある気がしたので、 それぞれが満足できるように、イベント (リリース) を二回に分ければいいかなと。
>しっかりとした動作検証の期間と方法が >(みんなが納得できる形で)確立してれば良いんだよ。 そういう方法が見つからないから、みんな困っているんだよね、きっと。 動作検証としては Unit Test なんかは確かに有用だけど、 万能ではないしやっぱり実際に使っている人が (今なら Rails の開発者など) 積極的に Ruby の検証に関わらないと駄目なんだと思う。 今までは開発版という理由で 実用的なレベルでの検証を行う人があまりいなかった。 (ruby-dev でもそのことを何度か嘆いていたと思う) でも、同梱されるライブラリが増えてきて それでは上手くいかなくなってきているんだろうね。
まあよくも悪くもいい加減なのがMatzとLinusの特徴だからな。 あと先見性のなさも。
86 :
デフォルトの名無しさん :2005/10/05(水) 01:57:24
(\ /)っ ⊂ ヽ _____ (っノ \\ ):::=o=< // \ ヽ、(■∀■)// \ ):::V:::::ノ~,/ やっぱRubyデショォフ─────{::::::|:::::ヾノ──────ゥ!!!!!!!!! |:::::|::::::::/ |;;;;;|;;;;;;;;{ |::;:::::::::::::) {(/⌒ヾ/ |/ / ( , / | | | | \ |__/ \入 }:::| ):::ゝ ノ:::::) ⊂ノ´ (;;;;;/
Python スレ見ていて思った。 RubyCard きぼん。
>>87 やって、さらに「アンチかずひこ」を増やすようにしてほしい。
アンチなんているの?
ノシ
あのファッションだけはなんとかして欲しい。
>>90 いますよ、たくさん。
本人は知らないかもしれませんが。
アンチというか生理的に受け付けない人は多いかもね。
>>96 何を知りたいってんだ。
人の好き嫌いはどこにでもある話しだし、
それを面白がるのは子ども、乗り越えるのが大人ってもんだ。
ほんとに子供だねえ。精神年齢低すぎ。
日記つけてる場合かよ って感じ
俺の知る限り10000人以上いる
ふと思ったのですが、る☆きちさんて普段なにやってるの?
かずひこ氏ってたしかマッシュルームの人でしょ?
能力があれば見た目とか発言とかどうでもいいんだけどね。。
MWのことかーーーーっ!!
モジュール内で、既存のクラスと同名のクラスを定義したとき、もとのクラスを参照するにはどうしたらいいですか。 例えばこんなかんじ。 module Foo class Error end e = Error.new # Foo::Errorではなく、組み込みクラスのErrorを参照したい end
日本語MLで話題に出ないけど、RCRって機能してるの?
一応目は通しているんじゃないかとは思うんだが。
cygwin 版 1.8.3 来たぽ
書籍『プログラミングRuby』(ウサギ)の第2版っていつ出るんですか? 待ってるんですが!
ムトゥ神の日記によるとRuby本はもう出ないだろ。 Rails翻訳本に注文が5000冊ぐらい入れば状況は変わるだろうけど。
誰か@ITに連載汁
「ムトゥ神って誰?」と聞こうと思ったが、ぐぐったら分かった
モデルの嫁さんにDVでリコーンしたり、別のモデルの女と窓を開けてセクロスしたら 盗撮されて広く出回ったり、その女にセクロス下手糞と暴露されたり、気持ち良くなる 何かを使用して長期出場停止の上にクラブを解雇された問題児。
>>113 256倍本で悪乗りしたのがいけなかったな。
でもピアソンならきっと出してくれるでしょ?と期待を込めてみる。
悪いのは買わなかったお前ら。 お前らがRubyの芽を摘んでしまったんだよ。
オススメ聞いてもWEB見ろとしか言われなかったし
拡張モジュール書くはめになったんだけど,親切でわかりやすいドキュメント紹介キボンヌ。 インストールガイド…まぁ,違うわな チュートリアル………はずれ リファレンス…………はずれ どこにあるんだゴルァ!!
README.EXT.ja 読むだけである程度書けるよ。
重要な情報は本に書かれていて全文検索が難しい上に、粗製濫造で売れなくなってしまった為に 上級者に印税で還元する道も閉ざしちゃったのか。 いちばんやってはいけないパターンにハマっちゃったのね。 ネットでなんでも情報が手に入りすぎても印税によるお布施が難しくなるけど。 あそこまで本を出しすぎてもダメだって事か。
125 :
デフォルトの名無しさん :2005/10/09(日) 12:17:13
かずひこ君のある写真のカットがつぶやき史郎に似ていた
つぶやき史郎の顔とか芸とか全然覚えてない さっぱり忘れた
127 :
デフォルトの名無しさん :2005/10/09(日) 12:25:24
あぁぁぁ かずひこの髪の毛 きりてーーーーーー なんだ あの時代の流れを無視して川をホバークラフト で逆流したような髪型とファッションセンスは
それだとPerlも同じ道をたどってるはずだが スタンダードならまだ違うのか?
実物はそれほどでもないというか、 プログラマ系イベントではおしゃれなほうに位置すると思う。
ねーねー Perl Ruby Pythonってどれが一番いいの?
くだらない煽りだな。Ruby を中心に比較すると Perl: ○ perl5 の VM, バイトコードコンパイラともに ruby インタプリタより進んでいる ○ 下位互換がわりと重視されている (Perl5 は長くつかえる。Ruby はすぐ切りすてられちゃう) ○ CPAN がある △ 玉石混合の膨大なドキュメント △ メモリ管理がリファレンスカウントなんでシンプルだけど循環構造とかに弱い × 純粋なオブジェクト指向じゃない (が,かなり柔軟なオブジェクトシステムを持っている) × すぐ汚くなる × Ruby のような心地よさがない × 国産ではない × Ruby ユーザーにバカにされる Python: ○ Python の VM, バイトコードコンパイラともに ruby インタプリタより進んでいる ○ メソッド修飾とか野心的機能を追加する ○ 下位互換は Ruby よりもいい (未来から機能を import できるしな) △ ジェネレータベース (一部の人にはウケがいい) △ 質はいいが,Perl にくらべると量は少なめ。でも増加率は Perl より上かも? △ メモリ管理がリファレンスカウント + GC × 純粋なオブジェクト指向じゃない × インデントで構造をあらわすので Ruby が好きな人にはあまり好かれない × Ruby のような心地よさがない × 国産ではない × Ruby ユーザーにライバル視される というわけで Ruby がダントツでオススメ
開発環境が標準で添付されてたからPythonに乗り換えました 今までありがとう
>>132 Perl は thread も FFI もちゃんと実装されている
使った事は無いけどね
>>133 One-click ruby installer でインストールすれば、
FreeRIDEがついてくるじゃないか
フリーライダーの俺がきましたよ。
>>130 スクリプト言語をやったことがないのなら
とりあえず perl は必修だろう。
それから ruby や python やはたまた php に移る。
なんで最初に使いにくいものを使わないと逝けないんだYO!! いきなり Ruby でいいじゃん.
いや、一度はPerlをやっておいたほうが、 Ruby(や他の言語)の良さがより身にしみる。
狂おしく同意。
そのためだけにperlやるのは時間の無駄じゃないのか? でもCGI書こうと思ったときにRubyがサーバーに入ってないとか よくあるからperlを勉強するのも悪くはないとは思う。 CGIに利用される言語は海外だとperlよりも phpが主流になってるって聞いたんだけどホントかな。
Ruby の良さを語ってくれ。Ruby スレなのに
>>132 じゃあんまり Ruby の良さが見えないんですが。
>>143 だが 139 とか 140 とかを見よ。下3個そのものじゃね?
rubyを入門者レベルで数年使ってるlinuxerだけど、 perlは未だ勉強してない。 確かに読めたほうがいいんだろうけども。
Perl はアレだ。 大まかで良ければ読めるもんだろ。あの自由度を変態的に使われなければ。 でも、書くとなるといきなり面倒極まる。
他人が書いたPerlのスクリプトはまず読めん。 Rubyの場合は…あー、読めないのも結構標準添付の中にあるな(w こうしてみるとPythonいいかもな。でもワンライナーがなあ。
>>147 他人の書いたものでもそこそこ読みやすい、と
ワンライナーが書きやすい、とは両立しないものと考えてるから問題ない。
Rubyってある意味PerlとPythonの中間的な存在だな。 いいところ取りしたとも言えるし、悪いところ取りしたとも言える。 その辺はSmalltalkとCにインスパイヤされたObjective-Cとよく似てる。
$_ これさえ無ければ、Rubyはもっとキレイだったと思うんだ。
それがないとコードの量が何%か増える
所詮perlの猿真似だからな 日本発とか言って日本風味ってわけでもないし あんま意味ないよなこの言語
-Kオプションとか日本風味なとこもあるんだけどね。
UNIX系スクリプト特有の気持ち悪さが最も少ない言語ではあるな。 OOの純度は正直どうでもいいな。 字面だけ継承した高速でコンパクトな仕様Ruby Liteキボン。
Rubyから投げ捨てたい機能リスト(言語仕様の話。開発体制とかは除外) ・$_(ローカルスコープな、読み込んだ文字列を覚えとく変数) ・$~, $1 など(ローカルスコープな、マッチ結果を覚えておく変数) ・(以下どうぞ)
>>156 俺は後者を良く使う。
後者を無くすつもりなら、Regexp.last_match, MatchData#[]
で代用することになるけど、これらを使うのは少し面倒。
(とくに使い捨てのテキスト処理)
>>156 後者を無くすと、
case txt
when /(re1)/
puts $1
when /(re2)/
puts $1
end
とかが簡単に書けなくなるのが欠点な気がするんだよね。
すっきり書ける代わりの文法なんてあるかな?
case txt when /(re1)/ => m puts m[1] when /(re2)/ => m puts m[1] end というのをキボン。
むしろ case txt => m when /(re1)/ puts m[1] when /(re2)/ puts m[1] end で === の返り値が m に代入される、みたいなのはどうか。 ……と思ったら、Regexp#=== って true/false を返すのかよ! MatchData/nil じゃなかったのか orz
switchで正規表現なんて随分キモい事考えるな… 両方にマッチしたりしたら凄くキモい
switchって何でつか?
薄っぺらい時計のことだろ?
$1 なくなったら悲惨じゃね? str = sprintf(% 10s%- 10s%010s%-010s, Regexp.last_match[1], Regexp.last_match[2], Regexp.last_match[3], Regexp.last_match[4])
168 :
デフォルトの名無しさん :2005/10/11(火) 10:52:05
WIndows でシリアル通信したいのだけど良いライブラリありますか。 RAA で win32serial と ruby-serialport を見つけたけど、 win32serial は自分で .so を作る必要があるから駄目。 ruby-serialport は sample がなくて困っております。
>>167 $1 が嫌なひとは Regexp::last_match も嫌なんだと思う。
m = re.match(txt)
str = sprintf(fmt, m[1], m[2], m[3], m[4])
$1を投げ捨てたい嫌な気持ちは分かるんだけど、 if m = str[regexp]; puts m[1]; end とは書きたくないんだよな。 ただ、自分でもなぜかわからないが while m = str[regexp]; puts m[1]; end は許せる。
puts m[1] if m = str[/regexp/] ↑これが出来ない(マッチしても m が NameErrorになる)のは大きいと思う
>>172 いつも不思議に思うんですが、これってなんでできないんでしょう?
if の条件式の方が先に評価されるから NameError にならない、と思ってしまいます。
>>174 ありがとうございます。
私も難しくてまだ理解できてませんが、ざっと見た感じ (やっぱ blade はすごすぎ) 、
パーサの実装の都合による制限ってことでしょうかね。
あとは akr の依頼の仕方かなぁ matz が気分を害して対応しないとか
いや、それ実装むずいよ。マジな話。
>>138 話戻って悪いけど、それだと C も知らなくていいじゃんって理論になる。
Cはしっとかないとだめだろう。
ちなみに俺的には、c, perl, Java(かなにかオブジェクト指向) を学べば
他の言語の入門は一時間ですむようになると 思う。
ななめ読みですぐ終わるよ。
一時間ですむんだから時間の無駄とか思わなくなるよ。
>>141 メジャー言語は全部とりあえず入門しちゃうでしょ(ruby,python,php までは入る)
無論そこから実際くみながら突っ込んでいくんだけどね。
C、Perl、Java を学んでも Haskell が1時間でわかる気がしねえ。
Haskell 試したことあるけど…… 見事に、手が止まるな。 作成した関数には、なんかニヤニヤできるけど。 専門で学んできた人には、良いのかもしれない。
0から始めてCがそこそこ書けるようになるのに最低半年くらいかかるし。 本当にCが必要かっつーと、そうでもない気がするんだけどなぁ。 本格的にやろうと思ったら最低Cが読めないと話にならんてのは分かるけど。 おれは時間のかかる処理をこなすときだけしかC使わない。
つか今時C必須ってどうなのよ。
ハードがらみと速度が要求される処理はC/C++じゃないと。 データの変換と管理スクリプトはRubyが良いけど
>>184 いや、だから、「C は必須」というのは言いすぎなんじゃないの、という話かと。
で、そもそも何の話だったんだっけ?
UNIX系のオサーンはJavaやPHPから入る若者を見て ついついC必須といいたくなっちゃうのよ
187 :
デフォルトの名無しさん :2005/10/11(火) 20:11:33
なぜRubyの和書は痛々しいタイトルが多いの? 普通なタイトルつければいいのに、きもすぎ
Ruby使ってる奴キチガイしかいないからだろうな
日本語の美しさを主張しようとしてる努力は認めてあげようよ
RHGは編集さんに却下されたんだっけ。
Ruby Hard Gay ? フゥゥゥゥーー
Real Hard Gay [ Auther: (ry ]
$1, $2 ... とかはそのまま実変数として実現しちゃってるのがまずいと思う。 シンタックスシュガーとして実現して欲しい。 つまり、そういうのが使われるスコープでは隠れローカル変数として マッチ結果を保持するオブジェクト(クラスはなんだっけ? 忘れた)を用意し、 $1, $2などの参照はそれへのアクセスとしてコンパイル時点で処理する。 次善の案はスレッドローカルだけど、これだとクロージャの中で使って クロージャ外部のマッチを参照する場合の問題は解決されない。 我ながら、もう少し詰めないといろいろ穴がありそうな案ではあるが。
194 :
デフォルトの名無しさん :2005/10/12(水) 02:58:15
Rubyを256倍使うための本 無道編 Rubyを256倍使うための本 邪道編 Rubyを256倍使うための本 界道編 Rubyを256倍使うための本 極道編 Rubyを256倍使うための本 魔道編 Rubyを256倍使うための本 黄道編 Rubyを256倍使うための本 網道編 Rubyを256+倍使うための本 場外乱闘編 Rubyを256+倍使うための本 紅玉制覇編 Rubyの冒険 旅立ち篇―Rubyで簡単プログラミング入門 このへんのタイトルがオタを物語っていてきもいっす。
王道編はPeason Educationが発行しているしナー
どれも買ってない
>>193 シンタックスシュガーにする利点は?
隠れローカル変数は実変数じゃないの?
そもそも$1,…は今のRubyでもローカルスコープかつスレッドローカルのはず。
つーかもう今の仕様変えるなよ。書き直すの面倒だから。
魔道編 は役に立ったけどな。サクっと読めるし。 俺は本の方がブラウズしやすいから、本の方が好きってのもあるが。 でも、今は RD の情報もネット上にかなり見掛けるからイラネのかも。
>>194 実のところ、ああいうノリは嫌いじゃないんだがw
商売としては失格。
俺は無道編がかなり役に立った。 しかし、本のタイトルがこれじゃあ、需要に対する供給として 一般に気づかれないことを思うと、しごく残念だ。
256倍本は有意義なものもあったけど、 それがどのタイトルだったかを覚えてないな。
204 :
デフォルトの名無しさん :2005/10/12(水) 14:21:50
ワンセットそろえたら一万円越すんじゃないか?
Omoti の為にスパム対策の勉強をしようと思ってる俺ガイル
るびまの添削ネタはヘタレで不勉強な自分にはありがたいな。
>>183 C わかんねーとできないことは多すぎると思うぞ。
ruby だって CかC++ で書いてんだろ?python も?
OS だって書けないじゃないか。
いまだ直接バイナリ作る言語はC,C++ぐらいしか選択肢がないのだよ。
D言語もあるがな。
>>186 入るのはいいんじゃない?いずれ学ぶんだから。
ウェブアプリしか僕は作らないんだ!っていうならいいかもしれんけど。
Delphi/Kylixのこともたまには思い出してあげてください。
C厨ウザ 他所でやれ
>>208 その言語系を実際使うか使わないかではなくて、
基礎的なアイデアを学べるから必修科目、基礎科目といわれているのではないか?
つまり今後、応用がきくかどうか。
だから、いまさらもくそもない。
C はほとんどの言語にもちろん影響を与えているのだから必須なのだ。
その後で簡単に新しい言語を習得できるかどうかだ。
まぁ無論 prolog, lisp, haskell など一風変わった言語には対応できないが、
大抵の言語には対応できるようになるだろう。
あ、html とかも必須なんじゃない?マークアップ言語の代表としてさ。
Rubyはフタを明けてみればC++やLISPみたいな拡張性はゼロなんだよな。 糞リリースする奴と、それをただ待つ馬鹿が残っただけ。 結局IPAのネタでしかなかったな。
えっ? また教祖がどっかに喧嘩売った? なんでこんな厨が沸いてるの? つか、delphi 教えてスレの C 厨を思い出したYO! アレがウザくて逝かなくなって、もう3〜4ヶ月も経つのか。
元々こんな感じだった飢餓
>>208 > ウェブアプリしか僕は作らないんだ!っていうならいいかもしれんけど。
じゃあ必須じゃないんじゃん。
結局
>>189 の「仕事によるんじゃないの?」ってことでしょ。
なんで「必須」「必須」と押し付けたがるのか理解に苦しむ。
Webアプリの仕事でC/C++言語が使われることは結構あったりする。
>>216 だから何?ウェブアプリしかやらない人でも C/C++ が「必須」だと?
三項演算子をこんな風に書きたいなあと思うことってない? result = (condition) ? positive_case : negative_case
必須じゃなくても仕事ができれば問題ない。
なんだ。 そもそも、Ruby は仕事に使わ(れることはまず)ない。 補足ツールに使うならまだしも。 これだと、Webアプリじゃなくて使い捨てツール。 よって、ただのにわか知ったかの馬鹿が騒いでるだけ 終了。 そもそも、Ruby を使ってる人の多くは、言われるまでもなく、 場合によって、それぞれのコストが低くなる言語を選んでる可能性極大。 C 厨はなんでもかんでも C で。これ基本。 決めゼリフは、OS が デバイスドライバが。 もっとレベルが低い馬鹿だと、バイナリが速度が。 だから、使い分ければ良いっつーの。C なんて、とりあえずは学習用途で良い。
> そもそも、Ruby は仕事に使わ(れることはまず)ない。
プログラマじゃないけど、プログラムが書けるとお仕事が ちょっと楽になるって言うだけの人にCを勉強しろって言うのは 酷だと思うのです。
Cを勉強しろというのは別に酷ではないが、Cで書けというのは酷。
>>222 そんな人にプログラムを書かせるのは酷。
>>220 どうでもいいけどひどい日本語だな。 Ruby や C の前に国語を勉強した方が良い。
>>221 「もしもアレが実は Ruby で書かれてるなんてことが顧客にバレたら」、
なんてドキドキしている自分がいる。
>Rubyはフタを明けてみればC++やLISPみたいな拡張性はゼロなんだよな。 拡張性は実はあるけどね。 site_rubyの下にいろいろ置くだけだよ。 無いといえばtemplateぐらいだけど、 代わりに独特のイテレータとか名前表を使ったテクとか。 > そもそも、Ruby は仕事に使わ(れることはまず)ない。 「ツール化して汎用性持たせてGUIありなら三日ほど掛かりますが スクリプトで今回だけお茶を濁すなら20分で終わる仕事です」 「よし、それでOK。いますぐやって」
Ruby おもっきり仕事で使われてるなあ。 POP3 サーバ、メール保存MTA。。。
糞重そうだな
>>229 まずはそういう偏見を捨てるところから始めよう。
まあ実際重いんだけどな
>>227 今回だけお茶を濁したことを後で後悔するわけだが。
積極的にお茶を濁すだけに徹するって手もある。 統計用のサンプルデータが提出した機関ごとに違うフォーマットで来るので テキスト化してRubyで最大公約数部分だけ収集して単位を統一とかそんなの。
>>229 Postfix の半分くらいの速度は出てるぞ(w
そんなに出るわけがない
>>235 まずはそういう偏見を捨てるところから始めよう。
>>218 ない。
つーかそれじゃ三項演算子にならないし。
>>236 postfix ってベンチとかは速いけど、実際にサービスで使うと qmail より遅いよ。
割と業界では知られた事実。
へー、何がネックになるの?
ruby-listって気が長い人多いね…
Rails の DHH あたりは霞を食って生きてると?
>>241 るびべん、金光さん、MoonWolfのおかげで既に免疫ができあがっているのであろう。
Rangeの .. は終端を含むけど ... が含まないっつーのは、 驚き最小のほにゃららに反してるよなー
>>218 Rubyじゃ構文上明らかに続かないと改行が切れ目になるからね……。
Cで三項演算子をLispのifのつもりで使うときはそう書く。
Rubyでは三項演算子はなかったことにしてifで書いている。
>>244 別の演算子なんだから反してないと思うが。
このスレの話題もDelスレ同様グダグダになってきたな。 廃れた言語のスレの末路はこんなもんなのか。
Cはif文が値を返せないから三項演算子を使わざるを得ないけど、 Rubyはif文が値を返せるからif文でいいよね。 Rubyでは、三項演算子は記述の簡潔さ(+Cとの互換性)のためだけにあると思う。 だから複数行に渡るような複雑な式を三項演算子で書こうとは思わないな。
>>246 >>244 が言いたいのは、".."や"..."自体に
終端を含むとか含まないのニュアンスがない、ってことじゃないか?
極端な例で言えば、".."が"<=..<="で、"..."が"<=..<"だったら、
これを見るだけで終端を含むか含まないかわかるだろう。
".."より長い"..."のほうが範囲が狭い
常識の中に .. ... がそもそもないんだからびっくりしようがない
>>251 ここで言ってる常識ってのは言語処理系の機能に期待される直交性とかだろ?
類似の演算は機能の本質的な相違点以外は類似していることが期待されるとかいったような。
じゃ
>>249 はinu operatorってことで。
やべえ、犬にしか見えなくなってきた。
ika operatorかと思った。
>驚き最小のほにゃらら あれはいつからか「matzの驚きが最小」ということに自らしたはずだが。
>>240 判明してないから改善されないに100ペソ
犬に見えるコツが分からん。。。
説明しようと思ったのだが、こんどはイカにしか見えなくなってきた。スマン。
One-click ruby installerってもう見捨てられたの? 1.8.3が出る気配が無いんだけど。
RDEでいいじゃん
ActiveScriptRubyも1.8.2のまま。 1.8.3は様子見の人が多いのか。ってサンプル2例だけだが。
NameSpace が導入されると何がうれしいんだか、誰か利点を実例付きで 3つほど書いてください。 それが「記法が複雑になる」「読みにくくなる」デメリットに勝るのかどうか、自分でも考えてみますので。
識別子を階層構造によって管理できること
>>265 いや、階層にはしないだろ? あの記法だと。
def foo$bar$zot みたいのまで必要だと氏ねるんだけど。
>>264 いつも言われているのはjcode.rb問題
つうことは、 class String; def tr # 漢字コードなんて気にするか!コード end def jcode$tr # 漢字コード気にするぞ!コード end end ってなっていて、これまで require 'jcode' ってしてたのを、using 'jcode' にしろってことか。 何となく、using 'jcode' が出来るようになるより先に、using 'rails' ってのが出来そうだな。
require 'jcode'だとjcode版のメソッドしか使えなくなって困るってこと?
その程度の要請にしては、どうも大きすぎる仕掛けっぽく感じるなぁ。
>>269 >using 'rails'
それどんなの?
いや、 require 'jstring' using jstring だろ。
272 :
デフォルトの名無しさん :2005/10/16(日) 14:13:45
だから鳥取砂丘から先は違う国なんだから、そこの国の人に普通の日本語を話しても通じないんだってば。
そこで人権救済条例ですよ
>>272 どこがどう矛盾してるのかわからないので詳しく
276 :
デフォルトの名無しさん :2005/10/16(日) 16:29:52
>>275 メンテナ任せるつもりがあるなら、リリースも任せられると思うんだけど。
「立候補してくれる人がいれば『誰でも』」とは言ってないようだが
社保付きで時給3000円ぐらいもらえるならやりますよ。
自分の作った物の仕様書も書く気ないなんてもうダメじゃん ただのダメ人間じゃん なめんな
仕様書なら書いてるじゃん。 ……Matzの場合コードが仕様書だそうだから。
コードが仕様書ならMatzのRuby以外にはRubyの実装はありえないのか。
なんでやねん
「枯れ木も花の賑わい」だけれども、 わざわざメーリングリストで人の仕事の中身をほじくらんでもよろし。
RubyConf の matz スピーチを聞いて思ったが、こうなってくると Ruby も matz 本来の趣味にひた走りして行きそうだな。 バンドとかのやつらが、世間受けするような曲を作って有名になって、しばらくヒットを飛ばすけど、 そのうちファンも全然ついて行けないような自分趣味の曲を作りまくってしまうのと、一緒だな。 「Ruby は 1.8.x までは良かったんだけれども」って、みんな言い出すだろうな。
一般的に日本と欧米の比較で言われていることと異なり、日本人は個人プレイ大好き。 個人で職人芸を極めるようなことは得意だが、チーム作業は下手糞。 Rubyは日本人がリーダーとして君臨しているのが不幸だな。 この程度メジャーになっただけで体制のグダグダばかりが目につくようになる。
>>285 どこでRubyConfのスピーチを聞くことが出来る?
RubyConfのページを探しても見つからないんだけど。
RubyConf に行ってれば聞ける。
>>286 サッカーで言えばアフリカ人相手に規律を持ち込んだトルシエやメツが必要ということか。
クラス名やモジュール名からクラスやモジュールにアクセスするにはどうすればいいですか。 name = "String" # ほんとは設定ファイルから読みこむ klass = eval name なんてことを今はしてるんですが、もっといい方法はあるでしょうか。
>>291 Kernel.const_get("String") #=> String
>>292 ありがとうございます。
ところでマニュアルを見ると Module#const_get はあるけど Kernel.const_get はありません。
ModuleとKernelの関係ってどうなっているんでしょうか。
つか、マニュアルのKernelの説明って、あっさりしすぎて何のことかさっぱりわかりません。
みなさん、あんな説明でわかるんでしょうか。
>>293 Kernel はモジュール。
→だから、Module クラスのインスタンス
→だから、Module クラスのインスタンスメソッド Module#const_get が使える。
また、「トップレベルの定数」と「Kernel モジュールの定数」は同じモノだと考えてよい。
AAA = 1
module Kernel
p AAA #=> 1
BBB = 2
end
p Kernel::BBB #= 2
p BBB #= 2
ついでに、クラス名は単なる定数(クラスオブジェクトが代入されてる)。
だから、Kernel.const_get("String") == Kernel::String == String となる。
>>294 質問ばかりですいません。
> Kernel はモジュール。
> →だから、Module クラスのインスタンス
> →だから、Module クラスのインスタンスメソッド Module#const_get が使える。
・・・わからないです。もっと考えて見ます。
> また、「トップレベルの定数」と「Kernel モジュールの定数」は同じモノだと考えてよい。
この説明(または「トップレベルとは何か」という説明)はマニュアルのどこに書いてありますか。
マニュアルを検索しても、いきなり使われているだけで、ちゃんとした説明が見つかりませんでした。
あるいは、マニュアルよりよいドキュメントがあって、みなさんそちらで勉強しているんでしょうか。
> ついでに、クラス名は単なる定数(クラスオブジェクトが代入されてる)。
>
> だから、Kernel.const_get("String") == Kernel::String == String となる。
Kernel.const_get("String")は使えるんですが、Kernel.constants()は空の配列が返されます。
Kernelモジュールには定数Stringが定義されていないけど、定数Stringを参照することはできるということでしょうか。
もう頭がこんがらかって、わけわからなくなりそうです。
>>294 > また、「トップレベルの定数」と「Kernel モジュールの定数」は同じモノだと考えてよい。
KernelじゃなくてObjectの定数。
>>290 これ聞いてみたが、ゲラゲラ、ニタニタ笑ってばかりだねぇ。。
こんな下卑た感じでよいのか。
まぁ、英語苦手なので内容はほとんど分からなかったが。
それでは、ゲラゲラ、ニタニタで300といきましょうか。 ゲラゲラ、ニタニタ。
>>297 > この説明(または「トップレベルとは何か」という説明)はマニュアルのどこに書いてありますか。
リファレンスの「用語集」に書いてみた。正確に書けたかどうかは微妙。
> Kernelモジュールには定数Stringが定義されていないけど、定数Stringを参照することはできるということでしょうか。
Stringは本当はObjectに定義されていて、Object::Stringが本当は正解なんだけど、Rubyの定数参照のルールは複雑でObjectの定数は実際にはどこからでも参照できる。
p Array.const_get("String")
なんてこともできる。さすがに
p Array::String
とはできなくなってるみたいだけど昔はこれでも通った。だから前者もいずれ許されなくなるかもね。Kernel.const_get("...") も使わない方が良いのではなかろか?
>>301 > Rubyの定数参照のルールは複雑でObjectの定数は実際にはどこからでも参照できる。
Objectを継承してるから見えてるってのは普通だろ。
C++でもJavaでも同じ。
> p Array::String
>
> とはできなくなってるみたいだけど昔はこれでも通った。
まだ警告が出るだけで通る。
KernelとModuleの関係はなんとなくわかりました。
Kernel = Module.new
だから、Module#const_get() が Kernel.const_get() というふうに使えるということですか。
わかりにくい。
>>301 > リファレンスの「用語集」に書いてみた。正確に書けたかどうかは微妙。
これでしょうか。
> トップレベル
> Top Level
> クラス/モジュール定義の一番外側のコンテキスト。Rubyスクリプトはトップレベルのコンテキストから処理が始まる。
・・・ワカンナイヨー 'コンテキスト'ッテナンダヨー
Rubyはなんでもオブジェクトだそうですが、トップレベルもオブジェクトなんですよね、きっと。
トップレベルオブジェクト(?)のクラスって何ですか?Object?Kernel?
>>301 > Stringは本当はObjectに定義されていて、Object::Stringが本当は正解なんだけど、
これはつまり、
class Object
include Kernel
class String
...
end
end
ってことでしょうか。
もしそうだとしたら、なんでKernel.const_get("String")でStringがとってこれるのかがわかりません。
あと、StrignクラスはObjectクラスのサブクラスだから、これだと
class Object
class String < Object
...
end
end
みたいになっちゃうんですけど、こんなのもありなんでしょうか。
しつこくてごめんなさい。
rubyで書いたスクリプトの、メモリのプロファイルを採るツールって無いでしょうか? 実行中に、どのクラスのインスタンスが、何個存在するとか出力できるやつが欲しいです。 デーモンを書いているのですが、時間経過で異常にメモリサイズが大きくなります。
>>303 , 304
そこらはRuby依存というよりは、プログラム言語、OOPに関わる一般的な話題だから、
気になるならもっと一般的な視点からプログラミングを勉強しなおした方がいいと思われ。
あるいは、気にせずとにかく使い、そして悩み、いつしか悟るのを待つのも一興。
そもそも 292 はなんで Kernel.const_get("String") にしたんでしょう? Object.const_get("String") でいいような希ガス で、 - Ruby ではクラスもオブジェクト(この点は 291 は了解済み?) - オブジェクトには原則として“名前”のようなものはない - 我々がクラス「String」と呼ぶものの実体は定数「String」に束縛されている - 定数はModule#const_get でアクセスできる - 定数「String」は Object に定義されている てなぐあいに説明すれば 291 はそんなに混乱せずにすんだのでは?
お前ら頭いいな。俺全然わからん。 坊さんの説教のようだ・・・
>>308 >そもそも 292 はなんで Kernel.const_get("String") にしたんでしょう?
勘違いしてたんじゃない?
311 :
291 :2005/10/18(火) 13:50:14
>>308 ありがとうございます。上4つは理解しました。最後の「定数「String」は Object に定義されている」というのは
class Object
include Kernel
class String
...
end
end
という理解でいいんでしょうか。
そもそも「Objectに定義されている」という言い回しからしてわからない。
メソッドはKernel、定数はObject。 module Kernel; remove_const :String; end とか class Object; remove_method :p; end とかやらんようにな。
313 :
291 :2005/10/18(火) 13:54:25
>>311 まずはオブジェクト指向がわかってないんだと思うよ。
上4つも理解した気になってるだけの気が…
>>311 OK です。「定義」って分からなかったかな。「宣言して代入」ならどう?
クラスの定義は、クラスオブジェクト(名無し)を作って、それを定数「String」
に
代入する作業をしているんですよ。
それとも「Objectに」のほうが分からなかったのかな?
class Foo; Hoge = 1 end
のとき、定数「Hoge」は“Fooに”宣言されている…と言って意味通じる?
>>303 トップレベルのクラスは Binding でしょうね
コンテキストは、端的に言うとその刹那のインタプリタの内部状態。 見方を変えるとメソッドの動的側面とも(ソースや実体が静的なそれ)。
Perlとはずいぶん違う意味なんだね。
ナチュラルにcontext->文脈とか言ったら混乱…するかねぇ。するよねぇ やっぱ忘れて。
みんな優しいんだな... ちょっとだけ Ruby が好きになった今日この一日.
>>318 % ruby -e 'p self.class'
Object
rubyのスレで聞くのもなんなんですけど、 XML文書の妥当性をサーバーでチェックするプログラムを書こうと思ってるけど rubyは最適言語になるのかな。PHPかPERLのほうがよかとですか?
妥当性をチェックできるパーサを使えるならなんでもいいんじゃないか。
libxml2のRuby bindingsを使うとよろし。
329 :
& ◆D3ra0B2LiQ :2005/10/19(水) 19:45:07
すみません.インターネット上からデータを取りたいのですが,うまくいきません. require "net/http" require "nkf" http = Net::HTTP.new("www.biglobe.ne.jp", 80) http.start { http.request_get("/index2.html") { |res| a = NKF.nkf("-s -m0", res.body) print a } } これでソース(biglobeのホームページ)は見られるのですが,このソースから文字列を取り出す方法が分かりません.この後に, $KCODE = "SJIS" b = /ニュース開始/.match(a) b.post_match c = /ニュース終了/.match(b) c.pre_match print c とすると,undefined local variable or method `a' for main:Object (nameError)とエラーが出ます. どうすればソースデータから,欲しいところの文字列を取り出すことができるでしょうか.教えて下さい.よろしくお願いします.
変数のスコープの問題だな。 ブロック内で定義された変数はブロックを抜けると参照できないってことだ。
331 :
デフォルトの名無しさん :2005/10/19(水) 20:41:00
返信ありがとうございます.{}の外には出せないんですね.それで以下のように変更しました. require "net/http" require "nkf" $KCODE = "SJIS" def source(a, b) http = Net::HTTP.new(a, 80) http.start { http.request_get(b) { |res| return NKF.nkf("-s -m0", res.body) } } end a = "www.biglobe.ne.jp" b = "/index2.html" c = source(a, b) print c d = /ニュース開始/.match(c) d.post_match e = /ニュース終了/.match(d) e.pre_match print e これを実行するとcはソースを表示しました.しかし d.post_matchのところで,undefined method `post_match' for nil:NilClass (NoMethodError)と出ます.これはどうすれば良いでしょうか.文字列を取り出したいのですが.
マッチしてないんじゃないの? マッチしてないと、d は MatchDate オブジェクトにならない NilClass になる。 NilClass には、post_match メソッドが定義されてないのでエラーが返る。 という流れ。ログ読もうや。 あと、pre_match は破壊的メソッドじゃないから注意な。 つか、さすがに初心者質スレの方が適してる悪寒。
333 :
デフォルトの名無しさん :2005/10/19(水) 23:50:37
アドバイスありがとうございます.マッチしていなかったところを修正しました.試行錯誤中の初心者ですので. #! ruby -Ks $KCODE = "SJIS" require "net/http" require "nkf" def source(a, b) http = Net::HTTP.new(a, 80) http.start { http.request_get(b) { |res| return NKF.nkf("-s -m0", res.body) } } end a = "www.biglobe.ne.jp" b = "/index2.html" c = source(a, b) m = /ニュース開始(.*?)ニュース終了/m.match(c) print m[0] これでホームページのソースから文字列を取り出すことができました.プログラムのファイルを保存するとき,文字コードをShift-JISに指定する必要がありました(Windowsのmswin32).どうもありがとうございました.
1.8.4のpreview1は無事出るのか?
1.8.4のpreview1は無事出るけど、それを手にするお前らは無事ではない。
まつもとって奴を袋叩きにしたいんだけど、どこに住んでる?
おまえの心の中さ♪(ふっ
傷害予告はツーホー対象?
339 :
デフォルトの名無しさん :2005/10/20(木) 02:37:58
特定された個人に対する予告だから 十分対象かと
>>336 マズいこと言っちゃったみたいだねえ。自業自得だが。
まつもとって奴をいい子いい子したいんだけど、どこに住んでる?
日本各地のいろんなところにいると思うけど。。。 うちのオフィスにもいるし。
344 :
デフォルトの名無しさん :2005/10/20(木) 17:27:15
すみません.今度はインターネット上から画像を取り込みたいのですが,どうすれば良いでしょうか.
#! ruby -Ks
$KCODE = "SJIS"
require "net/http"
require "fileutils"
http = Net::HTTP.new("www.biglobe.ne.jp", 80)
http.start {
FileUtils.cp("/img/logo050815.gif", "a.gif")
}
使用している環境はWindowsでmswin32版1.8.2を使っています.サンプルでは,"
http://img.biglobe.ne.jp/img/logo050815.gif "の画像を取り込もうとしていますが,エラーが出ます.
どのコマンドを使えば良いかヒントを下さい.http.start {}の中でファイルを取り込むようにすればできそうなのですが.よろしくお願いします.
346 :
デフォルトの名無しさん :2005/10/20(木) 17:33:11
Ruby初心者質問スレPart3があるんですね.失礼しました. 初心者の方で聞きますので,こちらの質問は取り下げさせて下さい.
オレなら、open-uri使ってFileUtils.copy_streamかな。
オレなら、open-uri使って単にread/writeかな。 おっと、書くときはbinmodeを忘れちゃダメだぜ?
ウリナラ、`wget`かな
351 :
311 :2005/10/20(木) 20:40:28
>>315 > それとも「Objectに」のほうが分からなかったのかな?
そうです。「に」と「で」の違いです。
「定数「String」は、(名前空間としての)Objectで定義されている」
というほうが、私にとってはしっくりきます。
他の言語でも、例えば「Stringクラスはjava.langパッケージ「に」定義されている」とはいわないですよね。
つきあってくださり、ありがとうございました。
どっちも言うと思う。
ウラナリに空目。
class Object def foo; 'Object で定義'; end end # こんなメソッドないけど Object.define_instance_method(:foo){'Object に定義'} こんな感じか
Object.constants.include? "String" #=> true だから“に”だろ。
どっちもあり
文字列をシェルのコマンドラインのようにパースして配列に変換する メソッドかライブラリありますか? -c "foo bar baz" -x "\"" という内容の文字列(つまり'-c "foo bar baz" -x "\\""')を処理すると [ '-c', 'foo bar baz', '-x', '"' ] になるようなのが欲しいんですが。
つ OptionParser
違う違う。渡されたコマンドラインを解析したいんじゃなくて、 文字列を解釈したいわけ。
typo スマン。 shellwords.rb ね
おお、まさしくこれです。どうもありがとう。
1.8.4 のリリースについてのやり取りが、 なんか緊張感があってドキドキw
Perlの my に相当するものが欲しいよう
dynamic scopeのglobal変数?
>>364 普通の変数とPerlのmyは同じじゃないの?
>>366 (いつもの) ブロックローカル変数の話とか?
>>367 詳しく。
Perlのmy変数とRubyの小文字変数は違う?
あぁ、分かった。 Perlのようにmyで宣言すれば、スコープが分かりやすいってことか。
tanaka akira さんのトークのスピーチってどこかからダウンロードできますか?
トークのスピーチって何ですか?
2ch の WEBプログラミング から Ruby で CGI スレって消えたんだね…… てか、マジで require から cgi の拡張子がついてるやつが読み込めないのはやめてほしい。
>>372 cgi なんて拡張子がついたのを読み込めるのは気持ち悪い。
VB.NET の My に相当するものが欲しいよう
いらねw
なにそれ
379 :
372 :2005/10/25(火) 20:39:55
load だったら 拡張子が cgi でも読み込めたんですね。 昔、ちょこちょこ試したつもりで、できないものだと思っておりました。 すみません。ありがとうございます。 そういえばいつのまにか RDT の 0.6.0 がリリースされていた。 スタックトレースでファイルの拡張子が cgi だとジャンプできないのが改善されているといいな。 あと質問なのですが、Rubyはコンパイル方法で、 コマンドラインオプションの -I directory を使用出来なくすることが出来るのでしょうか? とあるレンタルサーバで CGI にそのオプションを記述すると動かなくなります。
>372 あのぅ、 .cgiはindex.cgiのみにして、index.cgiに #! /usr/bin/ruby require 'index'; って書いて、index.rbに実処理を記述する。ってやりかたはだめなん? tDiaryがそういうことをやっているんですが。
特定のディレクトリ以下では*.rbを実行可能にすればいいだろ, と思うわけだが.
chmod +x *.rb
>>379 CGIに-Iオプションって、shebang行に?
書かなきゃいいじゃん。
httpd 側の設定も必要だろ
一般論として、shebang行にオプションを書くのはあんまり勧めない。この辺はOSによって挙動が変わる(POSIXでも規定されていない)。 >385 .htaccess に AddHandler cgi-script .rb を追加すればいいし。
皇室典範で女系天皇を容認するというのは Rubyで多重継承を容認するようなもの?
自分でもうまくあらわせないんですけど こんな感じ? 天皇.rb -------------------------------------- require '神武天皇のY染色体' class 天皇 def 2000年以上の歴史 日本人のアイデンティティー end end --------------------------------------
ネタにマジレスかも知らんがそのソースに継承ないじゃんw
n世代目のY染色体の比率は(1/(2↑n))だから すげー比率だな
く、くまか?! これはくまか?!!
393 :
デフォルトの名無しさん :2005/10/26(水) 15:01:56
えーと、これがツンデレってやつですか?
Array#delete(obj) の返り値って、わかりにくくね? 配列返してくれるもんだと思ってたら、違うんだもん。 結構、はまってしまった。そんなんは俺だけ!?
>>391 は素だろう。たぶん391は摩訶不思議な儀式によって二人の男親から生まれてきたんだよ。
pop, shiftの仲間という認識で使うことにしてる。 ただdeleteという名前でこの動作は、明らかにわかりにくいと思う。 insertはarrayを返すし、'delete'したはずものが何故得られるのか 直感では判断できないよね。
取り除いたモノの配列を返してくれると、 削除の成否と削除された個数がわかって便利な気がする。
いまだに「俺様 >> Ruby Way」を主張する氏の件について
何が「ついて」なの? 馬鹿じゃねーの(プゲラ
401も馬鹿だが402はそれに輪をかけて馬鹿だな。
何の話?
MW始動
406 :
372 :2005/10/27(木) 01:30:29
始めの1行目のことを shebang 行というのですか。 その shebang 行にオプションは書かないほうがいいという話ですが、 書かずに別の記述方法で同様のことができるのでしょうか? よく使うものはまず文字コード指定です。 -Ku や −Ke の代わりのものはどういう記述をすればよいのでしょうか? -I directory はどうすればよいのでしょうか?
-Ke は $KCODE='e' /usr/bin/env 経由にする時、これらの書き方知らないと困るよね。
>>406 > -I directory はどうすればよいのでしょうか?
$:.unshift(directory)
>>407 -Kはソースのencodingも指定するから、
まったく同じというわけじゃないけどね。
>>407 /usr/bin/env 経由だと何か違うの?
>>406 >>408 も言ってるけど、ソースコード中に、
日本語の文字列リテラルや正規表現リテラルが記述してあるなら、
むしろ -Ku や -Ke は付けた方が良いと思うよ。
>>409 shebang行には引数は一つしか与えることができないのが普通なので、
/usr/bin/env ruby なんてことをすると、rubyには引数を渡すことができない。
しかし、410の言うように -Ku や -Ke はつけるべきものなわけで、
そうすると /usr/bin/env なんてもんをshebang行に書くのはやめとくべき。
1.9ならこっそりとpragmaもあるんだけどね。
MWたんカムバック?
だな。 馬車馬の如く奉仕しろよ、MW。
>>411 #!/usr/bin/env ruby -Ke とかやっても、
Ruby が shebang 行を解釈し直してるから問題ないんじゃなかったっけ?
結局出なかったねえ、preview。
出て欲しかったってわけじゃないけど、なんか肩透かし。
>>414 envが"ruby -Ke"を実行しようとする罠。
Kオプションも$KCODEもレガシーな感じがしてあんまり好きじゃない。 pragmaはいいけどもまだ1.9だけだしなー
というかインタプリタの動作にかかわるものは組み込みグローバル変数とは 別な仕組みであったらいいなぁとは漠然と思ってたけどpragmaがそれなのね。
MWはカムバックせずに素直にRDToolのメンテナーシップを引き渡してくれた方が はるかに世の為だと思うんだが……。
"ruby ーKe"というコマンド名でインストールしてしまえば…
Omotiを退治するために眠りから覚めたのではと邪推
>>420 嫌がらせに決まってるじゃん
そんなこと書くと余計に(ry
あんな眼つきの奴はうちの会社の面接だと即落とされるぜ
リリース作業全部は無理だとしても、preview出すくらい 神直々にやらなくてもいいんじゃないのかねぇ…。
だよねえ、CVSからソース取り出してparse.cとconfigureくっつけるだけなんだし。
文句言うならお前がやれ
お前がやれ、とmatzが言うのをみな待ってると思うんだが、 本人がなかなか手放したがらない。
出した後ツッコまれてからタグを打ってこそRuby流
肉の日リリースって何か意味のある儀式なの?
Omoti降臨!
Omotiが香ばしすぎます
Omotiに空集合という言葉が理解できるか否か。
>>436 残りの1%が仕掛け人なわけですね。誰が教祖なんだろ?
俺も入信してみようかな・・・
「肉の日」はKazehakaseやってるとこが開祖だったとおもふ
いったいなんなのomotiって。キチガイの香りが。
釣り人
445 :
デフォルトの名無しさん :2005/10/29(土) 18:43:33
447 :
デフォルトの名無しさん :2005/10/29(土) 19:12:54
Omotiを退治するプログラムをrubyで作りたいのですが出来ますか?
448 :
446 :2005/10/29(土) 19:19:53
あー Omoti site:2ch.net でググったらバンバン出て来たから やっぱ紹介はいいや。 ざっと見てみたが、完膚なきまでにザ・寝言集という感じだった。
> % configure > % make > % make install > % make test > % make test-all 普通に考えて、 make install 前に make test test-all しないか? テストに通ってないものをインストールしろって?
install しないと tets-all は動かんよ。そういうものだ。 つうか誰も本番環境にインストールしろとまでは言ってないし、 怖いなら configure で --prefix つけるくらいの自衛はしとけ。
あれ、動くようになったと思ってた。<インストールせずtest-all EXTOUT とかで。
basecampってのでリリース管理してるみたいだけど一般人は閲覧不可?
インストールしないとtestが動かないってのも不便だな。 そういうものっつうよりmatzの限界ってことじゃねーの?
Omoti、ちょwwwオレを笑い死にさせる気かwwwwwww
つかOmotiにマジレスすんなよ…既にrubyの話じゃねーし
キチガイは相手にするな。
>>451 たいがいは動くけど、動かないのもある。webrickとかsoapとかあの辺り。
omotiの存在が目障りなのは俺だけじゃなかったか。
> 49: RGSS (668) 50: Rubyについて Part 17 (458) ちょwwwwwwwwww
460 :
デフォルトの名無しさん :2005/10/30(日) 13:49:36
やつにマジレスする前に言っておくッ! おれは今やつの電波をほんのちょっぴりだが体験した い…いや…体験したというよりはまったく理解を超えていたのだが…… ,. -‐'''''""¨¨¨ヽ (.___,,,... -ァァフ| あ…ありのまま 今 起こった事を話すぜ! |i i| }! }} //| |l、{ j} /,,ィ//| 『おれは確実にゲームがリリースされることはないと思っていたら i|:!ヾ、_ノ/ u {:}//ヘ いつのまにかruby-list上で人生ゲームをはじめていた』 |リ u' } ,ノ _,!V,ハ | /´fト、_{ル{,ィ'eラ , タ人 な… 何を言ってるのか わからねーと思うが /' ヾ|宀| {´,)⌒`/ |<ヽトiゝ おれも何をされたのかわからなかった ,゙ / )ヽ iLレ u' | | ヾlトハ〉 |/_/ ハ !ニ⊇ '/:} V:::::ヽ 頭がどうにかなりそうだった… // 二二二7'T'' /u' __ /:::::::/`ヽ /'´r -―一ァ‐゙T´ '"´ /::::/-‐ \ るびべんとか金光さんとかMWとか / // 广¨´ /' /:::::/´ ̄`ヽ ⌒ヽ そんなチャチなもんじゃあ 断じてねえ ノ ' / ノ:::::`ー-、___/:::::// ヽ } _/`丶 /:::::::::::::::::::::::::: ̄`ー-{:::... イ もっと恐ろしいものの片鱗を味わったぜ…
もしかしてみなさん私に嫉妬していますね。
Omotiに対するマジレスがすげえな。 あんな壮絶な釣り人相手に荒れないのがまたw しかも超教育的www ruby-listマジスゴスwwwwwww
空気の読めない子が何人かいるようだけどね。 まあそのうちfj臭が染み付いている神戸タソあたりはチクチクやり出しそう。
>>463 いやいや、荒れないってのは凄い事だよ。
誇って良いよ。
平和は長く続かないけどね…
>>451 できるだけ動くようにしてはいるが、すべての環境で動くわけではない。
とくに*BSDでは、実行時に共有ライブラリパスを変える機能が無効にされてる場合も多い。
「それ」というのは?
>>465 webrickとかsoapとかのテストがインストールしないと動かないのは、
共有ライブラリと関係ない。
>>468 それはインストールされてるrubyを外部プロセスとして呼び出すからだっけ?
>461 まぁまぁ、落ち着いてくださいよ。
>>469 CGIはそのようだ。
ごめん、ちゃんと読んでないからどこがまずいかわからないけど。
だめだ笑い死ぬ
omotiって中央銀行システムを誰かに作らせる気なのかよ
omoti は自分でも何を書きたい/書いてるかわからないんだろうな。
はやく奴のスタンドの弱点を見付けてくれ。
>んで、これをRubyで作って欲しいわけです。 なんとなくknkたんを思い出してワロタ。
Hiki0.8.4 を webrick で動かそうとしています。
hiki-0.8.4/misc/webrick/hikilet.rb を hiki-0.8.4/hikilet.rb としてコピーし、ruby hikilet.rb を実行しました。
その状態で
http://localhost:12380/ にアクセスしたのですが、いつまでたってもレスポンスが返ってきません。
プロンプトでC-c を押すとシャットダウンするはずなのに、これもいつまでたっても終了しません。
同様の症状の方はいますでしょうか。
なお環境はWin2000+Cygwinです。
>>478 その環境でWEBrick自体が動くかどうかの確認はした?
>>474 要約すると
「何もしなくてもオレが儲かるシステムを誰か只で作ってくれ」。
あれで何か儲かるのか? 小学生の考える永久機関を見る思いだが。
482 :
478 :2005/11/02(水) 15:39:20
>>479 どうやって確認すればいいのでしょう?というか、何をもってwebrickが動いたとみなせばいいのでしょうか。
ruby hikilet.rb としたかぎりでは、起動は問題なさそうですが。
地道に hikilet.rb からたとっていったのですが、
hikilet.rb: do_GET()
-> hiki/command.rb: dispatch()
-> hiki/command.rb: cmd_view()
-> style/default/html_formatter.rb: to_s()
-> style/default/html_formatter.rb: replace_link() ← これが帰ってこない
html_formatter.rb の replace_lin() における「k = @plugin.page_name( k ) if k == u」という行を実行して、返ってこなくなっているようです。
ここで @plugin.class.name は Hiki::Plugin だったのですが、Hiki::Plugin クラス (hiki/plugin.rb) には page_name というメソッドがありませんでしたので、
これ以上は追求できませんでした。
どなたかアドバイスをお願いします。
483 :
デフォルトの名無しさん :2005/11/02(水) 15:50:13
便乗質問。 Hikiのプラグインを作ろうと思うんだけど、これって単純に関数と考えてよい? つまり def foo(str, int, hash={}) s = "str=#{str}, int=#{int}" hash.each { |key, val| s << ", (key=#{key}, val=#{val})" } s end というプラグインを作れば、 {{foo('string', 123, :key=>"value")}} として実行できる? またこの場合、任意のコードが実行できてしまうように見えるんだけど、セキュリティは大丈夫?
>>481 俺経済学で構成された脳内世界ですから、
みんな幸せになれるようになってます。
システムじゃなくてシミュレータ作って遊ぶと理論が破綻しまくって面白そうですな。
Omoti, 面白いよ, Omoti
ネズミ講以下の説得力だからな 貸し出せる金が0に近づいていって預金準備高(?)の総計が100万に近づき 民間は純資産0のままで何がしたいのやら
仕様になってないものを提示して「作れますか?」 って言っているあたりですでに絶望的. こいつはなにをやらせてもダメでしょう.
「金融と経済に関しては私自身が専門家」って、高卒でよく言うよ。 あ、高卒だからこんなこと言うのか。
本気だとしたら専門家に失礼だな
この手の「俺理論は絶対的に正しくて理解できない奴はただの馬鹿」という 狂気はよく見かけるが、精神医学上はなんていう名前がついてるのかね。
そして立ち込めるfj臭
継続的にヲチるのなら別のとこでやって下さいですぅ
続きは隔離スレ (RGSS スレ) でよろしく。
書籍がいつ出版されそうか尋ねるのがなんで失礼なの?
>>495 答えにくい質問に、さらに突っ込んで訊こうとしてたから、かなあ。
それにしても「失礼」は言い過ぎな感はあるね。
>>495 失礼とは思わないが、酷かなと思うことはある。
>>495 企業(出版社)が公表していない事実について、関係者が好意で
リークしてくれた内容をさらにねだるのが無神経だからだろう。
出版予定なんて、現行の版や原著の売上・在庫管理・工程計画に関る
かなりデリケートな情報だ。関係者に与える影響と、情報提供者が
受け負うリスクを考えると「半年以内」という回答で、大感謝レベル。
そこに感謝の念が全く見えないのは、俺も失礼だと思ったよ。
ま、さらに例のバカが超弩級の寝言を見せてくれたおかげで、
一旦オチがついてよかったが。
>>498 でもなぜか神戸のメールのほうが人を不快にさせるというこの不思議。
omoti観測スレで500げとー
ruby1.8.3をdebian sargeでコンパイルすると、以下の拡張ライブラリがインストールされないみたいなんだけど、どうすればコンパイル&インストールされるんでしょう? curses.so gdbm.so openssl.so readline.so zlib.so もちろん、/usr/lib/libz.so.1 や /usr/lib/libgdbm.so.1 はあります。
>>501 事故レス。ヘッダファイルがないことが原因でした。
apt-get install libncurses5-dev libgdbm-dev libssl-dev libreadline4-dev zlib1g-dev
を実行して開発パッケージをインストールしてからconfigureすればいいみたいです。
503 :
デフォルトの名無しさん :2005/11/03(木) 11:47:06
またお助けをお願いします。 RubyGemsをインストールして gem help したら、こんなエラーがでるんですけど、どなたかアドバイスお願いします。 なおdebian sargeで、ruby1.8.3自前コンパイルです。 /usr/local/lib/ruby/1.8/i686-linux/digest/md5.so: /usr/local/lib/ruby/1.8/i686-linux/digest/md5.so: undefined symbol: rb_Digest_MD5_Init - /usr/local/lib/ruby/1.8/i686-linux/digest/md5.so (LoadError) from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:21:in `require' from /usr/local/lib/ruby/site_ruby/1.8/rubygems/package.rb:10 from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:21:in `require' from /usr/local/lib/ruby/site_ruby/1.8/rubygems/builder.rb:1 from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:21:in `require' from /usr/local/lib/ruby/site_ruby/1.8/rubygems.rb:61:in `manage_gems' from /usr/bin/gem:4
504 :
503 :2005/11/03(木) 13:20:20
>>503 調べてみたんですが、ext/digest/md5/md5.h に
#define MD5_Init rb_Digest_MD5_Init
という定義があるのですが、rb_Digest_MD5_Init の定義がないために、md5.so をロードするときにエラーとなっているようです。
rb_Digest_MD5_Init の定義はどこにあるんでしょうか。
debianなら大人しく deb 使えという気もするが……。 いちおう見てみたが、 ext/digest/md5/md5.c では MD5_Init が定義されていて、このファイルは md5.h を include しているからここだろうな。なんかコンパイルの仕方がおかしかったのではないかな。
506 :
504 :2005/11/03(木) 14:12:29
>>505 debだと1.8.2なので。
コンパイルは単に ./configure; make; make install だけなんですけど。
アホですね
i-apli版rubyってありますか?
>>501 libreadline-devとかを一通り入れれ。
511 :
デフォルトの名無しさん :2005/11/04(金) 17:19:23
↑ブラクラ
514 :
デフォルトの名無しさん :2005/11/04(金) 20:33:05
昨日はバレンタインだから、彼女の肛門舐めまくったよ。
美味かった?
516 :
デフォルトの名無しさん :2005/11/04(金) 20:36:26
昔彼女のアナル吸ったら実出てきて参った事ある。
>>131 参った事ある。
だよね。興奮してると少しぐらいなら食えるかな?と思ってたけどやっぱだめだ
アナルの匂いと味だけならいいんだけど、うんにょは。。。
うんこだけ差別ですか
うんこ野菜は食うのに彼女のうんこは食えないという
>>506 apt-get build-dep ruby1.8
必要な物は一通り入るんでないかと。
実際のところ、ルビーらしく行儀よくクラスから作りこんで純粋にオブジェクト同士のメッセージのやりとりで仕事を進めていくやり方って実行速度としてはどうなんでしょうか。 さくっと手続き風に書いた方がぱっと見実行速そうなんだけど。 ルビーが実行面でもオブジェクト指向に特化してて、前者の書法の方が速いんだったらまじめに継承やミックスインの理屈を勉強してみたいのですが。
>>521 あえて言うならば。
実行速度としては、大抵の場合は遅くなるんじゃないだろうか。
開発効率としては、大抵の場合は早くなるんじゃないだろうか。
もちろん「参加人数」「参加者の技量」「保守する期間」
「作るものの規模」「作るものの性質」など色んな要素に強く依存する。
>さくっと手続き風に書いた方がぱっと見実行速そうなんだけど。 さくっと手続き風に書けるなら、ルビーらしく行儀よくクラスから作りこんでも さくっと書ける分にはぱっと見変わらないだろうな。
>>520 506でも510でもないけど、そんな便利なものがあったノカー
スレ違いだけどありがとうと言わせてもらおう
Rubyなのにクラス構造とかの類はdefしか使ったことのない罰当たりな俺様が来ましたよ
526 :
デフォルトの名無しさん :2005/11/05(土) 01:15:10
漏れもruby使ってみようかな。。 でも、何に使えばいいんだろ
, - ' ゙ `` ‐ 、_,,,,, ,r' /=ミ / 彡ll',''´ . / 彡lll !-- .、 ,、、、、,,, 彡lノ l,,,,,__ / ___ 'r''゙ヽ . |`゙'' ./ `'゙'''" .〉,l | 片瀬雪希とぽけっとチュッチュ♪ |. ,' // . ',. ,' , r' . ゙, ゙'ー ‐` l | ゙、''゙ ,,、二''‐ ノ l、 ''''''''7'ヽ ''' / /`〉`゙T'''''''''' l ` 、,,,,、- ' " / /.| | . | | .l i / ./ | | | | | l / ./ .| | . | | | l / / | | | | | ', / / l .l
>>526 何に使うか考えるプログラム作ってみれば?
>>528 一応 bashでsh風に使ってたことあります。でも、windows
>>528 そういうのは、Cで直接コマンド作らないとだめだね。
さすがに、今からperlを覚える気にはならないから
>>526 がなんでも作ってくれるスレはここですか?
534 :
521 :2005/11/05(土) 05:32:54
>>522-523 サンクス。
もともとインタプリタに組み込まれているクラスだけを使って手続き型風に書いた方がやはり速いということですね。
もっともルビーは手続き型風でもじゅうぶんすっきり書けるんですが・・・
スクリプトで定義したクラス(自分で書いたクラスや、添付ライブラリからrequireするクラス)は実行速度が遅い、という理解でよいですか?
金光さんの消息をごぞんじのかたっていらっしゃいますでしょうか?
>>534 一概には言えない。そうなる事の方が経験的には多いと思うけど、
Rubyの実装の癖を知り尽くしている人は、意外に速いメソッド
(respond_to?とか)をうまく利用できるように設計したりするらしい。
もちろん、それを目指しすぎて行儀が悪くなるのは本末転倒だけど。
あえて一概にいうなら、差はないと思った方が。書きたいように書けばいい。
好きなように書いてから「どうにも遅いところ」だけを書き直すようにしたほうがいいな。 コンマ01秒速くなるかもしれないだけのために費やせる君の時間って何分、みたいな。
速度気にする奴はRuby使う資格がない どうせどこを取っても遅いんだから 速いマシンに買い換えろ
windowsしか使ってませんが何か?
慣れればクラス作って云々のほうだって手数は早いだろう。 そのように体を慣らすのは得かどうか、という話なのだと思うが。
>>541 >>521 は明らかに実行速度の話をしているが?
まあ、体を慣らすのが得かどうかは、やりたいこと次第かな。
543 :
534 :2005/11/05(土) 11:57:23
さんくすです。 コンマ何秒の差なら気にしてもしょーがないか。 たくさん便利なクラスを作って後々ラクをすることを考えた方がよさそうですね。
>>536 過去スレでakrさんと同一人物と聞いたが。
クラス内クラスのメリットがさっぱりわからん。 クラス外に定義するのと何が違うの?
そのクラス内でしか使わないものをわざわざ外で定義して名前空間を汚染しなくてすむ。
549 :
547 :2005/11/05(土) 21:09:14
rubyでCみたいにコードを切り換える方法はありますか? #if 0 foo() #else bar() #endif
>>550 .| | | | | | | | | | || | |
.| | | レ | | | | | J || | |
∩___∩ | | | J | | | し || | |
| ノ\ ,_ ヽ .| レ | | レ| || J |
/ ●゛ ● | .J し | | || J
| ∪ ( _●_) ミ .| し J|
彡、 |∪| | .J レ
/ ∩ノ ⊃ ヽ
( \ / _ノ | |
\ " / | |
\ / ̄ ̄ ̄ /
Javaと勘違いしているのかな
また新手の釣りが… (マズソー
555 :
550 :2005/11/05(土) 23:00:42
コードの一部だけ差し替えたかったんですが、無さそうですね。どうも。
ま、ここは、完全に「ない」というのも語弊がある、とだけ指摘しておこう。
よくわかんないけど、rubyにはプリプロセッサの概念がないから Cの"#ifdef _DEBUG_"みたいな動作するのはないのかな?
558 :
550 :2005/11/05(土) 23:14:32
>>557 やりたいのはそういう事です。例が悪かったですね。
case val
when foo
foo()
#if DEBUG
when bar
p var
#endif
end
ruby 1.2ぐらいから言語仕様の変更を追ってなかったんで、もしかして追加されてるかと
思って聞いてみました。お付き合いありがとうございました。
なんでC言語にプリプロセッサがあるのかわかってない
560 :
デフォルトの名無しさん :2005/11/05(土) 23:58:37
Rubyでwebプログラミングという話をとんと聞きません。 perlやphpでは、比較されるのに何故ですか?
Rubyがインストールされていないサーバーが多いから。
>>560 あんたは世間に疎いな。Railsも知らんのか。
Rubyでサイト運営してる。 Rubyが一番楽だと思う。 あとね、RubyのmakeでコケるLinux/bsdのディストリなんて メジャーな奴にはないと思うよ。 コケルのは大抵g++のバージョンの影響を受けるソフト。
564 :
560 :2005/11/06(日) 00:12:54
>>563 その話はとても参考になりました。レスありがとうございます。
>>561-
>>562 トレビアでした。
世間がRailsを知っているとも思えんが
いやいやいやいや………
>>560 のような問いには「Rubyを利用できる出来合いの商用サーバが少ないから」以上の答えはないな。
自前のサーバで使用言語を自分で選べるのならPerlやPHPでなくてもいいはず。LISPとか。そんだけの話。
出来合いサーバでRubyインストールが増えるとしてもこれからでしょう。
というような話は数年前から以下略
参考のために書いておくと: Rubyで書いたLinux/ApacheのCGIとWindows/ApacheのCGIは 共通のソースで動いた。 RubyPostgresはWindows上でもビルドできて、 そのまんまPowergresで動いた。
xreaとかで状況は改善されたと思うが、どうよ。
570 :
デフォルトの名無しさん :2005/11/06(日) 02:40:48
最速はCだしな。バイナリ実行が早いのは当然。 ところでルビー使いってなんでアナル好きなんだ?
アナルは形容詞。アヌス好きと正しく言え。
あれはアナルスレのコピペ アナル→アナルパール→Perl→Ruby と言った風に移行して参りました
575 :
デフォルトの名無しさん :2005/11/06(日) 04:10:41
0〜5までの数値を順番に逐次画面出力したいのですが、 バッファに記録されているようで、プログラム終了時に一括出力されてしまいます。 (バッファをフラッシュしているにもかかわらず画面には出力されない) どのようにすればよいのでしょうか
まずはソースをさらして下さい
モジュールってMix-inのためのものでふつうはクラス内にインクルードして使うようですが、 複数のクラス間で共通の変数が欲しかったので、試みに module M1 @@foo = "hoge" class C1;end class C2;end ・・・ end include M1 と書いたら意外とうまくいってしまった・・・。 モジュールをクラス外にインクルードって何か変な感じなんだけど、こういう使い方してる人他にもいますか?
include Netとか普通に。 というか、その意味ちゃんと理解してる? includeした時点で@@xがObjectクラスのクラス変数になってるよ。 C1とC2だけじゃなく、任意のクラスから@@xが参照できるはず。
トップレベルはObjectクラスの定義文の中だと考えると良いと思われ。
581 :
578 :2005/11/06(日) 13:01:08
>>579-580 うおお、ほんとだ。
別のところに書いたクラスからもふつうに@@xが参照できてしまったorz。
これじゃグローバル変数と変わんないや。
実際のところ、クラス同士でなにか値を共有する場合はコンストラクト時に引数にして渡す方が現実的っすね。
なんかこう、例えばクラスをネストして定義したら子クラスは親クラスのクラス変数が参照できる、みたいな感じにならないかしら。
Smalltalkのプール変数みたいのが欲しい。
583 :
デフォルトの名無しさん :2005/11/06(日) 14:39:33
>>581 module M
@@m = "hoge"
end
class C
include M
puts @@m # => hoge
end
puts @@m # => NameError
>>584 いろいろと細かい違いがあったはず。けど覚えてない。
586 :
デフォルトの名無しさん :2005/11/06(日) 19:31:44
誰かアルゴリズムとデータ構造のruby版書いて。書籍。
587 :
デフォルトの名無しさん :2005/11/06(日) 20:18:24
ruby腐ってるから、どうでもいいや
MoonWolfって人はなんであのCOPYRIGHTでいいと思ってるんだ。
いつ逆切れするかと<del>ワクワク</del><ins>ハラハラ</ins>。
n0buは何がやりたいんだか。
593 :
581 :2005/11/06(日) 23:51:27
>>583 なるほど!激しくサンクスです。
モジュール内で@@xを定義すれば、そのモジュールをインクルードしたクラス同士だけで@@xが共有できるというわけですか。
module M1;@@x="hoge";end
class C1;include M1;def x;@@x;end;end
class C2;include M1;def x;@@x;end;end
と試したら見事に特定の異クラス間での@@xの共有と他クラスからの参照不可が実装できました。
その書式だと一見インクルード先のクラスごとに@@xができちゃう感じがするんだけど・・・何で?
クラス変数よりもモジュール変数の方がグローバルってことなんでしょうか?
>>593 リファレンスマニュアルくらい読め、と。
Rubyって色々大変だね・・・。
596 :
583 :2005/11/07(月) 00:34:16
>>594 マニュアル読んだけどこの方法でモジュール変数が共有できます!ってだけで、そのへんの理屈がさっぱり。
なんでインクルード先のクラスのクラス変数にならないのか?とか、インスタンスを持てないのに所属できる変数があるの?、とか、いま混乱してます。
とりあえず初心者スレってのを発見したので今後はそっちに逝きます。
おじゃましました。
理屈と定義をごっちゃにしてるな。
(´・ω・`)omoti まだおったんかい
>>593 それは1.8までの仕様な。
> その書式だと一見インクルード先のクラスごとに@@xができちゃう感じがするんだけど・・・何で?
1.9からはクラス変数は継承されなくなるから、参照できなくなる。
勝手に@@xができるということはないけど。
Omoti、時間差ボケとはなかなか高等。 それに対するツッコミはイマイチやったね。 また今度の漫才期待してます。
603 :
デフォルトの名無しさん :2005/11/07(月) 09:25:31
>>600 > 1.9からはクラス変数は継承されなくなる
まじで?知らんかった。
手もとのスクリプトにもでっかい修正が必要かも。。。
マイナーバージョンアップでもがんがん下位互換を切り倒していく Ruby様のメジャーバージョンアップですよ。 それはもう、実は別の言語みたいなもんだろうな。 既存のコードはかなり手直ししないと動かないと覚悟してるし、 当分の間は1.8もメンテナンスされると信じてもいる。 ま、2.0が出るのなんて何年先のことやらわからないけどね……。
クラスを本体から切り離して拡張プラグインにしちゃえばいいんだよ。 1.8用のクラス拡張、1.9用のクラス拡張。Ruby本体は関数型言語にして 必要なクラス拡張を取り込んで使う。
下位互換切り捨てるのはいいけど(いや良くはないが)良くなってはいるの? 互換性で引っかかるような凄いスクリプトは書いてないからピンとこないや。
良くなってなくて後方互換性切り捨てられてたらすっぱり Ruby と縁を切れるわけだが。
Perl4からPerl5になろうとしてるんだと思ってもらえれば。 ってPerl4知らないとわかんないか。
>>609 すまん。それはRubyのどのバージョンアップに対する例え?
1.8.3->1.8.4 ? 1.8.x->1.9 ? 1.x->2.0 ?
>>600 クラス変数が継承されなくなるという仕様変更は
どういう心からでしょうか?
MLで聞け。 そして開発チームの足を引っ張ってこい。
クラス変数自体が結構後になって追加された仕様だし 意味合いもはっきりと定まっていなかったということで。
よっしゃ!足引っ張って来るわ!!
>クラス変数が継承されなくなるという仕様変更 ……て、クラス変数を参照するメソッドのオーバーライドが正当にできなくなるな…… クラス変数を使っているクラスはまっとうに継承できなくなりそう……
>>616 くわしくもなにもそのままだとおもうが。
>>615 オーバーライドは今までも正当にできてなかったと思うけど?
619 :
615 :2005/11/09(水) 02:32:26
ええ〜? class A @@a = 'a' def test(); p "test: #{@@a} in A" end end class B < A def test(); @@a = 'b'; p "test: #{@@a} in B" end end A.new.test #=> "test: a in A" B.new.test #=> "test: b in B" A.new.test #=> "test: b in A" だぜ?
どうせならsmalltalkのように制御構造までメッセージセンド式にしちまえばいいのに
そもそもクラス変数ってどういう扱いなの? 単純にクラスオブジェクトのインスタンス変数 だと思ってたけど違うみたいだね。 なんだか浮いてて気持ち悪いし、安易に使うと グローバル(的な)変数を増やしそうだし、本当に必要?
クラス変数は、 継承関係のあるクラス及びそれらのメタクラス間で共有できる変数 って感じかな? 今後クラス変数の継承がなくなるのであれば、メタクラスと共有できる変数。
Omotiがネタなのかマジなのかがわからん。
>>580 >トップレベルはObjectクラスの定義文の中だと考えると良いと思われ。
その説明でいうと
def hello(name)
puts "Hello #{name}"
end
hello('world')
というプログラムは
class Object
def hello # インスタンスメソッド
puts "Hello"
end
hello('world') # (*1)
end
というプログラムと同じということになるが、それなら(*1)の箇所でインスタンスメソッドを呼ぶことはできないはず。
これはどう説明したらいいの?
625 :
624 :2005/11/09(水) 13:09:11
Rubyでは、関数はKernelモジュールで定義されているとのことですが、ユーザが定義した関数はどのクラス/モジュールで定義されるのですか。 つまり、トップレベルで def hello(); end とすると、この関数はどのクラス/オブジェクトに属するものになるのですか。
mainの特異メソッド扱い扱いだった気がする。
627 :
585 :2005/11/09(水) 14:39:31
トップレベルは一言二言では説明できないくらい例外が多かったはず。
だから
>>580 も、考えると「良い」程度しか言わなかったんだろう。
こういう解釈の綺麗さより利便性を優先しているんだそうな。
誰か調べてまとめてくれないかなw
628 :
624 :2005/11/09(水) 17:40:21
>>626 違うみたいです。
def hello
puts "hello world"
end
puts self.singleton_methods.inspect #=> ["public", "to_s", "include", "private"]
そういえば、mainってトップレベルでのselfのことだと思うんだけど、これって何者?
単に ruby -e 'p main' とすると undefined local variable or method `main' for main:Object (NameError) になるから変数ではないし、
でも ruby -e 'p self' とすると main って表示されるから、inspectされるとmainを返すオブジェクトって何なのよ?
>>625 単なるObjectのprivate instance method。
630 :
624 :2005/11/09(水) 19:04:47
>>629 そのとおりのようです。
def hello
puts "hello world"
end
puts Object.private_instance_methods.include?('hello') #=> true
ありがとうございます。
>>600 > 1.9からはクラス変数は継承されなくなる
どこかで明文化して宣言されていますか?
>>631 ChangeLog (Fri Mar 19 15:15:15 2004)
>>627 とりあえずトップレベルオブジェクト自体の特徴は、
- Objectクラスのインスタンス
- to_s すると文字列 "main" を返す
- include 、public 、private が特異メソッドとして定義されている
くらいかな。間違ってたら教えて。
設計意図などはわからない。
手続き型・関数型でも書けるようにということでしょ。 関数は関数らしく書けば関数として動いてくれる。 驚き最小の原理からいえば当然の文法甘味料だと思うけど。
>>633 あってる。他のトップレベルの特徴としては
>>629 。
> 設計意図などはわからない。
なんかないと困るから。
to_sはなくてもいいけど、気分の問題かな。
全くのスレ違いであることは承知の上で。でもどうしても聞きたい。 [ruby-dev:27687] 山本くんは、BeOSで GUIを組んで、いったい何をしてるんでしょう?
暇つぶし
甘味料に有毒なものは辞めてほしい。括弧省略キモーい
もういいやLispで
有毒な甘味料といえば、サッカリンってのが昔あったよね。 今は使用禁止だけど。
ruby で ldap 使いたいんだが、 Ruby/LDAP のコンパイルがめんどくさい。 どっかにコンパイルしたのない? Windows のと、SuSEの。
オブジェクトに対して、最近話題のタグでの分類みたいのできないですかね? イメージ的には、以下な感じ。もちっと簡単に呼び出せると便利なんですが。 val0 = "foo" val1 = 123 val2 = "123" val0.add_tag("str") val1.add_tag("num") val2.add_tag("str", "num") local_variables.each{ |val| p val if lval.tag == "str" }
643 :
orz :2005/11/12(土) 20:19:26
× lval.tag ○ val.tag
class Object attr_accessor :tag end でいいのでは?
そっすね。確かにたったそれだけで、 細かい使い勝手や見た目に拘らなければ十分でしたね。 標準で登載されると便利かなと思ったけど、要望出すにはあまりにしょぼいですね。 昔、Ruby を使い始めた時に、 変数を生成するときに変数名を工夫しておいて、 後で変数名をマッチングして判定してた俺ガイル orz
> 最近話題のタグでの分類 どのへんで話題になってるの?
よくわかんないけど、そういう機能つけると、ガベコレが大変になったりしないのかな。
私は研究で書いてるプログラムでこれに似たことやってる (trueかfalseかのフラグだけだけど)けど、 特に遅くなったという印象はない at 1.8.3
>>646 最近というか、結構前からなんだけど。いわゆる Web2.0 系で見掛ける。
del.icio.us、はてなブックマーク、GMail などなど。
ブラウザの flock のブックマークもそうで、Firefox もそうなるらしい。
そんなん言語仕様に加えるものではないでしょ。
そんなんってなによ? あと、その理由。
>>650 おれは
>>650 じゃないけど
加えるほどではないもの:
tagging
理由:
言語仕様を拡張してまで導入するメリットが分からない。
Web アプリケーションによく使われるなら、
それ用のフレームワークなりライブラリにいれれば十分。
例えば、Rails には act_as_taggable がある。
WindowsのバッチでしかRuby使わない俺みたいなのもいるしな
rubyに do-while ってあったっけ?
>>640 発ガン性は間違いだったので今は禁止解かれてるよ。
Rubyでプロトタイプを作り、仕様がはっきりしたらそれは捨てて まともな言語で正式版を作るという話
exerb で作った exe ファイルに他のファイルをドラッグ&ドロップ して起動すると、プログラムのカレントディレクトリが そのときどきで変わってしまって非常に不便なんですが、 実行ファイルのあるパスを取得する方法とかありますか?
>>656 そのページにはdo-whileが見つからないんだけど。
while
てか while 修飾子
while修飾子って、テストが先に行われないか? do-whileは逆だろ?
>>664 ちゃんと全部読めって。
> 左辺の式が rescue 節も ensure 節もない begin である場合には、
> それを最初に一回評価してから繰り返します。
全然関係ないけど、 Perl で do { ... } while; ってやってハマったことがある・・・
ほっとけ do-whileが使いたいんじゃなくて,Rubyにdo-whileがないと言いたかっただけだろ. もう目的失ってるよ.たぶん.
二度とこんないちゃもんをつけられないように do whileおよびrepeat until構文を導入すべきだ。
Omoti いなくなっちゃったね
次のネタを仕込んでいるのではないかと。
670 :
デフォルトの名無しさん :2005/11/14(月) 23:59:10
こういうんじゃダメ? class Object @@tag_pool = {} def set_tag(tag) @@tag_pool[tag] = [] unless @@tag_pool[tag] @@tag_pool[tag] << self end private def get_tag(tag) @@tag_pool[tag] || [] end end
*あらゆる*オブジェクトにタグを付けると具体的にどんな時嬉しい?
そのメリットのためには
>>644 の方法(+α)の方法じゃだめなの?
???じゃあ、 module Taggable; attr_accessor :tag; end みたいなのを標準ライブラリにしろ、という主張? いずれにせよメリットを具体的に挙げてくれないと。
[ruby-list:41489] Matrixの継承について はつっこみどころや議論の余地が多いスレだと思うんだが、ここでは話題にならないね。
タグって何? Lispのシンボルでいうところのプロパティみたいなもの?
渋い例だなぁ>Lispシンボルのプロパティ
Pythonでは複数行にまたがる文字列を'''や"""であらわせられるのですが、 Rubyで同じようなことをしたい場合、どうすればできますか?
ヒアドキュメント
普通に str="foo bar" とかでいいんじゃね? ヒアドキュメントは便利だが素人にはお勧めできない。読みづらくなるし。
685 :
デフォルトの名無しさん :2005/11/15(火) 13:20:21
>>684 > 普通に
> str="foo
> bar"
> とかでいいんじゃね?
" は改行をはさんでも使えるんですね。
知りませんでした。
ありがとうございます。
いや '' も改行挟めるし。
$ echo 'p "a\r\nb"' | ruby "a\nb" みたいなことがあるので改行コードに注意な。
改行挟める仕様のおかげで、ruby-mode.el使用時にスクリプト途中で"を使うと 以降の全行が文字列の中とみなされて一気に緑とかに一時的に着色される。 ” 〜 ” の対応がコケてるとずっと緑のままなのでわかりやすいっちゃわかりやすいんだが、なんか見た目アホっぽい
>>689 レスを読む限り、あなたにレスしてる人達は、あなたが理解してるのと
少なくとも同程度にはタグのことを理解していると思いますよ。
ていうか結論は
>>645 (の前半)のとおりなんだけど、それでもあえて
こだわるとしたらその理由は何だろ?と疑問に思ってるんだけどな。
>>689 そういうライブラリを作ってみたらいいんじゃない?
そんなに手間はかからなさそう。
まぁ確かにあってもいいかもなとは思うけど、言語仕様に組み込むようなもの
じゃないと思うし。
次のように使える open メソッドと close メソッドがあれば、 > fh = open("foo.txt") > ... > close(fh) ブロックを受け取る open_block を定義するのは簡単ですよね。 > def open_block(fn); fh = open(fn); yield fh; close(fh); end 逆に、open_block から open と close を定義することはできますか?
fileとブロックといえば、 open(file) { |f| f.puts "abc" } とか書くのがめんどい。特にputs多いときとか。 open(file) { |f => self| puts "abc" } とか出来ればいいのにな。と昨夜思った。
pascalのwithみたいなのは馬具の素だから廃れる傾向にあるな
>>694 callcc を使えばできなくはない。
$hash = {}
def open(fn)
fh = nil
if ctn = callcc { |c| c }
open_block(fn) do |fh|
$hash[fh] = []
ctn.call(nil) if $hash[fh][0] = callcc { |c| c }
end
ctn = $hash[fh][1]
$hash.delete(fh)
ctn.call(nil)
end
fh
end
def close(fh)
$hash[fh].call(nil)
end
これを一般化したものが添付ライブラリの generator 。
>>695 open(file) { |f|
f.instance_eval {
puts "abc"
}
}
とかどう?
>>696 のいうようにバグの元だからオススメはしないが。
すまん、
>>697 は close がバグってた。
def close(fh)
$hash[fh][0].call(nil) if $hash[fh][1] = callcc { |c| c }
end
DelphiのSelfはただのローカル変数だったり begin Self := f; Foo; // f.Fooをコール。イミネー end;
WEBRickとApacheをAJP13プロトコルで連携させるようなモジュールってありますか? 運用上80番以外のポートを開けたくないので。
703 :
デフォルトの名無しさん :2005/11/18(金) 22:34:30
シェルスクリプトのある環境でどういうときにrubyが必要とされてくるのかがわかりません。 教えてください
記述性の低いシェルスクリプトで長文書くのにうんざりした時
705 :
デフォルトの名無しさん :2005/11/18(金) 22:46:44
シェルスクリプトで面倒な処理の時。テキスト処理とかさ。 rubyの必要性感じないなら使わなくてもいいと思うよ。
シェルスクリプトを「書きたくない」とき。 sedやawkを使う理由と似ている。
>>703 ある程度の速度を求められるとき。
シェルはどうしても外部コマンドを使う必要がでてくるので、全体として遅くなる。
rubyも無茶苦茶遅いけどね
いるよね、否定したくて理由見付けてくるやつ
彼らは何で否定したいんだろ?
よく釣れるからだろ
シェルスクリプトのことをシェルと呼んでるやつを見て 絶望したとき。
714 :
デフォルトの名無しさん :2005/11/19(土) 15:22:33
必要以上にちゃんと面倒を見ていたと思うが。
716 :
デフォルトの名無しさん :2005/11/19(土) 16:18:00
メソッドをprivateにすると、レシーバをつけて呼び出せなくなるんですよね。 そうすると、private_class_methodに指定されたクラスメソッドは どういう風に呼び出されるんでしょうか??
>>715 同感です。どのプログラミング言語を使おうとも、あの態度では...。
>>716 同じクラスの他のメソッドから呼び出すのでは?
718 :
716 :2005/11/19(土) 17:05:24
RAAが刺さってる件について。 Internal Server Error PANIC: fatal region error detected; run recovery -- DB_RUNRECOVERY: Fatal error, run database recovery WEBrick/1.3.1 (Ruby/1.9.0/2005-08-20) at localhost:7171
>>719 コード検索を始めようとしてたっぽいね。
そういやgonzuiってBerkeleyDB使ってるんだっけな。 あれはDBが壊れる頻度高いからなあ。
ActiveRubyまだー?
文化勲章受章者の磯野波平(いその・なみへい、本名同じ)さんが20日午前 7時10分、心不全のため死去した。93歳だった。葬儀は近親者のみで行い、 偲(しの)ぶ会を来年1月27日午前11時から、東京都杉並区のあさひが丘 公民館で開く。喪主は長男かつおさん。自宅は公表していない。 1912年東京都生まれ。戦後まもなく朝日新聞に連載された長谷川町子さ ん(故人)の代表作『サザエさん』の父親のモデルとなった。妻のフネさんとの 間に3人の子供をもうけ、そのほのぼのとした一家団欒の様子は戦後日本の家 庭像の象徴的存在であった。 72年に退職した後も、働く父親像を維持するために毎朝家を出社、晩酌後に帰宅するなどイメージの保護に努めた。98年、文化勲章。趣味で育てた盆栽は100本以上にのぼる。 近年は頭髪の手入れに苦労しながらも、固くなにヅラの使用を拒みつづけト レードマークである「波平頭」の普及に努めた。2003年頃より認知症の進 行が進み、同じことでカツオを何度も叱ったり、愛猫のタマにかみつくなどと いった行為が問題視されてもいた。 なお声を出演は永井一郎。
すまんだれか[ruby-dev:27795]がなぜ脆弱性ではないのか説明してくれ。
説明してやってもいいのだが、 その前に、聞きたいことがある。 そう聞くということは、お前は脆弱性があると思うんだな? では何故脆弱性があると思うのか説明してみなさい。
まずはお前の説明が先だ。
まぁまぁまて。その前の俺にそのきじゃくせい(←なぜか変換できない)を見せてもらおうではないか。
それより、preview2は出ないの?
726が説明しないと出さないよ
きじゃくせいage
732 :
デフォルトの名無しさん :2005/11/22(火) 13:24:56
ちんぽ
>>733 それとこれとは別。
どっちも怒ってるんじゃないかとは思うけど。
脆弱性は「ぜいじゃくせい」と読みます。
「(←なぜか変換できない)」へのマジレスって初めて見た。
古いネタを嬉々として書き込む奴にはマジレスが一番です。
ったくからけ読めない奴だな。ふいんき壊すなよ。 どうみても厨房のすくつです本当にありがとうございました。 # 「どうみても〜」を「本当に〜」とセットでこういう風に使うのは # よくあるけど、本当は「どうみても〜」だけを関係ない文章の # 途中に挿入するのが最初のネタに沿った使い方だと思った。
なんかこっちの意図を読めない馬鹿ばっかりだな。 話のわかる奴が誰か俺の代わりに説明してくれよ。
からけってはじめてみた
文字列以外のパターンマッチを支援してくれるようなライブラリは無い ですか?たとえば、 a=[3,1,4,1,5,9,2,6,5] a.match( [1,5] ) # => 3 a.match( [odd,even] ) # => 1 みたいなことを、任意のオブジェクト(同一性判定は、==を拡張して行な う)の配列で行ないたいのです。 理想は、正規表現風のマッチングが出来るものです。 a.match( [1,any,5] ) # => [1,4,1,5,9,2,6,5]
>>741 その仕様が極めて俺的であいまいすぎ。
だいたいその程度ならライブラリ探すまでもないだろう。
==を拡張する前にto_sを拡張しろ。
> 理想は、正規表現風のマッチングが出来るものです。
> a.match( [1,any,5] ) # => [1,4,1,5,9,2,6,5]
それのどこが正規表現風なんだ? 単に最長最左を正規表現風と言っているなら、
正規表現をもっと勉強してから出直すように。(しかも初心者スレで。)
正規表現風味にするなら a.match( /[1-5]*/ ) # => [1,4.1,5,9,2,6,5] みたいな?w
全然違うし。
>>743 例が悪かったならスイマセン。==の中で、さらに正規表現を使いたいので、
to_sの拡張では無理だと思います。たとえば、上手い例が思いつきませんが、
HTMLファイルから、Flashへのリンクが張ってある画像を検索する場合に
a=[ HTMLファイルを適当にパース ]
a.match( [ HtmlTag.new( "a", { "href"=>/swf|fla/ } ), /.*/, HtmlTag.new( "img" ), /.*/, HtmlTag.new( "/a" ) ] )
と、やるような感じです。
KMP法とかBM法とかは、文字列以外にも使える気がするので、そういうの
だけでもライブラリとしてあると良いのですが。
あと「正規表現風」と言うのは、/(odd)+[24]+/ みたいなマッチングを
やりたいのですが、ちょっと配列に直す文法が思いつきませんでした。
善意に解釈してください。
>>742 rinda見てみました。単純に書くと、大きさが同じ2つの配列を、先頭から
a[0]==b[0]
a[1]==b[1]
a[2]==b[2]
と比較しているだけなので、求めるものとは違いました。
>>745 コンパイラスレを荒していたキチガイで学習したんだけど、
ネタとかじゃなくて素で低能なんだけどキレて暴れだしたり
するやつがいるから
>>744 みたいなのは相手しないほうがいいよ
>>746 率直に言って
> a=[ HTMLファイルを適当にパース ]
のほうが実装はよっぽど難しいと思う。
っていうかパースでDOMを作ればマッチングはXPathで済むし。
>>741 みたいのを誰かアナウンスしてたような気がする。
coreだったかtalkだったか。
>>749 RubyのHTML(も)パースできると謳ったやつは
一度もまともに使えるように学べた試しがない初心者な俺
メソッドのソースコード上での行数を調べる方法ってありますか? そういうのが簡単にできるパーザなど。。。 るびま10号のソースコード添削を読んでいて気になりました。
>>752 __LINE__ じゃないよね・・・?
>>751 ソースとマニュアル(以前のメソッド一覧表)の提供で使いこなせないような人は
楽しようとせず自前で正規表現書いて勉強しろというありがたいお達し
と考えて切磋琢磨してみるというのはどう
国産で日本語ライブラリが充実してると思いきや、RAAやRailsの記事はなぜか英語だらけ。 なんかだまされた気分。 転がってる情報自体はパールやピーエイチピーの方が量が多いよね。
HTML の parse なら htree とか。
>>749 本質じゃないところにツッコミを入れる。
それが、rubyistクオリティー。
>>757 > HTMLファイルから、Flashへのリンクが張ってある画像を検索する場合に
っていうのは要するに木構造データに対する正規表現的な
Query Languageが欲しいって言ってるんだろ?
DOMにしてXPathを使えば簡単に済む、と言ってるじゃないか。
Rubyの外部ライブラリでマニュアル無しのものをインストールして読み解いて利用する手間よりも Perlで同様のものを調べて解説読みながら書いてしまったほうが楽だし早いし仕事達成上も多分楽しい。 「自分さえ楽できればいい」が基本の趣味言語だから仕方ないんだが。 ソースコード組み立てるのは文法のレベルから楽しいけどマニュアルや解説書くのは従来のまま楽しくなってない。 ソースを書くのは手早くできてしまうからこそ、わざわざマニュアル作成したり解説書き出すのはなんか時間勿体無い。
>>758 KMPとか出てるところを見ると、木構造じゃ無いんじゃないか?
>>741 やっぱinspectの出力で比較するのがいいんじゃないですかね。
あるかないかだから、ないでいいんじゃないですかね。
>>761 よっし、俺が相手してやるぞ。
>>755 日本語の情報が多い方に行きたければ、行け。ご勝手に。
>>759 Perlの方が書きやすければ、Perlに行け。ご勝手に。
かくしてRubyは言語仕様以外はいつまでもよくならないのだった
オレは言語仕様がよければいいや ドキュメントとか充実してても言語仕様がクソなら使いたくない
ある程度まで習熟頑張りゃ全部自力でなんとかできるようになるからな。 趣味言語とは良くも悪くもその通りだ。
結局Rubyのライブラリやそのドキュメントなんかがきっちり整備されないのって 責任感の欠如してることが問題なんだよな。 フリーだから、金もらってないからしょうがないといわれればまったくその通りだが 他の言語はそこからちゃんと先に進んでいる。 教祖様が冗談めかしてはいるもののあからさまにドキュメントを軽視しているから その取り巻きもそれに倣ってしまうというのもよくない。 今まではその欠点があるにしても魅力が上回ってよい循環が生まれていたが これからは負の側面が浮き上がってきて あっという間に廃れてしまう可能性が大きいといえるだろう。
Rubyのライブラリって 1. いいのが見つからない気がするので誰かがソースだけ作る 2. 利用時にソースを読んで研究できるような濃い人たちがこれは*みんなにとって*便利だと騒ぐ 3. 一般の普通に利用してる「みんな」にも存在が漏れ聞こえ始める 4. 「みんな」がいざ利用しようとしてドキュメント不足で挫折する 5. 結局人気がなくなって使われなくなる(2の人は「みんな」のために宣伝したのであって自分たちでは使わない) 5. 1に戻る というのが多いような感じがする。 ちょっとずついろんな人が似たようなの作ってて決定版がなかなかない。
はっきりいってドキュメント書くよりコード書く方が楽な言語だからじゃないか? 誰かがソースコードが仕様書だとか言ってたような気がする。
772 :
771 :2005/11/23(水) 23:32:45
>>760 >>763 あるのは知ってるけど名前を忘れた.
ruby-talk を頑張って適当に検索すれば見つかるぞ,多分.
775 :
名無しさん :2005/11/24(木) 01:19:03
>>755 Railsは日本産じゃないから英語がメインで当然では?
ってマジレスしちまった
いつまでもマイナーでいいんじゃない? なんかかっこいいし
リファレンスはWikiなんかに頼らずに2・300万でバイト雇ってきっちりサンプルつきのをまとめればいいだけじゃね? それくらい誰か出してやれよ。
「誰か」とか言ってる時点で、今と姿勢が同じジャン。 「それくらい」ならお前が出せアホ。
俺は知恵とありがたいアドバイスを出してやってるだろ。 お前らみたいなアホこそ知恵のかわりに金を出せ。
まともな奴を発見して連れてくるのがまず大変。
>>779 どこの馬の骨ともわからん奴に金なんか出せるかばかー
783 :
デフォルトの名無しさん :2005/11/24(木) 08:43:09
>>755 英語読めない馬鹿避けでしょ。
英語読めない香具師は、世界的に役に立たないし。日本人が作者だからって日本人のためだけの言語じゃないし。
>>759 perlのほうがよければそれでいいんじゃね?
おまいがruby使えるようになる必要性って漏れには全く無いし。なんか問題有るの?
>>770 別にソースも読めない香具師が使える必要は無いと思うけど。
basicとかじゃないし。
「俺のためにただで働け」 by Omoti
>>774 求めるものに非常に近いようなのですが、いかんせん作りかけで、全く
動きませんね。残念。これからに期待というとこですか。
こういう感じに書ける(予定)みたいです。
a = [ 3,1,4,1,5,9,2,6,5 ]
a.match( +[ OBS, 1, 4, OBS ] ) # => true
a.match( +[ OBS, even.+, 4, OBS ] ) # => false
誰かの推察の通り、元データは木構造では無いのですが、
>>758 にインスパ
イアされたので、無理やりXPathを使う方法を考えてみたいと思います。
787 :
デフォルトの名無しさん :2005/11/24(木) 11:28:41
>>785 おまいが面白いと思うようにレスしてないし。
じゃあ、おまいが代わりにまともなレスしてクレクレ(w
>>786 はっきりいって、そのくらい数行〜数十行で処理できないか?
(まともな仕様を出さずに、ならおまえ書けとか言わないでね。)
ならまともな仕様を出して、おまえ書け
Omotiだらけのスレはここですか?
Omoti祭り
792 :
名無しさん :2005/11/24(木) 22:46:49
Omoti帰りください
イパのお金はドキュ整備にあてられたんじゃないの?
デイブ・トーマスのProgramming Rubyって近いうちに翻訳されたりしますか?
783=795 大笑い
ねーよwwww
ワロス
var++みたいな表現を使えない(ようにした)理由は何かありますか?
Fuck
自己代入演算子として+=や*=はあるのにな
ようは Numeric が immutable だということだろう。 すぐ思いつく理由は、 1. 数そのものが他の数に変化するというのはおかしい気がする。immutable な方が自然 2. もし++メソッドがあるとすると、Ruby的には a = 1 b = a a++ p b # => 2 となってくれる方が自然。しかしこれを実現すると、整数を直値で利用できな いので効率が極端に落ちる。もしくは変数の参照関係をどこかで持っていない といけないので大変。 というところかな。
>>802 a+=1 は a = a + 1 と解釈するように
a++はa = a + 1 と解釈するようにする、というルールでよかったんじゃないですか?
a++だと後置だから、Cルールだと元の値を返さなきゃいけない罠 こんな感じかしらん? begin temp = a a += 1 temp end
=が入らないと表記上(意味論上の?)の問題があって色々面倒なんだね
>>804 じゃあそれ採用しましょう。コミットしてください。
>>799 > var++みたいな表現を使えない(ようにした)理由は何かありますか?
単に必要ないからではないか? C言語はインデックスでループ回す必要があるから1足す処理を多用するけど、Ruby では++なくても別にいいよ。
808 :
804 :2005/11/27(日) 15:00:59
>806 コミッターに言ってくれ。 個人的にはそんなのよりも[ruby-dev:25772]をコミットして欲しいが……
>>808 あれ?コミット権持ってませんでしたっけ?
名無しなのにわかるのなw
++はマシン語レベルでもあるから、あっても当然だと思ってた。 エラー出てびっくり。
>>811 おいおい。
マシン語にあって、高級言語(Rubyはもちろん、C等も)に無いものは大量にあるだろ。
つうか、++が無いマシン語もあるだろ。
>803 ++ を +=1 として定義するというのは考えたことがなかったですね。悪くはな いかも。 でも、確かに Ruby を学んだ当初は ++ がないことに違和感を感じたけど、今 は正直あってもなくてもどうでもいい。なんとなく、ないことに意味がある仕 様な気はしないでもない(+=1をしたい場面てそんなにないし)。
cnt.next でやれってこと?w
>>802 その理由では、 a += 1 ができるのに a++ がないという理由にはならないのでは?
1.
a += 1 でも数そのものをほかの数に変化させている。
2.
a = 1
b = a
a += 1
p b #=> 1
というのはあたりまえなんだから、a++のときだけbが2になるのが自然とは思えない。
やっぱり a+=1 はよくて a++ がだめという明確な理由というか設計思想が知りたい。
++の話はruby-devやruby-listで(見てないけど多分 ruby-talk でも)何回も 繰り返されてる議論だから、まずそれ読んでsummaryでも作ろうな
思ったより見つからなかった。とりあえず↓ [ruby-list:6225] by Matz(議論は[ruby-list:6233]〜、[ruby-list:28363]〜) > これはFAQだな.^^;;; > > 変数がオブジェクトでないRubyではi++という式をオブジェクト指 > 向的に解釈できないからです.構文糖としても良いのですが,その > 場合には整数でない値が入っている変数に++を適用した場合の挙動 > を定義する必要があり,説得力のある提案が出ていません.
>>815 > やっぱり a+=1 はよくて a++ がだめという明確な理由というか設計思想が知りたい。
++ がないことのなにが不満なのか明確な理由というかその思想が知りたい。
++ ってダサい。
>815
a += 1 は「aが2を指すようになる」(指し示す対象を計算して付け替え直す)
という意味。1そのものが2に変貌するわけではない。
たとえば文字列で、
a = "1"
b = a
a << "1"
p b
と、
a = "1"
b = a
a += "1"
p b
とでは、全然意味が違う。
++は<<のようにメソッド呼出しで指し示している対象そのものの内容に作用す
るようなものであるように(Ruby的には)解釈されやすいのではないだろうか。
というのをまとめると
>>818 になるかな。
でもまぁ +=1 の糖衣構文であると考えるのは、個人的には見た目が自然じゃ
ないと思うけど、アリといえばアリかもしれない。あった方がいいという人が
MLで提案してみればいいんじゃないの。
もうこの提案は受け入れられました。コミットしてください。
>>821 >++は<<のようにメソッド呼出しで指し示している対象そのものの内容に作用す
>るようなものであるように(Ruby的には)解釈されやすいのではないだろうか。
+=だってそのような解釈をされうるけど、構文糖として存在している。
また、++が欲しい人というのは、CやJavaなどの言語経験者が主だろうが、
そのような言語で
int a=0;
int b=a;
a++;
でbも1になる、と考える人は希少だろう。問題は無い。
コミットしてください。
DJNZのことじゃないの?
a.++でいいじゃん。
a.inc
>>825 >>827 >>828 いや、だから整数はimmutableだって何度も言われてるだろ。
a++が実装されるとしたら a+=1 のシンタックスシュガーの道しか無い。
御託はいいからさっさとコミット汁
>>819 ++がないことに文句をいっているわけじゃない。++がない理由が知りたいだけ。
いままでの説明は筋が通ってない、とってつけたような理由だから指摘したまで。
議論をすりかえるな。
>>818 GJ。
「変数でない値が入っている変数に++を適用した場合」とあるが、そんなもんエラーでいいじゃん。
++ を += 1 の構文糖とすればいいだけなんだから、 += 1 でエラーになる場合は ++ もエラーとすればいい。
まったくオブジェクト指向的でない for 文が導入されているのに、なんで ++ だけ拒否するのかわからん。
>>829 整数を mutable にすりゃいいじゃん。
コミット汁。
コミットコミットってお前ら全員コミット村の住民かっつうの
コミットコミットってお前らコミット星人かっつの
>>833 ただでさえ遅い遅い言われてるRubyがもっと遅くなるぞ。
>>836 ただでさえ遅い遅い言われてるんだからもっと遅くなろうと関係ない。
整数を mutable にしてコミット汁。
メリットはたった1バイト短くなるだけだぞw
使いたい奴は自分で定義して使えばいいじゃn
++はRuby3.0の目玉機能としてとっておくとして まずは2.0のリリースを急ぐんだ。
>>839 何もわかってねーな。じゃあ定義してみろよ。
#define ++ +=1
>>842 C言語でも通らない糞コード晒して満足したか。じゃあそろそろオネムの時間ですよ。
>>838 そんなことはない。
さっさとコミットしないと、この不毛な議論が延々と続く事になる。
もうね、迷ったらPythonの真似しちゃえばいいんですよ。
もう Ruby には失望した。 Perl6 に逝くよ。
Rubyに失望したからPerlに行くというのは間違ってるな。 どうせ行くなら他の言語だろう。
あえてPerl6に逝くといってる
>>846 を久米
空気嫁
849 :
846 :2005/11/27(日) 23:18:55
このスレにも失望した・・・orz
コミットさん☆
pyなんとかよりはずっっとまともだから気にするな
ぴちょんくんを馬鹿にするな!
>>853 なんて残酷な…
Perl6の惨状を知った846が自殺したらどうするんだ!
ていうかもうFAQだな。++問題。 平等になるように、String#succ!も削れよ。
RubyでWEBアプリを書きたいんだけど、 Hikiって「きれい」?参考にしていい? 主観でいいから教えて。 もし、汚いと思うなら「きれい」だと思うものを教えてください。 Javaだったら、自分で見て判断できるんだけど、 Rubyは1ファイル以上書いたことがないからわからない。
>>857 綺麗かどうかは別にして、Railsにしといたら?
これから(少なくともしばらくは)主流になるし、開発そのものも活発だし。
長いものに巻かれるのが嫌だったり、もっと自分で1から作りたいんなら別だけど、
Railsだったら、これからみんなが書くようになるし、そういう意味では読みやすいだろうから。
Hikiは、開発元では確か、全面的に書き直す意向のはず。
最初は小さなものだったのが、つぎはぎだらけで大きくなったから。
>>858 ありがとう
RailsはMovieを見てみた。
なにが行われてるのかさっぱりだし、
MFCとかウィザードを思い出してちょっと怖い。
わかる人ならいいのだろうけど、入り口としては怖いなと。
HTTPで呼ばれる入り口はこの形式で、
いつ、どんな風にDBアクセスをして、
どのタイミングでテンプレートを呼び出して、
フォルダ構成はこんなのがイイヨという枠組みが欲しいです。
入門記事を見るとHTMLがputsで書かれてたりして気持ち悪い。
そんな細かい部分が気になって先に進めないなら、C でもやってろよ。 そんなに内部に拘るなら、puts がどういった物か調べてから発言しろよ。 Java が分かるなら、気に入った Java の物を移植すれば良いだろ。 つーか、ぐだぐだ言ってる暇があるなら、とっとと自分でやれよ。
よく言った!
また++ネタがうやむやのうちに終息か。 しばらくするとまた沸いてくるんだろうな・・・
863 :
844 :2005/11/28(月) 12:18:42
また忘れた頃にやってくるからな。待ってろよ。
つーかコミットって誰でも出来るわけじゃないだろ コミット権あるやつじゃないと駄目なんだから、 そいつがさっさとすればいいだけじゃね
ユッキー松本とブルーコミッツ
話は変わるけど、どうしてa+=1はあるのにa++はないの?
>>866 お前が作れ。
というやり取りで、テンプレにしとけ。
xrb++に期待するということで
ん? a++が後置インクリメントならa+=1ではないよな. a+=1;a-1 じゃね? いらねーけど
>869 >804
>>870 確かに既出だが、スルー状態だよな。
忘れてるのか、気がついてないのか、わざと無視してるのか、
実は理解すらできてないのかは分からないけど。
>>837 とか、自分が何を言ってるのかわかってるんだろうか…。
悪ガキのお供にコミットさん☆
873 :
871 :2005/11/28(月) 17:15:45
そういや、デクリメントや前置インクリメントが欲しいっつー話題はあまり見ないな。 そっちは要らないのか?
[ruby-list:6276] > 私はイテレータで便利になって、かえって ++ が欲しくなってしまいます。 > c = 0 > array.each { |x| > ... > print "hello" if c % 10 == 0 > c += 1 > } > など書かなければいけない局面はかなり多いです。 みたいな話じゃないのかな。 今だと each_with_index や Enumerable#enum_with_index で解決するかもしれない。
>>874 当然同時に入れろ、ということではないかな。
話は変わるけど、どうしてn+=1はあるのにn=n++はないの?
n=n+1があるからです。
>>866 >>877 もうちょっと間をおいてやれよ。
どうすれば効果的に釣れるかもっとよく考えて欲しい。
新しいネタもないからしばらく付き合ってやるか
++ のはなしは ruby-list か ruby-dev で。
coreでやってくれ。
今こそ顧客獲得のチャンスだぞ。> xrb
結局MWのxrbは、nihonlinuxと同じようなレベルの作業しかしなかったわけ?
Kernelのマニュアルの >Object クラスのメソッドは実際にはこのモジュールで定義されています。これはトップレベルでのメソッドの再定義に対応するためです。 ってどういう意味?Objectに直接定義すると再定義でどう困るの?
だが断る
890 :
886 :2005/11/29(火) 11:40:41
>>887 実装上の都合ってこと?どこを読めばいいの?
ざっと見たけど、なんでObjectに直接定義したら困るのかは書いてなかった。(見付けられなかった)
海外でのRuby周辺の環境はかなりよい。 入門より上が一律ヘナチョコなのは原産国の日本だけだ。
>>886 def gets(*) # Object#gets
print '> ' super # Kernel#gets
end
実際、Rubyコミュニティの電波対応力はなかなかのもんだと思う
確かにMatz氏の決して熱くならないのれん然とした対応はなかなかのもんだ。
そもそも他の言語のコミュニティで殺伐としたとこなんてあるのか?
閑散としたとこなら
このスレも「Rubyのコミュニティ」の一部。 忌憚ない意見が出る所としては日本では最大の。
「Rubyに付随」してはいないと思うが如何 勝手に存在してるだけかと思われ
どうでもいいですそんなことは
最近また、少しは国内でも RoR のおかげで Ruby のことを目にするようになったが、 基本的には、海外ばっかりが熱いよなぁ。
いっそのこと海外産だということにするのはどう
日本生まれ海外育ち
いっそ戻って来なくていいです 良い意味で
>>857 とりあえず「るびま」のバックナンバーひっくり返してみるのはどうか
rubyのweb系のアプリできれいなコードを見たこと無いんだけど。
907 :
初心者 :2005/11/30(水) 18:10:14
俺もCGIサイトを作ろうと思っているんだけど、見本が欲しい。
ライブラリーの使い方とかも。
一応、これ↓を眺めているんだけど。
参考にしていいのか悪いのかの判断がつかない。
FrogBoard Ruby版
http://2lbox.org/?lang=4
907はお勧めできないソースを晒すように
読んだことないけどBitChannelをおすすめする
REXMLがRubyっぽくないと日本人Rubystたちが言っているのを どこかで読みました。 どのへんがRubyっぽくないんでしょう?
>>909 こんな感じです
# ファイル保存
@conf['BBSConfig'].to_a.each{|c|
next if ! c['FILE'] || param(c['name']) == ''
tmppath = param(c['name'] + '.path')
path = @conf['FileDir'] + '/' + sprintf('%04d', p['-id']) + '.' +
CGI::escape(param(c['name']))
out = open(path, 'wb');
open(tmppath, 'rb') do |f|
out.print f.read
end
out.close
#dumper(tmppath, path, param(c['name']), 'OK')
#File.rename(tmppath, path)
}
# メッセージ保存
open(@conf['DataDir'] + '/THREAD' + tseq.to_s, 'a'){|f|
f.flock(File::LOCK_EX)
f.puts p.map{|k, v| k + ':' + escape_tab(v.to_s)}.join("\t")
}
map = file_read(@conf['DataDir'] + "/MAP.dat");
map = map.map{|m| m.chomp}
if (param('mail') != 'sage' && map[map.length - 1] != 'THREAD' + tseq)
open(@conf['DataDir'] + '/MAP.dat', 'a'){|f|
f.flock(File::LOCK_EX)
f.puts 'THREAD' + tseq.to_s
}
end
>>912 名前
Rubyで作られているならRuXMLとかにすべき
REXってみると、REXXを思い出すな。 一時期勉強したけど、REXXの存在意義ってなんなんだろうね。
>>916 いろんなプラットフォームで動作するみたい。
メインフレーム系とでかでもOKだったはず。
918 :
デフォルトの名無しさん :2005/11/30(水) 21:52:25
>>907 CGI製作なら、書籍を読んだほうがいいと思う
俺のお勧めは“Rubyアプリケーションガイド”
るびまにも断片的にならいい情報はある
>>912 なんだろう。ググって見つけたところでは、いわゆる Duck Typing 的な
コード (is_a? や is_instance_of? で場合分けせず、
せいぜい respond_to? を使う) になっていない、ということらしいけど。
921 :
デフォルトの名無しさん :2005/11/30(水) 22:49:34
>>906 html自体が本質的に綺麗に書けないんだから仕方ないべ
>>916 REXXはIBMのメインフレームでは
UNIXでのshやPerlのようにコキ使われている
>>912 StandardErrorじゃなくてExceptionを生で使ってるのは直したんだっけ?
もう++の話題は食傷気味だよな。 で、なんで--演算子がないんだ?
** ばっかりズルいよな、ホント
あcgりばぬhぁェkm;fdlヴぉkふぇをm:cwふぃjんtるcんzd
>>922 素のHTMLはきれいに書けたけど、今のHTMLは拡張されまくっちゃったからね。
もう手で書く時代じゃなくて、スクリプトでも書いて好きなフォーマットから生成させる時代だと思う。
> 素のHTMLはきれいに書けたけど、今のHTMLは拡張されまくっちゃったからね。
Pascalでは、代入演算子は = じゃなくて := です。 Rubyでは、インクリメントは ++ じゃなくて +=1 です。 ってことでもういいんじゃないか?
代入演算子、これ↓にして欲しいんですけど。 a <= 4+2
<- じゃないの?
>>933 そして less than equal は夜空の宝石となったのでした (完)
describes->describe described->describe のような英単語の正規化(?)をするライブラリってないですか?
金○さん、星にされちゃってますね
940 :
デフォルトの名無しさん :2005/12/06(火) 03:55:08
お前らRubyのプログラムをデバッグするときに -rdebug って使ってますか? なんとなく、みんな p でデバッグしてそうなイメージがある。
gdbはよく使う。
バグを埋め込まないようにプログラミングすればいいんでない?
私はpでデバッグしてます。 デバッグしにくいと感じた事は全然ないんですが、 debug.rb使うとさらに幸せになれるんでしょうか?
xxgdbみたいなのを標準でつければいいのに
p 便利だからな。
いまだにファイル指定してlistする方法がわからない
いまだに「ファイル指定してlistする」の意味がわからない
>>940 pを埋めこみすぎてわけわからなくなったときに使ったり。
>947 rdebugの話 わかるなら教えて
-rdebug のことだとしても、「listする」の意味がわからない。 エスパーきぼんぬ。
「listする」ってのは、-rdebugでの"list"コマンドのことでしょ。 で、答えとしては「ファイル指定してlist」はできないっぽい気がする。 スタックを適当に移動してからlistできるだけじゃ不満?
その「ファイル指定してlist」っていうのが、何のためにどんな挙動を 求めてるのかわからんってことだろ。
>>952 gdb で l file.c:100 とかやるのと同じじゃないの?
意図が曖昧なまま話を進めるな 質問人のシグナルが発生するまで寝とけ
ruby使い的に聞きたいんだけど cgi環境でデバッグってみんなはどうしているのかなぁ…
rails使えばデバッグはやりやすかった。 どういうエラーかとか表示してくれるから。
WinならOutputDebugStringにトレース情報出力すると楽かも。 p使わずに.NETライクなトレースライブラリ作った。
ドトネトでも ConsoleWriteLine や MessageBox.Show や label 用意して吐き出して debug している俺は負け組
>>955 Fileをopenしてdebug文をputsしたり、
rescue Exception => ex
res = "<div>#{CGI.escapeHTML(ex.inspect)}</div>"
end
みたいな感じでエラーをレスポンスに入れて表示したりとか。
cgiモジュール使うこと多いから、コマンドラインで実行したりもするな。
全然、面白くないやりかたばっかりでスマン。
>>958 漏れ10000回ループの中でMessageBoxデバッグやっちまって
誰かyardでCGIをデバッグしたことあるツワモノいないか? ちなみに俺はやったことない。
質問人です。
>>951 の意図で質問しました。
回答ありがとうございます。
どうやらできないようですね。
自分だけではないようなので安心しました。
それにしても、この質問ってそんなにエスパー度高いですかね…?
普通にデバッガを使ったことがあるならわかる気がするんですけど。
マジレス希望。
MW師の活動がもとにもどったようだが もう少しスローダウンのがいいのではと心配になるな
エスパー魔美じゃない俺は、emacs経由で使ってるけどな
>>962 つまりは実行中の行とは関係なく、任意のファイルを参照したいんですよね?
別の画面(端末)でlessとかw3mとかで見ちゃだめですか?
今は↑のようにしてます エディタはemacsを使っているのでemacs経由の使い方を調べてみます ありがとう
listによるファイル表示はSCRIPT_LINES__の値を使ってるから、 インタプリタに読み込まれていないファイルは表示できないですよ。 よく使うならdebug.rbのソースをある程度読んでみることをおすすめします。 あんまきれいじゃないけど、とりあえず Ruby で書かれてるので安心です。
>>963 同意。
とりあえず3年ぐらいかけるつもりでゆっくりと、しかしガチな仕事を寡作でよいからつくっていけば良かろうに。
でも、そういう仕事はやはりコミュニケーション能力が求められるか...。
かくして結局本人にもよくわからないゴミゴミしたものが彼の後には累々と
binding書いてみた
仕事で使っている人っているんですかね? ちゃんとしたクライアントがいて。
業務でとか成果物の一部でって事ならあるけど メインの言語としてというのはないなぁ
使用言語が自由でRuby実行環境がある(入れることができる)場合は 書き捨てなりそれなりなりでこっそり使われてなくもないと思う。 プロダクトとしてRubyが使われるというのはあまり聞かないな。 きっと、永遠に日陰で頑張る運命の言語なんだと思う。良くも悪くも。
pythonみたいに、ダブルクリックで一発インストール出来るようにしてくれないのかな…、言い尽くされた感じもあるけど 正直、初心者向けの環境を整備してくれないと、書いた者を配布できると思えない
980 :
デフォルトの名無しさん :2005/12/08(木) 01:06:49
しかしその中で、RubyのRの時も知らないような初心者に対して配布できるのは Exerbぐらいしかない希ガス
Rubyがなんだか知らない人がよくわからないままRubyアプリを使うっていまんとこないよな〜 影舞くらいか
Rubyアプリという定義が分からないが、CGI なら実は……ってのはある気がする。 ちなみに、ddskk に付いてるツールは Ruby 製のものが多かったり。
Windowsでのコッソリ使用とか、そういう用途こそRuby(MSWIN32)が一番だろ。 レジストリ登録も不要で呼び出し時にPATHが通ってさえいれば動くし、 コンソール開かないrubyw.exeもあるから完全にRubyを隠せる。
>>976 初心者向けにスクリプト配布ってのは無謀な気が。
普通のバイナリプログラムでも配布ではトラブルでまくりだし。
ドキュメント軽視とWindows軽視が敗因となってしまったわけだ
敗因、って、まだまだ普及段階だろ。 Windowでの標準インストーラがないってのが不安だが。 デファクトスタンダードでもいい、何か標準が。
だから、インストーラー要らないのが強みだっての。 解凍以外することがない。 レジストリ汚されたり勝手にスタートメニュー追加されたり スタートアップ組み込まれたりとかそういう被害が無い。
>>988 所謂初心者の人はそうは思わないと思うよ。
学校でなぜかRubyをやることになったとき、みんなインストーラ欲しがってたもん。
言っとくけどインストール関係だと いろんなDLLの設定が必要なPHPが一番極悪。 Rubyは何もしなくていい。 ドキュメント関係はRubyのリファレンスが一番一箇所にまとまってる。 いろんなサイトから情報を集める必要が無い。 ただの入出力からメールクライアントの開発までリファレンスに全部ある。
そういやウィルスに感染したか攻撃されたかで CVSとリファレンスサイト丸ごと止まってた時期があったね
PHPはめんどくさいなあ。でもActiveStateのPerl、Python、Tclと比べて どうなのって考えた方が建設的な気がする。
馬鹿に無理に使ってもらおうとは思ってないのがRubyですから
Rubyで書かれたプログラムを配布するための実行環境と、 Rubyでプログラムを書くための開発環境の話が ごっちゃになってるな。 ていうか、使ってないから知らないけど、 One-Click Ruby Installerはその名に反してクリック一発じゃないの? つか、次スレは?
Matz 氏は Windows や C++ が大嫌いなようですね。 私は Windows については MS が無駄なところに努力する割に 肝心なところが疎かなまま長年放置しているマヌケな OS だとは思いますが嫌いというほどではありません。 C++ についても同様です。
C++なぞ問題外.^^;;;
埋め
1000ならMoonwolfタソと結婚
1000なら
>>999 がMoonwolfタソと結婚
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。