- 1 名前:デフォルトの名無しさん mailto:sage [2009/12/05(土) 14:21:25 ]
- プログラミング言語Rubyについての、初心者向けスレです。質問・要望・雑談などどうぞ。
★注意★ Ruby 1.9.1 は初心者にはまだ時期早尚です。初心者には Ruby 1.8.7 を強くお勧めします。 (理由:現時点では多くの有名ライブラリやアプリが 1.9.1 に完全対応していないためです。) 1.8.7 でも 1.9 系に導入された新機能のいくつかが利用可能なため、1.8.7 を習得すれば将来スムーズに 1.9 系に移行できるでしょう。 関連スレやURLは>>2-5あたりを見てください。Ruby on Rails の質問は Webプログラミング板の 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を読め」でいいので、叩かない&怖がらせない。 ・わけわかな質問にもエスパー発揮で。できれば質問の仕方を教えるぐらいで。 ・自信がない回答ならその旨表明すること。誤った回答は初心者じゃ見抜けない。
- 231 名前:デフォルトの名無しさん mailto:sage [2009/12/15(火) 00:52:12 ]
- 数値積分や微分できるようなライブラリとかってないですか?
Rubyを関数電卓代わりに使いたいんですけど
- 232 名前:デフォルトの名無しさん mailto:sage [2009/12/15(火) 00:58:10 ]
- パッチレベル上がったのにmingwでmake通らん
- 233 名前:デフォルトの名無しさん mailto:sage [2009/12/15(火) 01:01:41 ]
- >>231
よくわからんけど「Ruby 数値積分 微分」でぐぐってみた ttp://jp.rubyist.net/magazine/?0006-RLR こっちは結構すごそうだぞ ttp://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/39950
- 234 名前:デフォルトの名無しさん mailto:sage [2009/12/15(火) 01:01:55 ]
- GSL(GNU Scientific Library)のRubyバインドがあるようだ。
詳しくは見ていないけど、数値積分や微分はあるみたい。 ただし、最後のリリースが約2年前というのが気掛かり。 十分枯れているのだろうけれど、新しめのRubyで動くかは不明。 ところで、本格的な数式処理なら、Maximaとか使ったほうがいいんじゃない?
- 235 名前:デフォルトの名無しさん mailto:sage [2009/12/15(火) 01:05:33 ]
- かぶりんこ。
- 236 名前:デフォルトの名無しさん mailto:sage [2009/12/15(火) 01:43:08 ]
- ありがとうございます
導入めんどくさそうですけど頑張ってみます
- 237 名前:デフォルトの名無しさん mailto:sage [2009/12/15(火) 02:03:40 ]
- 数値積分や微分できるような関数電卓を持っていたら、それを使う。
でなければ、カシオの計算センターとか。 自前のコードからコールしたいなら、ついでにそっちも自分で書いてしまう。 てのは、いかがでしょう。
- 238 名前:デフォルトの名無しさん mailto:sage [2009/12/15(火) 06:35:31 ]
- >>219
> ファイルには出したくないBenchmarkとかで計測した結果も表示したくなって 標準ライブラリの Logger を使ってみるというのは? jp.rubyist.net/magazine/?0008-BundledLibraries
- 239 名前:デフォルトの名無しさん mailto:sage [2009/12/15(火) 09:20:54 ]
- いわゆる数値計算には向かないよね、Ruby
- 240 名前:デフォルトの名無しさん mailto:sage [2009/12/15(火) 09:53:38 ]
- しかし、「5分で作って5秒で実行させる」ような、「計算機なんだから計算できてもいいんじゃね」という
カジュアルなデータ計算をさせることが期待されるプログラミング言語のトップグループにいることは間違いない 専門数値計算ソフトやC(やJava)を持ち出さなくてもいい程度の計算なら、もっと気楽にできてもいい 高校や大学1年教養の宿題をうっかり解けてしまうような、そんな用途があってもいいはず
- 241 名前:デフォルトの名無しさん mailto:sage [2009/12/15(火) 10:06:28 ]
- そういう用途ならあるげぶらーじゃね
- 242 名前:デフォルトの名無しさん mailto:sage [2009/12/15(火) 10:09:15 ]
- Rでもいいしますまてぃか覚えるのでもいいしいっそExcelでも充分使える範囲である可能性も高いな
- 243 名前:デフォルトの名無しさん mailto:sage [2009/12/15(火) 10:20:55 ]
- カタカナでおk
- 244 名前:デフォルトの名無しさん mailto:sage [2009/12/15(火) 10:28:35 ]
- アールやエクセルってなんか変だろ
- 245 名前:221 mailto:sage [2009/12/15(火) 15:52:28 ]
- >>238
ああ、その手もありました!その名のとおりログのこりますしLoggerいいですねw
- 246 名前:デフォルトの名無しさん mailto:sage [2009/12/15(火) 15:56:00 ]
- 数値計算したいんなら構文的にPython+numpyのほうがいいよ。Rubyには不向き。
- 247 名前:デフォルトの名無しさん mailto:sage [2009/12/15(火) 18:38:35 ]
- >>221
ワンライナーで時間の計算をする時に24時間以内なら ruby -rtime -e "a=Time.parse('09:08:20')-Time.parse('01:40:02');puts Time.at(a).utc.strftime('%H:%M:%S')" とかしたりしますな
- 248 名前:デフォルトの名無しさん mailto:sage [2009/12/15(火) 18:47:01 ]
- ていうか、やろうと思えば結構できるんだよ
でも自己責任の域を出れない
- 249 名前:デフォルトの名無しさん mailto:sage [2009/12/15(火) 18:54:35 ]
- name=gets
puts "私は#{name}です" nameに日本語を入力するとエラーが出てしまいます C:/My Documents/g/Ruby/test.rb:4:in `<main>': incompatible character encodings: ASCII-8BIT and Windows-31J (Encoding::CompatibilityError) これはどういったエラーなんでしょうか?
- 250 名前:デフォルトの名無しさん mailto:sage [2009/12/15(火) 19:03:50 ]
- >>249
初心者は Ruby1.9 使うなってこれだけ言われてるのになんでわからんのだエラー
- 251 名前:デフォルトの名無しさん mailto:sage [2009/12/15(火) 19:08:17 ]
- それってスクリプトつーか内部文字列がWindows-31Jで標準入力がASCII-8BITってこと?
Windows-31Jがロードできたら標準入力もそっち使うようになってなかったっけ どういうときにそんなことになりえるのか知りたい、誰か教えて
- 252 名前:デフォルトの名無しさん mailto:sage [2009/12/15(火) 19:08:20 ]
- スレタイに【1.9】 【使うな】っていれとけよ
- 253 名前:デフォルトの名無しさん mailto:sage [2009/12/15(火) 19:21:35 ]
- 【Windows】【使うな】とか
- 254 名前:デフォルトの名無しさん mailto:sage [2009/12/15(火) 19:36:02 ]
- 順番からいって標準入力がWindows-31Jか、なんでスクリプトがASCII-8BITになったんだろう?
とりあえず>>249は1.9使い続ける気ならマジックコメントを使えるようになるべき
- 255 名前:デフォルトの名無しさん mailto:sage [2009/12/15(火) 19:38:08 ]
- MCって一番やっちゃいけないタイプの変更だよな
- 256 名前:デフォルトの名無しさん mailto:sage [2009/12/15(火) 19:50:04 ]
- スレチだが微積やってくれて感動した
www.wolframalpha.com/
- 257 名前:デフォルトの名無しさん mailto:sage [2009/12/15(火) 19:52:31 ]
- >>252
>>1
- 258 名前:デフォルトの名無しさん mailto:sage [2009/12/15(火) 20:10:57 ]
- >>255
じゃあファイルごとに違う文字エンコーディングをインタプリタに知らせる方法を考えてくれ
- 259 名前:デフォルトの名無しさん mailto:sage [2009/12/15(火) 20:18:58 ]
- いいこと考えた、ファイルは全部ASCII-8BIT相当にするってのはどう
- 260 名前:デフォルトの名無しさん mailto:sage [2009/12/15(火) 20:25:36 ]
- これでますますPythonへの移行が加速しちゃうな。
マイナー環境に媚びすぎるあまり全員が等しくLoseしちゃうなんてあまりにも悲しい。
- 261 名前:デフォルトの名無しさん mailto:sage [2009/12/15(火) 20:27:49 ]
- >>259
それ 1.8 じゃん…
- 262 名前:デフォルトの名無しさん mailto:sage [2009/12/15(火) 20:29:51 ]
- やっぱ今からでもせめてデフォルトUTF-8に
- 263 名前:デフォルトの名無しさん mailto:sage [2009/12/15(火) 20:32:17 ]
- >>262
マッキン使えマッキン
- 264 名前:デフォルトの名無しさん mailto:sage [2009/12/15(火) 20:36:27 ]
- UTF-8-MACはUTF-8じゃありませんっていうか今すぐ滅びてくださいお願いします
- 265 名前:デフォルトの名無しさん mailto:sage [2009/12/15(火) 22:35:13 ]
- >>264
Pythonはもろそれにぶつかったな。よくそれではまったよ。 あのさ、require 'foo' したときの、foo.rb または foo.so の在処をしるにはどうしたらいいんだっけ。 よく聞かれる質問だと思うけど、だれか教えて。
- 266 名前:デフォルトの名無しさん mailto:sage [2009/12/15(火) 22:44:32 ]
- 1.8.6と1.8.7の違いってどこかにまとめられてますか?
- 267 名前:デフォルトの名無しさん mailto:sage [2009/12/15(火) 22:47:55 ]
- >>265
前スレでみたのは gem which foo
- 268 名前:デフォルトの名無しさん mailto:sage [2009/12/15(火) 22:57:27 ]
- $" または $LOADED_FEATURES
- 269 名前:デフォルトの名無しさん mailto:sage [2009/12/15(火) 23:04:43 ]
- >>267
それは求めるものじゃないなー >>268 それはファイル名だけだよね。ディレクトリ名も含めたパスが欲しい。
- 270 名前:デフォルトの名無しさん mailto:sage [2009/12/15(火) 23:10:31 ]
- それは提供されてない
- 271 名前:デフォルトの名無しさん mailto:sage [2009/12/15(火) 23:10:37 ]
- >>265
結局こうしました $ ruby -r nkf -e 'puts $:.map {|x| Dir.glob("#{x}/nkf*") }.flatten' /usr/local/lib/ruby/1.8/i686-darwin10.0.0/nkf.bundle
- 272 名前:デフォルトの名無しさん mailto:sage [2009/12/15(火) 23:45:36 ]
- >>266
svn.ruby-lang.org/repos/ruby/tags/v1_8_7/NEWS
- 273 名前:デフォルトの名無しさん mailto:sage [2009/12/15(火) 23:59:23 ]
- >>272
Thanks. わーおEnglishじゃん!開発者は日本人が多いのに、ぷんぷん!
- 274 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 00:05:46 ]
- >>272
ていうか、これ読んで分かるの開発陣だけだから。 Ruby利用者がよんでもわけわからん。
- 275 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 00:12:20 ]
- これを元にした噛み砕いたユーザー向け解説というのを誰か第三者が作ってきちんとフォローすべきなんだ
でも、Ruby(特に日本の)ではそういうのが特にないんだよね 商売っけがないというか、目立ちたがり屋がいないというか ちなみにオフィシャルの仕事ではないのでこれ以上は望んじゃ駄目よ 取り巻きの役目
- 276 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 00:15:59 ]
- user visible feature changes と書いてあるんだが…
- 277 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 00:18:07 ]
- これとRubyリファレンスマニュアルを併用すればきっと・・!
- 278 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 00:18:17 ]
- るびきち氏の日記に載ってたのはリリース当時欲紹介されてた気がする。
ttp://d.hatena.ne.jp/rubikitch/20080508/ruby187
- 279 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 00:31:54 ]
- >>278
神いわゆるゴッド
- 280 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 01:55:08 ]
- >>275
>ちなみにオフィシャルの仕事ではないのでこれ以上は望んじゃ駄目よ なんで? ちなみにPythonはα版でもこれだけの出来。 ttp://docs.python.org/dev/whatsnew/2.7.html これだけの差がありながら、「Rubyはドキュメントが揃ってる」とぬかす古参上級者がほんとジャマ。
- 281 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 02:03:55 ]
- Andrew Kuchlingは取り巻きどころかPythonの主要開発者だな
Python3.0のWhat's newはGuido書き下ろしだし ドキュメントは取り巻きに任せろってのはガンかもしれないね でもこれ本スレでやったらいいよ 初心者にはいい迷惑だ
- 282 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 02:11:24 ]
- >>280
人材が究極的に少ないから 現状に加えて一般向けにドキュメント揃えろなんて言ったらどんどんリリースが遅くなる 当事者だからという理由だけでできない人に無理やりやらせる理由はない 得意な人に任せておけばいい まあ初心者スレ向けでないのとドキュメント揃ってるほうだと言ってる人間が障害になってるのには同意
- 283 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 10:33:28 ]
- rubyの勉強をしろと言われ、perlのプログラムを渡された
雰囲気は似てるからrubyに書き換えて動作させてみろという perlもrubyもほとんど触ったことない俺にどうしろっていうんですか… 書き換え方にコツとかあるんでしょうか?元のperlプログラムにはサブルーチンにハッシュやら配列やらが結構混ざって泣きそう
- 284 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 10:43:08 ]
- >>283
とりあえず元のプログラムが何をするものなのか理解しないことには 始まらないと思われ
- 285 名前:221 mailto:sage [2009/12/16(水) 11:02:32 ]
- >>247
ありがとう。24時間は超えてしまうのでTimeはやはり使わない方向でいきます
- 286 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 11:06:02 ]
- 質問です。
Rubyで簡単なGUIアプリを作ろうとしているのですが、現在何がオススメでしょうか? 環境は、Ruby 1.8.7、Windowsです。 できれば、あくまでできればですが、実行環境では追加のリソース(ランタイム)が必要ないものがよいのですが… 例えばexeに固めれば単体で実行できる、もしくはRubyとそのライブラリがあれば動くと言ったようなものです。 下記サイトでは、shose(why氏とともにサイト死んでる?)、Ruby-GNOME2、wxRubyがよく使われているとありますが、 みなさんは何を使われてますか? Ruby GUI調査2008 www.pressure.to/ruby_gui_survey/index-ja.html
- 287 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 11:14:52 ]
- >>286
> Rubyで簡単なGUIアプリを作ろうとしているのですが、現在何がオススメでしょうか? RubyではGUIアプリケーションは作らない
- 288 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 11:15:28 ]
- Windowsで1.8でexe単体なら自分だったらvruby+Exerb+UPX
でも上の縛りがなければwxRuby+Ocra あとやったことないけどWebアプリ+RubyStationも面白そう
- 289 名前:286 mailto:sage [2009/12/16(水) 11:24:17 ]
- shoesはgithubにありましたけど、Javaのprocessingみたいな感じなんですね。ちょっと用途が違うとおもた
samples at master from shoes's shoes - GitHub github.com/shoes/shoes/tree/master/samples/ >>287 (´;ω;`)ブワッ 昔Delphi使ってたんでそっちでもいいんですが、できれば最近なれたRubyでGUI作れたらなとか思うわけですよ… >>288 必ずしもexe単体でなくてもいいです。 webアプリは面白そうなんですが、とりあえず、vrubyとwxRuby試してみます
- 290 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 11:26:15 ]
- たぶん、GUIというイベントドリブンな概念とRubyの記法が合わないんだと思う
- 291 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 11:28:25 ]
- イベントハンドラにprocオブジェクトを登録することがごく自然に出来るわけで。
- 292 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 11:31:44 ]
- 実装の便利度に差がありすぎるんだよな
中にはHSPからシェル経由でスクリプト呼んで引数連携させたほうがマシといゲフンゲフン
- 293 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 11:43:07 ]
- >>271
パスに{}[]が含まれると良くない
- 294 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 11:51:03 ]
- >>293
一般に使ってもらうならともかく、自分の用が果たせたならそれでいいんじゃないか?
- 295 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 13:56:13 ]
- wxRubyをgemで入れてみたのですが、wxruby-2.0.1-x86-mswin32-60がインストールされたのですが、
これて古くないんでしょうか?wxWidgetの0.6.0だったりしませんか? ruby -v #=> ruby 1.8.7 (2008-06-20 patchlevel 22) [i386-mswin32] 古いな…
- 296 名前:uy ◆e6.oHu1j.o mailto:sage [2009/12/16(水) 17:55:27 ]
- 純粋にrubyのレベルをあげたいです
小さなツールとWebアプリケーションとGUIゲームくらいならrubyで作れるようになったんですが ルビリストと呼ばれるようになる為の次のステップ教えてください
- 297 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 18:05:30 ]
- いろいろな言語を使う。
とくにRubyのバックグラウンドを育んだLispやSmalltalkを。
- 298 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 18:09:09 ]
- Lispやれ(EmacsLisp以外ならなんでもいい)
PerlがまだならPerlも齧れ オブジェクト指向の関係でJavaもできるといいんだが
- 299 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 18:12:54 ]
- >>296
もの凄い勢いでRuby初心者スレ/本スレ/ruby-list等 あらゆるサイトの質問にコテハンで答えまくる 質の高い回答が数千溜まるとGoogleに雇ってもらえる
- 300 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 18:14:14 ]
- ルビリストってなんですか?
- 301 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 18:27:26 ]
- googleって実際優秀な人材だけってわけじゃないんだよねぇ
広告塔の人間もたくさんいるし
- 302 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 18:47:10 ]
- >>296
>ルビリストと呼ばれるようになる為の次のステップ教えてください るびまの添削記事を読むのがいいと思う。 ttp://jp.rubyist.net/magazine/?0010-CodeReview ttp://jp.rubyist.net/magazine/?0011-CodeReview ttp://jp.rubyist.net/magazine/?0013-CodeReview ttp://jp.rubyist.net/magazine/?0015-CodeReview ttp://jp.rubyist.net/magazine/?0017-CodeReview
- 303 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 18:51:14 ]
- >>282
>人材が究極的に少ないから >現状に加えて一般向けにドキュメント揃えろなんて言ったらどんどんリリースが遅くなる >当事者だからという理由だけでできない人に無理やりやらせる理由はない >得意な人に任せておけばいい ばかをいえ、ChangeLogやNEW FEATURESなんて、開発当事者ぐらいしか詳しくは知らないんだから 開発当事者が書くべきだろ。 こんなことすらも嫌がる開発陣ってなんなの? どうせ開発リソースが増えたところで、ドキュメントに回すつもりないんだろ。
- 304 名前:283 mailto:sage [2009/12/16(水) 19:00:12 ]
- 昼間は無事だったのに規制が…
283です。 >>284 jcorrectとかいうやつだったかな プログラムを実行して文章を入力すると、cabochaの解析結果と一緒に文章の校正を促すメッセージが出た これを実行するためにcabochaとかいろいろ入れてた プログラムを読んでいると、サブルーチンから値を順に渡していたり$foo->{$var}->とか見たことないのがいっぱいでなんかもうキーーーーってなったんだ…
- 305 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 19:06:54 ]
- >>303
言ってること自体には賛同できるけどそういうのは本スレでどうぞ
- 306 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 23:36:21 ]
- 質問です。
実行環境:Xubuntu9.10、Ruby1.9.1 使用ライブラリ:tk、pty、expect やりたいことは、外部プログラム(対話型のCUIプログラム)をRubyスクリプト内から実行する際に、 外部プログラムの実行結果(標準出力。エラーが発生して終了したならその時のエラー出力) を取得したいのですが、何か方法はあるでしょうか。 ネットを見るとsshやtelnetのサンプルが転がってますが、 sshやtelnetが出力するメッセージ自体やエラー文(はあるのかな?)を処理するようなものがなく、 どうするんだーと悩んでます。
- 307 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 23:43:41 ]
- シェルからパイプでつなぐ
` ... ` (バッククォート)でコマンド実行して出力取る 手の込んだことがしたければ require 'open3'
- 308 名前:デフォルトの名無しさん mailto:sage [2009/12/17(木) 00:23:55 ]
- wxRubyとかGUIアプリの話がでたついでに聞きたいんですけど、
↓みたいにマニフェストをruby/bin/において、Windows XP移行のLuna(?)風のUIにする方法があるんですが、 Ruby on Windows: Windows XP Visual Style Controls with wxRuby rubyonwindows.blogspot.com/2007/10/windows-xp-visual-style-controls-with.html …うまくいきません。 古いルックアンドフィールのままになります。 上記サイトのxmlをファイルをruby.exe.manifestとrubyw.exe.manifestに新規作成してコピペして、 ruby/binに放りこめばいいんですよね?
- 309 名前:デフォルトの名無しさん mailto:sage [2009/12/17(木) 00:38:30 ]
- >>307
ありがとうございます。 標準出力と標準エラー出力に違いがあるのを知らなかったですorz open3は標準入力・出力・エラー出力のみ対応という形だったので、 except実行→出力結果を一時ファイルに出力→実行元プログラムでopen という形で無事結果を得られるようになりました。 PTYがttyを別個に作ってそっちで実行させるっぽいのでバッククォート使えない(のかなぁ……)
- 310 名前:245 mailto:sage [2009/12/17(木) 11:43:14 ]
- logger使ってみているのですが、
Benchmarkの出力結果が余計な改行が入るのですが、これってこんなもん? time = Benchmark.measure do :(略) end logger.debug Benchmark::CAPTION logger.debug time.to_s
- 311 名前:デフォルトの名無しさん mailto:sage [2009/12/17(木) 12:21:56 ]
- そんなの logger は与り知らんよ
logger は対象のオブジェクトを to_s しての末尾に改行つけて書き出してるに過ぎない 何か問題あるならそのオブジェクトの to_s 調べれ
- 312 名前:245 mailto:sage [2009/12/17(木) 13:01:09 ]
- >>311
舌足らずでごめんなさい。 puts Benchmark::CAPTION puts time.to_s だと改行の問題ないんです。気味が悪いんですが、何でなんでしょ
- 313 名前:デフォルトの名無しさん mailto:sage [2009/12/17(木) 13:10:17 ]
- >>312
改行が問題になるときの検証に puts 使ったら駄目 puts は文字列末尾に改行があったら自前で改行をつけない というかこれはそのまんまで irb> require 'benchmark' irb> p Benchmark::CAPTION " user system total real\n" そもそも改行が末尾に入ってる 気になるなら Benchmark::CAPTION.chomp を logger に渡す
- 314 名前:デフォルトの名無しさん mailto:sage [2009/12/17(木) 18:13:47 ]
- > puts は文字列末尾に改行があったら自前で改行をつけない
漏れは大変なことを知ってしまった 近いうちに消されるかもしれない
- 315 名前:デフォルトの名無しさん mailto:sage [2009/12/17(木) 18:18:58 ]
- xpathって難しい。もっと簡単にできるか?
id('Layer3')//td[ following-sibling::td//a[contains(@href, 'money.www.infoseek.co.jp/MnStock')]]/b//font[@color]
- 316 名前:sage [2009/12/17(木) 21:38:37 ]
- >>228
trunk には Date::Delta ってのが入ってるよ
- 317 名前:デフォルトの名無しさん mailto:sage [2009/12/17(木) 22:32:29 ]
- RSpecの用語について質問。
describe ... や it .... で書いたひとまとまりを、なんて呼ぶの? たとえば Test::Unit なら class FooTestCase < Test::Unit::TestCase ← これはテストクラス def test_equal ← これはテストケース assert_equal(2, 1+1) end end のような呼び方をしてると思うんですけど、RSpecの場合は何と呼ぶのかわからないので、教えてください。
- 318 名前:デフォルトの名無しさん mailto:sage [2009/12/17(木) 23:36:33 ]
- 現在β版のRSpec本によれば、
We use the describe( ) method to define an example group. The it( ) method defines a code example. なお、 describe(および別名のcontext)メソッドが作るのは Spec::Example::ExampleGroupのサブクラス it(および別名のexample)メソッドが作るのは それのインスタンスメソッド になる
- 319 名前:デフォルトの名無しさん mailto:sage [2009/12/18(金) 06:03:22 ]
- 質問です。
001 002 のような、3桁の連番を表示したいんですが、どうやればいいんですか。 for i in 001..100 だと 1 2 になるんですが。
- 320 名前:デフォルトの名無しさん mailto:sage [2009/12/18(金) 06:18:23 ]
- Rubyらしい書き方ではないかもだが
for i in 1..100 p '%03d' % i end 数字の頭に0がつくとRubyでは8進数って意味になるので注意
- 321 名前:デフォルトの名無しさん [2009/12/18(金) 06:23:07 ]
- ('001'..'100').each{|s| puts s}
- 322 名前:デフォルトの名無しさん mailto:sage [2009/12/18(金) 06:25:56 ]
- >>320
見事にできました。 素早い回答どうもありがとうございました。
- 323 名前:デフォルトの名無しさん mailto:sage [2009/12/18(金) 10:03:11 ]
- WEBrickで、
・Basic認証またはDigest認証 ・IPアドレスによるアクセス制限 を実現したいのですが、サンプルとか参考になるページがあれば教えてください。 「WEBrick IPアドレス 制限」とかでぐぐったけど、それらしいのはヒットしませんでした。
- 324 名前:デフォルトの名無しさん mailto:sage [2009/12/18(金) 10:32:21 ]
- 追記。
ちなみに、今使っているサンプルはこんなのです。 require 'webrick' server = WEBrick::HTTPServer.new({ :DocumentRoot => '.', #:BindAddress => '127.0.0.1', :Port => 3000, }) Signal.trap('INT') { server.shutdown } Signal.trap('TERM'){ server.shutdown } server.start
- 325 名前:デフォルトの名無しさん mailto:sage [2009/12/18(金) 11:10:43 ]
- 認証
WEBrick::HTTPAuth::BasicAuth WEBrick::HTTPAuth::DigestAuth IPアドレスでの制御は HTTPRequest#addr あたりを見て403を返せばいいんじゃない?
- 326 名前:デフォルトの名無しさん mailto:sage [2009/12/19(土) 12:18:34 ]
- {1=>[2]}となる事を期待したけど、この方法では駄目みたいですね。
% irb1.9.1 irb(main):001:0> h=Hash.new([]) => {} irb(main):002:0> h => {} irb(main):003:0> h[1] => [] irb(main):004:0> h[3] => [] irb(main):005:0> h[1] << 2 => [2] irb(main):006:0> h => {} irb(main):007:0> h[1] => [2] irb(main):008:0> h[3] => [2]
- 327 名前:デフォルトの名無しさん mailto:sage [2009/12/19(土) 12:29:26 ]
- >>326
www.ruby-lang.org/ja/man/html/trap_Hash.html ぶっちゃけRubyの怪しげな機能は使わないほうがいいと思う
- 328 名前:デフォルトの名無しさん mailto:sage [2009/12/19(土) 12:32:18 ]
- >>326
そりゃArrayやHashの初期値つきnewは毎回初期値のオブジェクトを生成するからな irb> p h[2].object_id == h[2].object_id false irb> h=Hash.new([]) {} irb> h[1]=[2] [2] irb> h {1=>[2]}
- 329 名前:デフォルトの名無しさん mailto:sage [2009/12/19(土) 12:39:22 ]
- >>328
> p h[2].object_id == h[2].object_id これうち(1.8.7cygwin)でやるとtrueになるんだが1.9で変わったとか?
- 330 名前:デフォルトの名無しさん mailto:sage [2009/12/19(土) 12:42:53 ]
- >>326
それだとh[1]の参照先(初期値オブジェクト[])に2を入れてることにしかならない h[1] = ほげほげ としない限り {1=>ほげほげ}にはならない
- 331 名前:デフォルトの名無しさん mailto:sage [2009/12/19(土) 13:35:34 ]
- $ rvm use system
<i> Now using system ruby. </i> $ irb --prompt simple >> RUBY_DESCRIPTION => "ruby 1.8.7 (2008-08-11 patchlevel 72) [universal-darwin10.0]" >> h = Hash.new([]) => {} >> [h.default, h[0], h[1]].map(&:object_id) => [2156963800, 2156963800, 2156963800] $ rvm use 1.9.1-head <i> Now using ruby 1.9.1 head </i> $ irb --prompt simple >> RUBY_DESCRIPTION => "ruby 1.9.2dev (2009-12-11 trunk 26067) [x86_64-darwin10.2.0]" ruby-1.9.1-head > h = Hash.new([]) => {} >> [h.default, h[0], h[1]].map(&:object_id) => [2151892720, 2151892720, 2151892720]
|

|