1 名前: 【大吉】 mailto:sage [2009/01/01(木) 13:13:22 ] プログラミング言語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を読め」でいいので、叩かない&怖がらせない。 ・わけわかな質問にもエスパー発揮で。できれば質問の仕方を教えるぐらいで。 ・自信がない回答ならその旨表明すること。誤った回答は初心者じゃ見抜けない。
520 名前:デフォルトの名無しさん mailto:sage [2009/01/14(水) 22:26:02 ] 昔ファミコンでやってた時何も知らずにバッドエンドだった時は放心した。。。 パスワードとらずにやってたから初めからやり直しだったなwww 苦い青春だったぜ
521 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 00:41:39 ] Mac OS X で ruby-1.9.1-rc1 をコンパイルすると、i686ではなくi386になる。 $ ruby -v ruby 1.9.1 (2008-12-30 patchlevel-0 revision 21203) [i386-darwin9.6.0] i386用にコンパイルされていると遅いよね? i686用にコンパイルしたいんだけど、どうしたらいい?
522 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 04:03:10 ] 誰かrarff使っている人いますか?
523 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 07:29:43 ] >>520 2か3で誰かと入れ替わるイベントもあったよな。どっかの王様だっけ? あん時はパニックになって友達に泣きついたが、あとから考えると 恥ずかしかったな。
524 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 08:41:56 ] 古いバージョンで動いてたスクリプトを最新版で動くようにする変換機とかありますか?
525 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 10:03:15 ] >>524 原理的に無理でしょう 人間の手で書き換えるしかないんじゃないかと
526 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 15:20:40 ] >>523 3で王様になるイベントだな。 あれは最初どうにもならんでリセットしたわw
527 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 17:31:34 ] irb> file.scan(re[:method]) RegexpError: Stack overflow in regexp matcher ぬう これでカッコ多いか生意気な
528 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 04:09:51 ] 下位互換性確保のために、古いバージョンの実行環境を残しておくのは重要。
529 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 05:16:24 ] Ruby 初心者スレッド Part 22 pc11.2ch.net/test/read.cgi/tech/1221467121/322 322 名前:デフォルトの名無しさん[sage] 投稿日:2008/10/02(木) 18:02:43 バッチファイルにしてやればエラーが出てもポーズさせるようにできるよ。 ruby -x "%~0" || pause と書けばエラーが出たときに限ってとまる。 test.bat ruby -x "%~0" pause goto :eof #!ruby put "hello"
530 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 05:18:42 ] うぉ途中で送信した >>529 について質問なのですが、 ruby -x (スクリプト名) と指定することはどういう意味があるのでしょうか? 特に -x なのですが、マニュアルを読んでも意味がわかりません。 これはバッチを実行した時にその作業ディレクトリをスクリプトのディレクトリに移動するという意味でしょうか?
531 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 05:32:56 ] #!ruby より上を読み飛ばすってことじゃないかな? 全体でバッチファイルになってるけど、rubyスクリプトとして実行されるのは下の2行だけっていう。
532 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 10:23:47 ] 最近、『ケント・ベックのSmalltalkベストプラクティス・パターン』に中身が似てるっぽい 『実装パターン』て本が出ましたが、Ruby使いにとってはどちらがより役に立ちますか? 前者がSmalltalkのコードで説明してて、後者はJavaですよね。 両方読んでみた人いますか?
533 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 11:55:55 ] >>532 似たことが書いてありますが、SBPPは動的言語向け、IPは静的言語向けの内容なので どちらかを選ばなければならないなら、Ruby使いにはSBPPのほうを薦めます。 もちろん、お金と時間に余裕があるならば、両方読むのが吉です。
534 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 13:30:06 ] >>531 あーーそういう意味か!わかりました。 batファイル自身がRubyスクリプトになっててそのまま実行できるようになってるんですね。
535 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 20:29:35 ] win32oleをつかってADO経由でsqlserverのテーブルに 対して読み書きを行おうと思っています。 connectionオブジェクトのゲットは出来ました。 recordsetオブジェクトのゲットも出来ました。 recordsetの各feilds("項目名").valueに値をセットして updateメソッドで反映出来るのも確認できました。 「よし、出来た」 そう思ったのもつかの間。 「テストテーブルだけど初期値(null)に戻しておくか」 そう思った時に壁につぶかりました。 rsTest.feilds("項目名").value = nil こうすると例外が出てしまいます。 初期値(null)が入っている時は p rsTest.feilds("項目名").value 結果:nil になったのですが…。 DBのnull≠nilで初期値がp関数でnil表示されるのは 型が返還された結果だというのはおぼろげながら 想像はつくのですが、ではADOのFeildオブジェクトに nullをセットするにはどうしたらいいのでしょうか? レコードセットでの操作を諦めてSQL文で操作した 方がいいのでしょうか? 環境 OS:WINDOWS2000 rubyのバージョン1.8
536 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 21:10:26 ] うちはnilで出来てる
537 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 00:01:52 ] ADOのconnectionが作れたならSQL発行すればいいじゃん
538 名前:535 mailto:sage [2009/01/17(土) 02:06:05 ] >>536 nilのままでOKなんですか。 となると呼び出し方がおかしいとか バージョンとかの相性の問題ですかねぇ >>537 最終的にはそうなりそうです。 ただ、nil以外は値をちゃんと設定できるだけに 何か手順があるのかなと思いまして。 まぁ、ちょっと悔しくてなんとか 足掻けないかなぁと思っただけなんです。
539 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 06:38:14 ] ml.postgresql.jp/pipermail/pgsql-jp/2006-November/021242.html
540 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 06:50:04 ] ttp://www.vbalab.net/vbaqa/c-board.cgi?cmd=one;no=59578;id=excel
541 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 07:13:16 ] ttp://www.atmarkit.co.jp/fdotnet/basics/adonet06/adonet06_03.html
542 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 07:49:14 ] >>533 ありがとうございます。参考になりました。
543 名前:535 mailto:sage [2009/01/17(土) 09:43:17 ] >>539-541 ありがとうございます。 Ruby側じゃなくて、ADOサイドの問題の可能性が高そうですね。 色々試してみます。
544 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 10:28:41 ] テーブルの定義の問題だと思う
545 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 11:11:32 ] 自分のコーディングが怪しいと思わないところが問題だと思う
546 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 14:14:56 ] PStore.new('test.pstore').transaction(read_only=true) do |pstore| ... end の read_only=true がただのメソッド説明用の表現であり、 実際は引数に true を渡す普通のアレだということを数年使ってきてやっとさっき気づいた PStore.new('test.pstore').transaction(true) do |pstore| ... end pstore の時だけなんか引数で代入?みたいな特別な記法があるんだなーとずっと思ってた
547 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 15:01:17 ] 特別な記法はある
548 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 15:49:46 ] >>547 特定のクラスだけ通用する記法みたいなのは特にないよ 返り値が評価されるだけだ
549 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 16:06:28 ] いや、トップレベルに read_only= という関数的メソッドを定義するライブラリかもしれないじゃないか
550 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 03:57:37 ] KDE3 の korundum.rb にはあった、KDE モジュールの ListView クラスと ListViewItem クラスが、 KDE4 の korundum4.rb にはありません。 これは何か別のクラスで置き換わったのでしょうか。 よろしくお願いします。
551 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 15:25:00 ] ちょっとした質問があります。 UTF-8(BOM付き)とUTF-8n(BOMなし)を判別する簡単な方法はありませんでしょうか? NKF.guess だと 両方とも 5(=UTF8) としか帰ってこず、 判別できませんでした。
552 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 15:28:41 ] 対象をUTF-8のBOMと照合したらいいじゃまいか
553 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 15:29:45 ] BOMとマッチさせるだけだよなぁ。
554 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 15:55:56 ] 特定のウィンドウやソフトから流れる音楽の音量を音楽編集ソフトで音量増幅したようにリアルタイムで増幅したいのですが。 ルビーでできますか。どのような方法で可能なのですか。
555 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 16:09:01 ] >>554 できるとしてもRubyとしての仕事ではなく、 他のプログラムのコア部分に処理を形通り依頼する(データを丸投げして呼び出す)というやり方になる Rubyは関係ないな
556 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 16:16:20 ] >>550 一応答える 知らんがな KDEスレのほうがたぶん変更理由とかに詳しいと思われ
557 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 16:26:36 ] >>554 OSやウィンドウ(アプリ)が何なのかによるんじゃないの? ↓LeopardでAppleScriptを介してiTunesのボリュームを変える とか書かれても参考にならんでしょ? require 'osx/cocoa' include OSX def iTunesVolume(volume) script = NSAppleScript.alloc.initWithSource <<-EOF tell application "iTunes" set sound volume to #{volume} end tell EOF error = OCObject.new script.executeAndReturnError(error) end
558 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 16:33:04 ] >>556 そうですか。すまんす。 KDEスレを探してみます。
559 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 17:21:34 ] >>557 特定の曲だけにしたいんです
560 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 18:04:17 ] .wavとか.mp3とかの元データを変えずに、 再生中に特定の曲だけボリュームを上げたいってことか。
561 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 18:06:14 ] Windowsなら腐るほど該当アプリケーションあるけどな
562 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 18:21:32 ] >>560 >>561 その方は私の質問に便乗している方ですのでお間違いないように。 私の希望はあくまでも、ウィンドウやソフトから流れる音をミュート以上にリアルタイムで増幅する方法です。 >>555 >>557 そうですか..。 いや、SDLとかいうルビーのゲーム用ライブラリーで音楽が扱えていたことと、 パソコン上で再生された音や特定のウィンドウの音を録音できるフリーウェアがたくさんあったので、そんなに難しいことではないのかなと質問させていただきました。 ミュートの調整による増幅以上に増幅する方法をさがしているので。
563 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 19:10:47 ] 意味が分からない
564 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 19:25:49 ] >>562 他のフリーウェアがどうやってるのかは分からないが Ruby覚え立てでスパッと出来るほど簡単なものではない OSによってもやり方が違うし
565 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 19:52:49 ] ミュートの意味がおかしくね?
566 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 20:37:45 ] >>562 出来ないから諦めろ、て言われたら諦めてくれる?
567 名前:デフォルトの名無しさん [2009/01/18(日) 21:30:31 ] >>564 OSはウィンドウズです。 >Ruby覚え立てでスパッと出来るほど簡単なものではない そうですか?初心者向けと聞きましたが。 それに分からないから(これから勉強するので)初心者質問スレに質問したのですが。 >>566 分かる人を待ちますよw
568 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 21:32:54 ] このスレは成りすましお断りですよ
569 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 21:44:28 ] >>567 初心者向けだと言ったやつに聞けばいいのでは? 特定のアプリを外部制御するならまだしも Windowsで再生してる音の波形から曲を判定し音量コントロールなんて俺はやりたくない。
570 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 21:50:22 ] タスクトレイにある「音量」をいじればいいよ。 それと同等の操作ならRuby初心者でもできるだろうけど それ以上を求めるなら間違いなく待ちぼうけになる。
571 名前:デフォルトの名無しさん [2009/01/18(日) 21:54:19 ] >>569 >特定のアプリを外部制御するならまだしも >Windowsで再生してる音の波形から曲を判定し音量コントロールなんて俺はやりたくない。 pcに流れる音全体でもいいですよ(できれば個別にですが)。 ただリアルタイムで音量を増幅できれば。 それとフリーの録音かソフトが個別の音を録音できていることから考えると、 pc上に流れた全ての音がミックスされてスピーカーで流れているだけで、 スピーカーから流れる前段階のどこかで、個別の音声はプログラムで取得する方法があるような気がします。
572 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 21:56:21 ] よくわからないが,>>561 や>>567 を見ると煽りたくなる衝動に駆られる この気持ちどうしよう
573 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 21:56:27 ] だから、できるって ただし、Rubyは無関係 他のサウンドとOSの深いとこを触るドライバやライブラリを直接いじるしかない そのいじり方を学んでから、Rubyで通信する方法を聞きに来な
574 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 22:05:26 ] >>567 >そうですか?初心者向けと聞きましたが。 Rubyは初心者向けかもしれんが お前がやろうとしていることは、確実に上級者向けどころか前人未踏に近い領域だ > それに分からないから(これから勉強するので)初心者質問スレに質問したのですが。 他の人も散々言ってるように、それは「Rubyの」初心者質問スレで解決できる質問じゃない 素直に諦めてくれ
575 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 03:00:31 ] >>567 できりょ。 ・Rubyをインストールする ・Vistaをインストールする ・タスクトレイから音量ミキサを開く ・アプリケーションごとの音量を調整する な?簡単だろ? ちなみに、Win32のデバイスドラバとかWin32APIとか絡みそうなものはRubyと激しく相性が悪い。 そもそも、Win32をゴリゴリやるのは向かないだろ。 C#(.NET)とかC++の方がまだ向いてる。
576 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 04:25:20 ] >Win32のデバイスドラバとかWin32APIとか絡みそうなものはRubyと激しく相性が悪い。 mjsk kwsk
577 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 05:10:11 ] >・Rubyをインストールする >・Vistaをインストールする >・タスクトレイから音量ミキサを開く >・アプリケーションごとの音量を調整する これは上から順に見てワロタwww 上から順にしようとしたらできない事書いてあるし久々オモローwww
578 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 08:55:50 ] オモローって自分から使ってる人久しぶりに見た
579 名前:デフォルトの名無しさん [2009/01/19(月) 09:39:59 ] rubyのRPMを探しているのですが、見つかりません どこにありますか?
580 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 09:53:00 ] >>579 最新のものにこだわらなければ、 大抵のLinuxディストリなら標準で入ってるんじゃね? OSと、欲しいRubyのバージョンは何?
581 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 11:22:21 ] yum install ruby で入らないのか? 下手に探すより環境をしっかりさせろ。
582 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 11:23:09 ] yum じゃなければ apt-get
583 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 11:56:52 ] 1.8.6に1.8.7のinjectでのシンボルによる二項演算子指定を実現するのは以下でいいと思います? class Symbol def to_proc proc { |obj, *args| obj.__send__(self, *args) } end end module Enumerable alias _inject inject def inject(*init, &block) if not block begin return _inject(&init[0]) rescue return _inject(init[0], &init[1]) end end _inject(*init, &block) end end
584 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 18:14:58 ] emacs(meadow)でRuby書くときにこれこそ入れておけっていうelispありますか? ruby-modeとruby-electric位しかruby周辺は入れてません.
585 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 18:35:54 ] ハッシュってキーもバリューも日本語いけるんだな!ちとおらびっくりしたぞ!
586 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 22:16:48 ] 激しく実行環境依存で嵌まりそうだけどな。
587 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 22:24:07 ] 可搬性がなければならないプログラムを作らなければならない必要性というのは 現代のRuby用途では意外と低い
588 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 22:58:55 ] 自分んとこ(か、日本語が通ることが確定してる特定の環境)で使っておしまいというスクリプトのほうが多いな、確かに 外に出すんでなけりゃ日本語使ってもいいと思うけどね 日本語べったりになってるとアルファベットでどう書くか悩むことになるけど
589 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 23:01:44 ] 形態素とか使ってたら日本語使った方が簡単そうだな
590 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 00:22:14 ] Ruby1.8.6です。REXMLのverは3.1.6です。 URLを与えたらそこから文書を抜き出してきて、それをyahooの形態素解析にかけるとXML形式でレスポンスが返るので それをREXMLで解析するプログラムを作ったのですが、 wikipedia(全体ではなく開けるものもある)やその他一部のページで、REXMLの解析中にParseExceptionエラーが起きてしまうのですが、 エラー文を見ても意味がよく分からなく、同じような症状?が出た方も中々いないようなのでお手上げです。 以下エラー文です。 #<REXML::ParseException: Declarations can only occur in the doctype declaration. Line: Position: Last 80 unconsumed characters: <!doctype html public "-//W3C//DTD HTML 4.01//EN" "www.w3.org/TR/html4/str>
591 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 00:32:17 ] 明らかにXMLじゃないじゃん、それ Yahooからの返事がXMLじゃないエラーか何かなんだと思うよ
592 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 00:35:52 ] !DOCTYPE宣言が二重になってるとかなんだろうな
593 名前:590 mailto:sage [2009/01/20(火) 01:51:53 ] >>591 エラーでしたら400等が表示されるはずなのですが、、 >>592 二重になるのってどこが問題なんですかね..
594 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 02:07:54 ] >>593 400等が表示って、ちゃんとHTTPレスポンスヘッダはチェックしてる?
595 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 02:09:06 ] しまった脊髄反射的なレスだった。 とりあえずREXMLに食わせるまえにファイル出力してみればいいよ。
596 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 02:33:58 ] エラーになるURL晒すのが早いと思うが
597 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 04:34:23 ] ネット系の問題に自分でデバックすら出来ないレベルか。なんか目的にたどり着くのは無理っぽい。 いつも使う必須のスクリプトが環境依存で引っ越して問題が出るのは良くある事。 まあその時に必要に迫られて書き直すと見通しよく成っていいプログラムに成る事は多いが。車輪の再生産気味だが。
598 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 06:11:08 ] リファクタリングが車輪の再生産って言われるとやる気なくします><
599 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 06:25:09 ] >>593 ステータスコードが200だからといって信頼していいわけじゃないぞ
600 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 08:21:46 ] ruby 1.8.6 WindowsXP SP3です。 実例ではないのですが、100までの数をカウントするプログラムに、 標準入力から入力された数字を現在の数字に足す機能を加えたいと思っています。 色々調べたところ、スレッドというものを使えばよいのかな、という結論に達したので 以下のようなプログラムを書いてみましたが、思うような動作をしてくれません。 どなたかお知恵を貸していただけないでしょうか? j = 1 t = Thread.new do while (j < 100) sleep 1 p j.to_s j += 1 end end while (j < 100) i = gets.chomp j += i.to_i end
601 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 08:41:42 ] これは・・・
602 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 08:45:58 ] 自然数k,p,q,m,nについて k=mp+nq(m>=0,n>=0)を満たす(m,n)の組の数をv(k)とするとき p=3, q=7, kが1から100までのときの結果vの一覧を出力したいです Rubyではどのように書いたらいいですか?
603 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 08:53:52 ] >>600 うちではうごいた
604 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 08:55:22 ] >>602 m=0あるいはn=0のとき自然数じゃなくなるけどいいの?
605 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 08:58:43 ] >>604 すみません間違えました x 自然数k,p,q,m,nについて o 自然数k,p,qについて あと、m,nは「0以上の整数」です よろしくおながいします
606 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 08:59:23 ] >>603 うちでは数の表示がgets.chompに邪魔されて、リターンを押すまで 数え上げるほうのスレッドの実行がとまっているみたいなんです。 環境はLinuxとかでしょうか?
607 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 09:09:14 ] >>606 cygwinです
608 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 09:10:44 ] >>602 p = 3 q = 7 (1..100).each do |k| v = 0 (0..(k/p)).each do |m| (0..((k-m*p)/q)).each do |n| if k == m*p + n*q v += 1 end end end print "v(#{k})=#{v}\n" end
609 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 09:20:36 ] >>607 ありがとうございます。 実際にこの処理を使用するプログラムでは拡張ライブラリ使用&exerbでexe化を 考えています。Cygwinでは正常にexe化できないようなのでmswin32でなんとかならないか もうちょっと調べてみます。
610 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 09:21:13 ] >>600 mswin32ではgetsがブロックする。
611 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 09:27:05 ] リファレンスのどっかにあったと思ってたんだけど、やっと見つけた。 www.ruby-lang.org/ja/man/html/trap_timeout.html
612 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 09:30:49 ] >>608 こうかな p = 3 q = 7 t = 0 u = 0 (1..100).each do |k| v = 0 (0..(k/p)).each do |m| if (k-m*p)%q == 0 v += 1 end end print "v(#{k})=#{v}\n" u += v if v > 0 t += 1 end end print "total #{t}, #{u}\n"
613 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 09:41:30 ] >>609 exerb+cygwinでexe化うまくいってるよ なんか変なライブラリくっつけてない?
614 名前:デフォルトの名無しさん [2009/01/20(火) 09:59:05 ] >>602 参考になるのかな ttp://d.hatena.ne.jp/octech/20080118
615 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 10:09:17 ] アンカミス >>600
616 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 10:34:43 ] >>614 ドンピシャです。ありがとうございます! >>610-611 なるほど、mswin32だと修正を待つしかない・・・のかな? と思ったけど回避策ってあるもんなんですね。引き出しを増やさなきゃ。 >>613 win32/sapi5を使っているのと、HDD容量に難があったのでCygwinは入れてませんでした。 2日前にHDDを注文したので届いたらCygwinでもやってみます。 レス下さった方々、ありがとうございました。
617 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 12:17:42 ] >>616 >なるほど、mswin32だと修正を待つしかない・・・のかな? バグじゃないから修正はされないんじゃないかな。 1.9では問題ないみたいだけど。
618 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 12:52:49 ] >>608 共通一次ですね
619 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 12:54:26 ] >>616 _kbhit入れたバージョンでも 一文字だけ入れてenterしないときって止まるよね
620 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 13:05:14 ] >>617 バグじゃないんですかね?ruby-list 36068ではバグみたいに言われてる気がするけども。 1.9では問題ないとは!バージョンあげようかなぁ。 >>619 止まりますね。でも、そのほうが便利な気がしないでもないです、私の場合。