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を読め」でいいので、叩かない&怖がらせない。 ・わけわかな質問にもエスパー発揮で。できれば質問の仕方を教えるぐらいで。 ・自信がない回答ならその旨表明すること。誤った回答は初心者じゃ見抜けない。
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]
332 名前:デフォルトの名無しさん mailto:sage [2009/12/19(土) 15:45:53 ] >>331 みたいな人ってソース中のコメントもほぼかかなそうだよな
333 名前:デフォルトの名無しさん mailto:sage [2009/12/19(土) 16:35:24 ] >>332 は初心者
334 名前:デフォルトの名無しさん mailto:sage [2009/12/19(土) 16:59:49 ] まあ初心者スレだしな
335 名前:デフォルトの名無しさん mailto:sage [2009/12/19(土) 17:53:52 ] 結局>>328 は間違ってるということかい?
336 名前:デフォルトの名無しさん mailto:sage [2009/12/19(土) 18:26:49 ] new(初期値)で生成されたハッシュに存在しないキーでアクセスした場合の挙動は、 同じオブジェクトが返るというのが正しく、 毎回異なるオブジェクトが返るというのは誤り。
337 名前:デフォルトの名無しさん mailto:sage [2009/12/19(土) 18:37:34 ] 質問するならリファレンスマニュアルくらい読んでからこい
338 名前:デフォルトの名無しさん mailto:sage [2009/12/19(土) 18:47:27 ] 初心者スレ的には 「マニュアルのここ読めわかりやすくて疑問の余地無し氏ね」 と言える環境を揃えるほうが先な気もする
339 名前:デフォルトの名無しさん mailto:sage [2009/12/19(土) 23:53:39 ] >>328 それは初期値じゃなくて初期ブロックじゃないのか? h = Hash.new{|hash,key| [] } p h[2].object_id == h[2].object_id # => false 未設定のキーを指定された時に、そのつどブロックを実行した結果を返す よって同じキーでも毎回違うArrayが帰ってくる
340 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 01:14:37 ] >>338 ようやくたどり着いたと思ったら、 xxxx() 執筆者を募集中 おい、コードを書いたのはどこに行ったの? 採用した人は? なので、動かないものは、自分で書き直すことにしてる。 一から一人でするより、ちょっと近道。
341 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 05:46:41 ] >>337 >質問するならリファレンスマニュアルくらい読んでからこい おまえは書き込むまえに>>1 を読んでこい
342 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 06:50:04 ] >>341 おまえは書き込むまえに>>1 を読んでこい
343 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 07:39:01 ] そんなことより俺のIDを見てくれ。どう思う?
344 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 09:13:46 ] 見えない
345 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 10:15:45 ] >>344 はバカ
346 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 10:27:17 ] まあバカスレだしな
347 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 12:45:29 ] 教えてください Hpricotで日本語テキストのリンク検索が上手く動きません どうすればNokogiriと同じ動きになるのでしょうか #!ruby -Ku require 'hpricot' require 'nokogiri' html = "<html><a>りんく1</a><a>りんく2</a><a>りんく3</a></html>" doc = Hpricot(html) print doc.at("a[text()*='りんく2']"); # エラー発生 doc = Nokogiri(html) print doc.at("a[text()*='りんく2']"); # こちらは正しく動く エラー内容 /usr/local/lib/ruby/gems/1.9.1/gems/hpricot-0.8.2/lib/hpricot/elements.rb:486:in `index': incompatible character encodings: ASCII-8BIT and UTF-8 (Encoding::CompatibilityError)
348 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 12:48:10 ] >>347 初心者は Ruby1.9 使うなってこれだけ言われてるのになんでわからんのだエラー
349 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 12:54:16 ] >>348 が FA なのだが というか何もわからず動かしていることが原因で、 Nokogiri が動いたのはただの偶然に過ぎない むしろ「Nokogiri が動いたのは何故ですか」という質問になるべき事象 無理しないで Ruby 1.8.7 使え 1.8.7 を理解したあとで差分学習で 1.9.1 を習得するのが一番早い
350 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 12:57:10 ] 了承、1.8.7にする
351 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 12:59:15 ] hpricotはコンパイルが通る程度に1.9対応されてるだけ。 作者の _why the lucky stiff はネット上から失踪しているので、事実上塩漬け状態。
352 名前:デフォルトの名無しさん [2009/12/20(日) 16:02:52 ] 質問 rdoc が生成する HTML について、特定の要素(例えば <pre>タグ)のスタイルだけ いじりたいという場合はどうしたらいいのでしょうか?
353 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 16:27:02 ] >>352 ちょっと見た感じでは rdoc に --template オプションで 自作のテンプレートを指定してやればいいんじゃまいか 既存のテンプレが rdoc/genarators/template/html に入ってるから それを部分的に書き換えて使えばよさそう
354 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 19:17:36 ] whyさん死んじゃったからNokogiri推奨だと思うけど、 >>347 がhpricot使いたいと思った理由はなんだろ
355 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 19:20:40 ] え、whyって死んじゃったの? もしそうならHpricotきめえとかdisるのやめて冥福を祈る
356 名前:352 mailto:sage [2009/12/20(日) 19:31:28 ] >>353 ありがとうございます。 ベースになるテンプレートを選んで、それに改変を加えたものを使おうと思います。
357 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 20:19:30 ] ネットワーク的に、ね。 自分できれいさっぱり痕跡を消していった。
358 名前:352 mailto:sage [2009/12/21(月) 15:57:51 ] 追記 rdoc の --style オプションにスタイルシートのパスを渡すことで HTML生成時に自前のスタイルシートを読み込ませることができました。 テンプレから CSS の部分だけ切り出して編集して、 rdoc --style=path_to/hoge.css でうまくいきました。 というか、manページに普通に書いてあったorz
359 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 22:18:49 ] hpricot でも nokogiri でもいいんですが、 doc = Hpricot(open(uri).read) (doc/:a).each do | link | if link[:href] == '#' p "設定し忘れ => #{link[:lineno]}" end end みたいに、行番号を取得することって出来ませんか?
360 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 22:21:13 ] 行番号というメタ情報があれば取得できるよ ないならできない 自分で行番号だと思うものを作って数えるしかない
361 名前:デフォルトの名無しさん mailto:sage [2009/12/22(火) 09:38:58 ] >>359 その程度なら普通に正規表現でよさそうだね。 File.open(filename) do |f|
i = 0 f.each_line do |line| i += 1 puts "#{filename}:#{i}: 設定し忘れ" if /href=("¥#"|'¥#¥')/ end end
362 名前:デフォルトの名無しさん mailto:sage [2009/12/22(火) 09:39:08 ] jrubyでmechanize使えている人います?hpricotのjava版使うしかないんでしょうか?
363 名前:デフォルトの名無しさん mailto:sage [2009/12/22(火) 09:45:49 ] >>361 みたいに例示依存の回答する人なんなの
364 名前:デフォルトの名無しさん mailto:sage [2009/12/22(火) 10:39:36 ] >>361 欲しいのは行番号であって、例文なんかどうでもいいんだが
365 名前:デフォルトの名無しさん mailto:sage [2009/12/22(火) 11:00:20 ] 例題コードを添削するのはどうかとw
366 名前:デフォルトの名無しさん mailto:sage [2009/12/22(火) 11:10:57 ] 作業ディレクトリの変更って出来ませんか? ./data/a.rb ./data/1.txt ./main.rb ってあったときに main.rbからa.rbをrequireするんですけど a.rbは open("1.txt","r") これで読めるようにしたいです
367 名前:デフォルトの名無しさん mailto:sage [2009/12/22(火) 11:21:49 ] save = Dir.pwd Dir.chdir "./data" # 作業 Dir.chdir save とかかな 同じディレクトリにあるファイルを使うってことなら open(File.dirname(__FILE__)+"/1.txt") でもいいかも
368 名前:デフォルトの名無しさん mailto:sage [2009/12/22(火) 11:34:12 ] Pythonのdirみたいに、あるオブジェクトが持ってるメソッドと変数を一覧するものってありますか?
369 名前:デフォルトの名無しさん mailto:sage [2009/12/22(火) 11:36:29 ] >>367 それでいけそうです ありがとうございます
370 名前:デフォルトの名無しさん mailto:sage [2009/12/22(火) 11:37:30 ] puts Object.methods ソートするとなおみやすい puts Object.methods.sort
371 名前:デフォルトの名無しさん mailto:sage [2009/12/22(火) 11:41:30 ] Object#methods Object#instance_variables
372 名前:デフォルトの名無しさん mailto:sage [2009/12/22(火) 12:00:57 ] >>370-371 ありがとうございます! これが欲しかった。
373 名前:デフォルトの名無しさん mailto:sage [2009/12/22(火) 12:36:02 ] >>359 Nokogiriの要素は #line メソッドがあるはず。
374 名前:デフォルトの名無しさん mailto:sage [2009/12/22(火) 14:41:59 ] >>367 Dir.chdir "./data" do # 作業 end でもいけるよ。
375 名前:デフォルトの名無しさん mailto:sage [2009/12/22(火) 14:46:45 ] >>374 おお知らなかった もっかいリファレンス見直すことにしよう
376 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 10:27:52 ] ねー、 hoge/lib/ ← 自作ライブラリの rb ファイル hoge/test/ ← lib のファイルに対応するテストスクリプト という一般的なディレクトリ構成で test/test_hoge.rb を実行する場合、どうするのが「ふつう」なんだ? :~/hoge$ ruby test/test_hoge.rb :~/hoge/test$ ruby test_hoge.rb :~/hoge$ testrb test/test_hoge.rb :~/hoge/test$ testrb test_hoge.rb
377 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 11:29:21 ] コマンド直叩きするときは ruby -Ilib test/test_xxx.rb とする気がするが、 普段はrakeのTestTask任せだから、どうやってるか意識してないわ。 TestTaskの中をみてみたけど、testrbを使うことも使わないことも可能みたい。 (デフォルトはrakeのライブラリ内の機能を使う) なお、rakeの場合、test/ の中で起動しても、ディレクトリを遡ってRakefileを 探して、見つかったディレクトリで動くので、hoge/Rakefileとして置いている 場合は、実質的には hoge直下でやってることになるはず。
378 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 11:52:34 ] ruby test/test_hoge.rb とかやりたいなあ テストするためだけに test/ に降りてしまうのは、どうも…
379 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 11:54:14 ] そのへんは、helper.rb をどうやって読むかの一点にかかってる気がしてならない
380 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 11:55:55 ] ファイルいっこテストするだけなのにrakeはないわー
381 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 12:04:42 ] rake test TEST=test/test_hoge.rb でファイル一個か。
382 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 13:39:33 ] テスト実行するのにコマンド売ってるのかよ。 autotestでファイル保存と同時に自動でテスト実行だろJK
383 名前:362 mailto:sage [2009/12/23(水) 13:40:52 ] JRuby 1.4でNokogiri対応になったみたいですね。失礼しました。
384 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 13:52:22 ] >>382 テストが通らないタイミングでファイルを保存したりしないの? というか編集途中で保存し辛くなりじゃん
385 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 13:54:01 ] なるじゃん
386 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 14:12:02 ] ファイルいっこのテスト方法がないわけじゃなかろう autotestを使うかどうかとはまた別の議論だと思う
387 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 15:17:10 ] >>382 コードを保存したいタイミングと、テストを走らせたいタイミングは別じゃね? エディタからテストを実行させられればそれでいいけどなあ。 わざわざ保存したときに勝手にテストが走ってほしくないよ。
388 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 18:03:22 ] かりに毎回毎回コマンドラインからテストするとしても シェルの履歴ぐらい使うだろう。
389 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 18:27:27 ] 秀丸とかサクラエディタとか外部コマンドを 実行できるテキストエディタを使うがよろし。 俺はVim使ってるけど。
390 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 18:36:19 ] 俺はタブ機能付きの端末エミュレータ使って 右端のタブをテスト用に使ってる タブ切り替えにキーを割り当ててやるとかなり快適だ 同じ用途で GNU Screen とか使ってる人もいるのでは?
391 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 19:41:16 ] auto-save-buffersつかってるとautotestは使えない
392 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 21:51:25 ] >>387 そうかー、その品は人それぞれだな。 autotest連携で結果をSnarl(今ならGrawlか?)で通知出したり、サウンド出したりしてるけど けっこう快適よ? ただ、coLinuxで動かすとその辺の連携がしにくくて困る さらに、AutoHotKeyで保存キー入力と同時にブラウザリロードとかもやってる。
393 名前:デフォルトの名無しさん mailto:sage [2009/12/24(木) 01:40:48 ] 自動保存+すきあらば無意識で手動保存してるから、 保存とか意識したことがないなー。
394 名前:デフォルトの名無しさん mailto:sage [2009/12/24(木) 09:39:55 ] warning: Insecure world writable dir /home in PATH, mode 040777 という警告がでて困ってます。 この警告だけを出さないようにする方法があれば教えてください。 home のパーミッションが 777 なのがおかしい!といわれればそうなんですけど、 下請けにはそんなことすら変更する権限がないんです。
395 名前:デフォルトの名無しさん mailto:sage [2009/12/24(木) 09:47:09 ] >>394 知らんよ RailsはRailsスレで
396 名前:デフォルトの名無しさん mailto:sage [2009/12/24(木) 10:47:41 ] >>394 環境を詳しく もしRailsなら権限くれっていえ。まともに開発できんから
397 名前:デフォルトの名無しさん mailto:sage [2009/12/24(木) 11:31:38 ] >>394 ENV['PATH']から /home を抜け。
398 名前:デフォルトの名無しさん mailto:sage [2009/12/24(木) 11:33:56 ] ENV['PATH']つーか、rubyを実行する前だからシェルの環境変数PATHね。
399 名前:デフォルトの名無しさん mailto:sage [2009/12/24(木) 11:52:12 ] >>395 なぜRails? >>396 環境はlinux 2.6.9-89.EL, ruby 1.8.7-p174です >>397 $PATHには/homeがないけど、/home/username/binがあります。 これを除くことはできないので、どうしたもんか困ってます。
400 名前:デフォルトの名無しさん mailto:sage [2009/12/24(木) 12:28:44 ] フルパスで実行するようにすれば除けるんじゃないの?
401 名前:デフォルトの名無しさん mailto:sage [2009/12/24(木) 12:32:16 ] あくまでrubyに伝わるPATHだけ変わればいいので、 * コマンドの環境だけ変える。 PATH=/usr/bin:/bin(などなど) ruby 引数 とか * 一度変えて戻す OLD_PATH=$PATH PATH=/usr/bin:/bin(などなど) ruby 引数 PATH=$OLD_PATH とか * サブシェル内で変える ( PATH=.... ruby ) とかでもいい。
402 名前:デフォルトの名無しさん mailto:sage [2009/12/24(木) 16:39:54 ] RubyGemsで依存関係を調べる方法ないですか? gem dependency を使ってみているんですがうまくいきません。 $ gem dependency mechanize -v "0.9.3" --remote Gem mechanize-0.9.3 nokogiri (>= 1.2.1, runtime) hoe (>= 1.12.2, development) $ gem dependency mechanize -v "0.9.0" --remote No gems found matching mechanize (= 0.9.0) $ gem dependency mechanize -v "<0.9.0" --remote Gem mechanized_session-0.0.2 mechanize (>= 0.9.3, runtime) hoe (>= 2.3.3, development) 何がやりたいかというとmechanizeでnokogiri非依存のバージョンを探したいのです。