1 名前:730 [2008/09/15(月) 17:25:21 ] プログラミング言語Rubyについての、初心者向けスレです。質問・要望・雑談などどうぞ。 【Ruby1.9 は不安定な開発版であり初心者には全く向きません】 【最新安定版の Ruby1.8.7 の使用をお勧めします】 ※1.8.7 は1.8 と 1.9 の橋渡しをするためのリリースです。 1.9 の新機能の一部が利用可能なので初学者にお勧めです。 ※ただし十分安定しているとは言えないので プロダクション環境での利用にはお勧めしません。 関連スレやURLは>>2-8 あたりを見てください。Ruby on Railsの質問はRailsスレへ。 ■質問する人へ 質問する前に次の3つをすること。ここで回答を待つよりそのほうが早い。 ・モジュール名やエラーメッセージでググる ・マニュアルで引っかかったクラスの記述を探す www.ruby-lang.org/ja/man/ ・FAQを一応読む www.ruby-lang.org/ja/man/?cmd=view;name=Ruby+FAQ 質問には以下を書くこと。へたくそな質問は再提出を要求される。 ・詳しい内容(「動きません」「うまくできません」では回答しようがない) ・エラーメッセージ(自力で訳さずなるべくそのままで) ・実行環境(OS名、Rubyのバージョン(ruby -v でわかる)) ・最終的にやりたいこと(もっとよい方法がある場合が多いので) 回答してくれた人には「ありがとう」のひとことをいってあげて。 ■回答する人へ 相手は初心者、根気よく育てるつもりで。質問がへたくそなのも大目にみてあげる。 それができないならこないこと(だって初心者スレだもん)。 ・既出な質問やFAQは「XXXを読め」でいいので、叩かない&怖がらせない。 ・わけわかな質問にもエスパー発揮で。できれば質問の仕方を教えるぐらいで。 ・自信がない回答ならその旨表明すること。誤った回答は初心者じゃ見抜けない。
477 名前:デフォルトの名無しさん mailto:sage [2008/10/09(木) 13:48:55 ] PerlとPHPは真っ先に除外できるな
478 名前:デフォルトの名無しさん mailto:sage [2008/10/09(木) 13:53:31 ] >>477 は何もわかってない キャッチセールに真っ先に引っかかるタイプ
479 名前:デフォルトの名無しさん mailto:sage [2008/10/09(木) 13:59:54 ] アレな方々が流入してくるとすぐスレがおかしくなるな
480 名前:デフォルトの名無しさん mailto:sage [2008/10/09(木) 14:02:47 ] PerlやPHPを知らないっていうのは一番悲惨なパターンのRubyユーザーなのでは…
481 名前:デフォルトの名無しさん mailto:sage [2008/10/09(木) 16:01:00 ] PerlやPHPを生半可に知ってる方が、変にRubyに入れ込んじゃって不幸になる気もする。
482 名前:デフォルトの名無しさん mailto:sage [2008/10/09(木) 16:29:26 ] Rubyって何に適してる言語なの?
483 名前:デフォルトの名無しさん mailto:sage [2008/10/09(木) 16:53:30 ] >>482 オブジェクト指向テキスト操作ネット通信言語です
484 名前:デフォルトの名無しさん [2008/10/09(木) 17:09:03 ] >>470 もっともなご意見です。 周りがみんな騒ぐので、こっそりRailsを触って見たが、 scaffoldまでは良かったがIDEが無いのでこつこつとコーディング をしなければ行けず、こんなんで生産性がいいか? と思っちゃいましたね。あと遅いし。 会社ではJavaで開発しているが、Eclipseを使った開発は超快適、 Ctl+スペースを打てば自動的にコードを挿入してくれるし、自動的に関数のヘルプも出るしね。 したい事を実現するためのライブラリはほぼ間違いなくのあるし、その数も桁違いに多いし。 Rubyに比べれば見た目のコーディング量は多いが、ほとんどはIDEが自動的に挿入したものだから、 実質は同じ量か下手すれば少ないだろう。 Railsは、一時の流行じゃないかなと思うね。 結局、ビジネスを企んでいるいるやつらに、うまく乗せられたんだよ。 「うそも100回言えば真実となる。」と誰かが言ったが、これが当てはまる気がする。生産性に関して言えば。 >>458 に一部賛同 PHP or Python:小規模 Java:大規模 でしょう。 どうもRails + Macで、私は先端を行くというような事を見せ付けているような感じが嫌いだ。 所詮、他の方の意見どおりwinでまともに使えなければこれ以上流行はしないだろう。
485 名前:デフォルトの名無しさん mailto:sage [2008/10/09(木) 17:14:11 ] RailsはRubyのヘビーユーザーが適当に活用して小ぶりなアプリケーションを連続生産するのに向いている RailsのためにRubyを学ぶような人や、Railsのソースを読んでも何してるかさっぱりわからんような人が使ってもどうにもならんな という魔術師(志向)の人向けのフレームワークだったはずなんだが、当初からそのはずだったんだが、誰が捻じ曲げたのやら…
486 名前:デフォルトの名無しさん mailto:sage [2008/10/09(木) 17:14:19 ] すごい初歩的な質問していい? ゲーム作ってみたいと思って、つい最近Ruby始めたんだけど。 講座HPみたいなところで、Ruby/SDLでつくったスクリプトをexeファイルにしても、 Ruby/SDLのdllファイルが全部同じディレクトリにはいってないと動作しないって書いてあったんだけど、 てことは作ったゲーム配布するときはdllファイルも全部つけて配布しなきゃいけないってこと?
487 名前:デフォルトの名無しさん mailto:sage [2008/10/09(木) 17:19:27 ] >>484 MacOSXでRubyを使うことに決めた人は、もともとPC-UNIX上でRuby使い倒してたような人が多い そういう人の使うRoRは、その人のプロダクト作成に非常に役立つものになると思うよ >>486 Exerbでひとつにまとめることが…DLLはできないのかな というか、DLLは普通実行ファイルと一緒に配布するもんなんじゃね あとRubyでゲーム作るのはマゾさんのすることなんだけど、あなたはマゾですか?
488 名前:デフォルトの名無しさん mailto:sage [2008/10/09(木) 17:22:03 ] >>484 Railsを擁護する気は全くないけれど 一応、IDEを使ってRailsの開発することはできるよ(EclipseとAptana) >>486 その通り >>487 俺は自分のことをSだと思ってたが、本当はMだったのか
489 名前:デフォルトの名無しさん mailto:sage [2008/10/09(木) 17:41:03 ] www.domo2.net/search/search.cgi?word=ruby&tnum=50&sort=res+desc
490 名前:デフォルトの名無しさん mailto:sage [2008/10/09(木) 17:45:19 ] >>487 >>488 回答ありがとうございますm(__)m 一緒に配布するんですか〜。16個くらいあったんでまとめられれば見栄えがいいんだけど。 Rubyはゲームに向いてないですか; 大学の講義でRubyを軽く使うらしいから、ついでにと思って始めたんだけど・・ Rubyはわかりやすいって評判ですけど、Rubyでプログラミングに慣れてからC言語勉強した場合、 共通点が多くてサクサク覚えられますか?それとも違いが大きくて効率悪いですか?
491 名前:デフォルトの名無しさん mailto:sage [2008/10/09(木) 17:49:36 ] >>490 人によるんじゃないかな 共通してる部分も確かにあるけど 片方をしっかり身に着けない内に他に手を出すと ごっちゃになって混乱しそう
492 名前:デフォルトの名無しさん mailto:sage [2008/10/09(木) 17:49:46 ] C言語を使って便利な機能を便利な概念でまとめたのがRubyだ
493 名前:デフォルトの名無しさん mailto:sage [2008/10/09(木) 17:54:36 ] >>491 >>492 回答ありがとうございます。 ある程度身につくまでRubyで頑張ってみて、限界感じたらC言語勉強することにします〜
494 名前:デフォルトの名無しさん mailto:sage [2008/10/09(木) 18:02:07 ] C→Rubyは曖昧さを感じて戸惑う Ruby→Cは堅苦しさ、面倒くささを感じる
495 名前:デフォルトの名無しさん [2008/10/09(木) 18:07:31 ] >>490 >>491 >>492 >>493 CとRubyはまったく用途が違うだろう。無理に使う事ができるけどね。 Cを勉強するならC++じゃないか。 Rubyでゲームか? 話にならない。 ゲーム開発している人間に聞いてみな。笑われるだけだ。 後々の資産として、C++を先に勉強したほうが得だと思うよ。
496 名前:デフォルトの名無しさん mailto:sage [2008/10/09(木) 18:24:53 ] またC++厨が… C++を学ぶのとCを学ぶのでは意義が違うと何度言えば
497 名前:デフォルトの名無しさん mailto:sage [2008/10/09(木) 18:26:11 ] そろそろスレタイ嫁
498 名前:デフォルトの名無しさん [2008/10/09(木) 18:30:38 ] >>496 説明してみぞ
499 名前:デフォルトの名無しさん mailto:sage [2008/10/09(木) 18:34:39 ] うぜぇ
500 名前:デフォルトの名無しさん mailto:sage [2008/10/09(木) 18:37:16 ] こういう香ばしい人って、なんでみんなageるんだろうね
501 名前:デフォルトの名無しさん mailto:sage [2008/10/09(木) 18:45:48 ] >>484 ,488 業務でAptana使ってるが、コード補完はやはりイマイチ。 候補が無駄に多いうえに欲しいのが出てこなかったりする。 特に、ハッシュで引数与える関数は全滅だ。 この辺はNetBeansも大差ない。 abbrevのあるemacs系の方がまだ使える。 Eclipse + JDT で幸せなJava開発環境を味わってる人には物足りないだろう。
502 名前:デフォルトの名無しさん mailto:sage [2008/10/09(木) 19:29:58 ] Rubyと共に使うなら純Cだろうね。 C++はそれ単体で使うもの。 ゲーム作りならC++オンリーがパフォーマンス的に一番だろうなあ。 ただ、Rubyでも処理速度がさほど求められないならゲームに一応使えると思うが ゲーム用のライブラリはCかC++だろうしなあ。 一応、RPGツクールはRuby使えるのもある。
503 名前:デフォルトの名無しさん mailto:sage [2008/10/09(木) 20:03:58 ] >>502 Ruby/SDLでだいたい満足してたから、他のゲーム用ライブラリ触ったことないんだが CやC++にはそんなに良いライブラリがあるのか?
504 名前:デフォルトの名無しさん mailto:sage [2008/10/09(木) 21:45:12 ] とりあえず、SDLはC/C++でも普通に使える。
505 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 10:57:55 ] >>503 SDL
506 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 18:18:11 ] わざわざCからSDL使わなくても、Ruby/SDLでよくね 性能が要求されるなら直接DirectX使うべきだし
507 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 18:27:06 ] ゲームってのはけっこうハイレベルな感じに常時性能が要求されるもんだと思ってたが違うのか?
508 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 18:29:11 ] ゲームによるよ 3Dでエフェクトも激しいアクションゲームなんかは大変だけど そうじゃないゲームもたくさんある
509 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 18:36:43 ] 専用スレがあるんだからそっちでやればよくね?
510 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 18:47:04 ] >>508 マジレスするとそうでもない 画像表示してブラーかけてるだけのADVなのにDirect9c対応グラフィックボード要求するとかもうアホかと
511 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 18:55:54 ] 「DirectGraphicsの初期化に失敗しました」は昨今けっこう有名なメッセージだと思う
512 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 19:29:48 ] 誘導: 【Ruby/SDL他】Rubyでゲーム制作・総合スレッド pc11.2ch.net/test/read.cgi/gamedev/1207069887/
513 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 20:31:46 ] >>510 それはその例がそういうゲームってだけだろ
514 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 10:27:03 ] 玉金破裂ゲーム
515 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 15:25:43 ] Arrayを継承したクラスのオブジェクト.find_all{|e| e.cond?} がArrayを継承したクラスのオブジェクトに自動でならないことにほんのりがっかりした
516 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 15:30:32 ] >>515 gem のライブラリで時々見るな、そういう中途半端実装 そこはレシーバのコレクションクラスのオブジェクトを作って返せと…なんのための独自配列なのかと…
517 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 16:00:49 ] >>515 find_all は Array じゃなくて Enumerable のメソッドだから 実際のところ自分のクラスは関係ない
518 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 21:09:09 ] Arrayは継承するな…とcompositionを使えと
519 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 21:59:40 ] Arrayを継承するってどういうシチュエーションなんだ??
520 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 22:08:31 ] なんで継承を毛嫌いするかね
521 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 22:09:37 ] いらんメソッドが付いてくるから
522 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 22:13:23 ] アホすぎて笑えない
523 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 22:13:39 ] 継承は怖い
524 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 22:18:59 ] >>520 作るのは簡単だが使うときに面倒 あと作り直すときにも面倒
525 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 22:20:50 ] すごいとこまできてるねRubyistはw
526 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 22:21:13 ] >>515 ハッシュからハッシュを返すselectやmapはたまに欲しくなる
527 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 22:22:01 ] カンペキに活用した継承は非常に強力だが、ほとんどの継承はそうではない っていうか、組み込みクラスは継承しないで委譲しろ、継承は自作クラス間でどんどんやれ
528 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 22:23:05 ] 本当にアホばかりで嫌になる
529 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 22:24:49 ] ライブラリを書くくらいに使ってる人がいないってだけ
530 名前:デフォルトの名無しさん [2008/10/12(日) 10:56:19 ] Integerのaとbのobject_idを常に同じにする方法ってありますか? a.object_id = b.object_id みたいなことがやりたいんですが
531 名前:デフォルトの名無しさん mailto:sage [2008/10/12(日) 11:51:41 ] >>530 object_id を同じにしたい理由が良くわからんが… 普通に代入すれば同じになるでしょ。 今の実装では Fixnum の場合は即値だから必ず同じ値になるんじゃないかな。
532 名前:デフォルトの名無しさん mailto:sage [2008/10/12(日) 12:05:34 ] >>530 できませんという答が妥当な気がする >>531 の言うように、Ruby の整数の数値の値とオブジェクトIDは紐付けられてる 整数の 1 のオブジェクト ID は常に一定だ
533 名前:デフォルトの名無しさん mailto:sage [2008/10/12(日) 13:33:03 ] >530 多分参照を扱いたいんだと思うが そういう場合は配列やオブジェクトにくるんで受け渡しするのがベスト。
534 名前:デフォルトの名無しさん [2008/10/12(日) 13:57:54 ] >>531 ,532,533 ありがとうございます そのままでは無理でしたか ちなみに、何故やりたかったかというと(railsの話になりますが) class A; attr_accessor id; end class B; attr_accessor a_id; end と二つclassがあり、AのidとBのa_idを同じにしたかったのです。 今までは A.transaction do @a.save!(ここで、a.idに代入される) @b.a_id = @a.id @b.save! end としていましたが、 @b.a_id.object_id = @a.id.object_id(みたいなことができれば。。) A.transaction do @a.save! @b.save! end とできると、updateでもcreateでもtransaction内が共通になるため、2つのclassをまとめたclassが定義しやすいなと
535 名前:デフォルトの名無しさん mailto:sage [2008/10/12(日) 15:39:09 ] >>534 なぜそうなってしまうのかわからない。 スキーマはどうなってるの?
536 名前:デフォルトの名無しさん mailto:sage [2008/10/12(日) 16:27:25 ] >>534 ごめん その話聞いても,idとa_idを同じオブジェクトIDにしたい理由がわかんないわ それにそもそも代入やFixnumみたいなやつ以外で同じオブジェクトIDになることない気がする なにか勘違いしてるんじゃ…
537 名前:デフォルトの名無しさん mailto:sage [2008/10/12(日) 16:47:40 ] そんなことできたらそれはIDって言わないんじゃないの
538 名前:デフォルトの名無しさん mailto:sage [2008/10/12(日) 16:56:36 ] 要するに,例えばaとbっていう変数があったときに b.object_id = a.object_id としておけば a = 10 としたときに,bも自動的に10になってくれませんか? っていう話でしょ object_idはそんな用途に使えません
539 名前:デフォルトの名無しさん mailto:sage [2008/10/12(日) 17:01:37 ] >>538 すげー よく検討ついたな
540 名前:デフォルトの名無しさん [2008/10/12(日) 17:54:01 ] >> 538 その通りです 分かりにくい説明で申し訳ないです 用は参照を使いたかったんですが。。
541 名前:デフォルトの名無しさん mailto:sage [2008/10/12(日) 18:32:47 ] なんかa_idって名前が気になるな すっげー憶測だけど、Bはインスタンス変数でAを持つのが素直な設計だったりしない? それならB#save!で@a.save!するだけで済むから楽なんだけど
542 名前:デフォルトの名無しさん mailto:sage [2008/10/12(日) 18:38:16 ] >>538 おまえ、ほんとエスパーだな。 おれはさっぱり読み解けなかった。
543 名前:デフォルトの名無しさん mailto:sage [2008/10/12(日) 19:03:44 ] >>534 railsというかActiveSupportはそういう関連づけを自動化してくれなかったっけ? あるいは>>541 のようにしてB#a_idは@a.idを返すようにするとか。
544 名前:デフォルトの名無しさん mailto:sage [2008/10/12(日) 20:48:21 ] >540は自分の頭にあるオブジェクトのイメージをER図やクラス図で さらっと描きだせるくらいのレベルになるまでARを封印すべきだ。 もし仕事でやってるなら合掌。
545 名前:デフォルトの名無しさん [2008/10/12(日) 21:00:36 ] >>541 , 543 確かにModelはそんな感じの設計です。 @a.b = @b で関連付けて、 @a.save! とすればbも入るってことですよね。 ただ、viewに2つのmodelを分けて書くのが面倒だったので、調べているとActivePresenterなるpluginを発見し (ttp://jamesgolick.com/2008/7/28/introducing-activepresenter-the-presenter-library-you-already-know) 利用してみたところ、さきほどの参照のようなことをしたいなと思った次第です。 このpluginは2つのModelを結合してくれるもので、 @ab = AB.new(params[:ab]) @ab.save で、AもBもsaveできちゃうよということでした。 ただ、DBの保存時に決定される@ab.a_idと@ab.b_a_idが関連づかずに困っていたというわけです。 あまり、plugin自体には手を入れてくなかったので、 @ab.a_idと@ab.b_a_idが同じだよということができれば良いなということでした。
546 名前:デフォルトの名無しさん mailto:sage [2008/10/12(日) 23:11:18 ] プライマリキーの値を変更するな、テーブルの設計からやり直せ
547 名前:デフォルトの名無しさん [2008/10/12(日) 23:24:26 ] >>545 自己レスです とりあえず、参照は素直にはできないということは分かりました。 ありがとうございました。 もう少し試行錯誤して、無理なら普通のARにしてみます。
548 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 01:37:23 ] >>544 初心者として気になるんだけど そのレベルになるまではどんな感じやるのが上達する?
549 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 01:44:19 ] >>548 1週間に3日書く 今週はRubyスクリプト書いたり改良の試行錯誤が無かったなあという週が無いという状態にする 制御構造覚えたらマニュアル見つつたまに使う程度のカジュアルさでももちろん一向に構わないが、 その場合はRubyが上達することはないだろうし、上達するほど頑張る理由もそもそも無いことだろう
550 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 01:56:31 ] Rubyのクラス分けやモジュール分けはてきとーで良いということがわかった頃から スクリプト作るの早くなったような気がする 今でも特異メソッドとかわからんが インスタンスメソッドとクラスメソッドしか作ってない Proc はライブラリで要求されないと作らない yield は使う機会が無いのでわけがわからない
551 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 06:21:15 ] yield は each 作ったりしたらすぐ覚える
552 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 06:31:29 ] おれはテストを書く気が全く起こらないんだよなあ… 少しづつでも書けばいいんだろうけど つまらないから全く続かない…
553 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 07:56:06 ] どう考えても テストを書くのに悩む時間 >> 変なバグで悩む時間 なのでテストを書く理由がない俺 他人様に提供するライブラリ書くんじゃない限り要らないもんだと割り切ってる 書き方指南がないということは本当はみんな不要だと思ってる証拠
554 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 08:32:04 ] >>553 書き方指南いろいろあるじゃん 本にもwebページにも 俺も有用であるという自信はないが
555 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 08:43:49 ] テスト書くためのスクリプトでテスト書く説明するだけだしなあ お前そんなスクリプトなんて普段絶対書かないだろ、というのが多々…(特にテスト駆動)
556 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 08:54:11 ] スクリプト序盤から中盤での書き方がよくわからないのがテスト駆動の特徴 というかMockとかあのへんを理解しないと関数的スクリプトのテストしかできん
557 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 09:23:47 ] 色々書き方の作法もあるけど、むしろ形式に捕らわれず自由にテスト書くようにしたら それはそれで楽める部分もあると思う。
558 名前:デフォルトの名無しさん [2008/10/13(月) 09:42:39 ] 俺はテスト書かなくて困るのってリリース後なんだよなぁ。 デグレ出るたびに書いときゃよかったって思う。
559 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 10:07:10 ] ちゃんとテストが書けるようになったら、もう上級者だよ。 つまり上級者になるためには、テストがきちんと書けるようにならないといけない。 おれはまだうまく書けないんだけどな。 UIのテストなんか、どうしたらいいのかさっぱりだ。
560 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 10:36:29 ] 他人様のライブラリのgitのtestディレクトリとか眺めてるとよくわかる 本文コードの追加変更に対してテストが異常に適当というか不足 時間かけてまでして作りたくないかどうすれば網羅するか考えるの面倒なんだろうな
561 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 14:01:54 ] テストなしでロジック修正とかコードの整理(リファクタリング)とか、 怖くてできない体になった。
562 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 15:01:22 ] ZenTest試用中。なかなか良さげ。 ttp://mono.kmc.gr.jp/~yhara/w/?ZenTestMemo ttp://zentest.rubyforge.org/ZenTest/files/README_txt.html gem install ZenTest でインストール。
563 名前:デフォルトの名無しさん [2008/10/13(月) 17:14:28 ] >>561 わかります
564 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 17:30:17 ] テスト書くとメソッド単位でしか検証できないからめんどくさい あと、GUIアプリのTestってどうやるの?
565 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 17:35:59 ] できない
566 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 17:55:46 ] 入力の自動化をすれば出来る。 が、チェック項目をリストにして人力でやったほうがなんぼかマシ。
567 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 18:30:55 ] RubyでGUIつーと、テスト以前に環境が貧弱だからのう。 WebならSeleniumとか。
568 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 18:32:59 ] >>564 自動でマウス動かしてクリックしたりフォーム埋めたりするよプログラムを併用する 稀にどうしても自動化できないところが出てくることがあり、そういうときは漏れのない操作一覧図を書いて手動
569 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 18:58:10 ] >>564 ビューとコントローラを極力分離すれば、ある程度までは機械的にテストできる
570 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 19:02:19 ] GUI自体をテストしたい場合は?
571 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 19:15:36 ] GUI自体のテストって具体的にどんなの?
572 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 19:52:47 ] マウスクリックのタイミングとか
573 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 02:10:57 ] サブネットマスクにマッチするような判定って簡単に出来ますか? 例えば、 "192.168.0.45".in_mask?("192.168.0.0/24") # => true "192.168.0.45".in_mask?("192.168.0.0/29") # => false となってほしいのです。
574 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 02:15:25 ] 本質的にサブネットマスクはbitmaskだから ANDしてやればいい
575 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 03:03:18 ] >>573 IPAddr#include?
576 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 07:48:35 ] rubyはじめたばかりのものです。 Windowsにて、ワンクリックインストーラでrubyをインストールし、 RMagick(とImageMagick)をインストールしました。 サンプルプログラムを走らせようとすると(ruby sample.rb)、以下のようなエラーメッセージが出ました。 ./RMagick.rb:2: uninitialized constant Magick (NameError) from D:/Programs/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb: 27:in `gem_original_require' from D:/Programs/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb: 27:in `require' from rmagick.rb:1 ファイルの内容は以下です。 require 'RMagick' include Magick img1 = ImageList.new("d:/a.bmp") img2 = img1.blur_image(0,2) img2.write("sample01.bmp") exit 色々と試した結果、上記ファイルがあるディレクトリ(D:\rubyとする)をカレントディレクトリとして、 cmd.exeからruby sample.rbとすると上記のエラーが発生しますが、カレントディレクトリがd:\の 場合は正常に実行されました。どうもカレントディレクトリに*.rbなファイルがあると失敗するようです。 irbでも同様の結果でした。 これを回避する方法はないものでしょうか?
577 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 09:35:18 ] そろそろ解決してる頃だろうか >>576 require 'hoge' は カレントディレクトリの hoge.rb ファイルを読み込む rmagick.rb (大文字小文字問わず)という自作ファイルを改名しろ 「hoge ライブラリを試そうとして hoge.rb を作って実行し、次にまた別のスクリプトを作って変なエラーにはまる」というのは そろそろ FAQ にしてもいいと思う