1 名前:デフォルトの名無しさん [2010/03/04(木) 11:00:57 ] プログラミング言語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を読め」でいいので、叩かない&怖がらせない。 ・わけわかな質問にもエスパー発揮で。できれば質問の仕方を教えるぐらいで。 ・自信がない回答ならその旨表明すること。誤った回答は初心者じゃ見抜けない。
369 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 00:13:40 ] Unicode の U+2295 みたいな表記を Ruby1.8 で該当バイナリ文字列に変換する方法はありませんか
370 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 00:24:07 ] >>369 「U+2295」が文字列という前提で (0.入力文字列の書式をチェックします。) 1.分割します。 U+ … ポイ 22 … 1バイト目 95 … 2バイト目 2.1バイト目と2バイト目をごにょごにょします。Array#pack() 、かなあ?
371 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 00:27:09 ] >>369 require 'nkf' s = 'U+3042 U+3044 U+3046' puts NKF.nkf('-w, --numchar-input', s.gsub(/U\+(\d+)/){"#{$1};"})
372 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 00:32:54 ] >>371 > /U\+(\d+)/ 16進数じゃない? /U\+([0-9a-fA-F]{4,6})/ でいける?
373 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 00:37:46 ] >>371 間違ってるぞ puts NKF.nkf('-w, --numchar-input', s.gsub(/U\+([\da-f]+)/i){"#{$1};"})
374 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 00:52:39 ] 1.8では、量が多くない場合はNKFに頼るのが間違いないと思う 1.9だと簡単なんだけど
375 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 01:20:47 ] $ cat a.rb require 'nkf' sikaru = NKF.nkf('-w, --numchar-input', %w(20B9F).map{|s| "#{s};"}.join) p sikaru puts sikaru $ ruby -Ku ./a.rb a.rb:2: [BUG] Segmentation fault ruby 1.8.7 (2010-01-10 patchlevel 249) [i686-linux] うひょう
376 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 04:18:36 ] 本来はiconv使うべきとは思うが、実用的なのはnkfだしなあ。
377 名前:デフォルトの名無しさん [2010/03/13(土) 05:37:51 ] >>369 "U+20B9F".gsub(/U\+([0-9A-Fa-f]{4,6})/){[$1.to_i(16)].pack("U*")} >>371 -w, の , が余計
378 名前:66 mailto:sage [2010/03/13(土) 05:57:18 ] > File.expand_path('あ', '/'.force_encoding(Encoding::ASCII)) Encoding::CompatibilityError: incompatible character encodings: UTF-8 and US-ASCII となるのですが、これはバグ? ちなみに実際やりたいことは、Tempfile.open('あ') です。 環境:fedora11、ruby 1.9.2dev (2010-03-06 trunk 26825) [i686-linux]
379 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 06:46:02 ] ライブラリのインストールに滅茶苦茶時間掛かるんだが なにこれ
380 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 10:12:06 ] gem search -r hoge searchっていちいち入力するの面倒いだけど、searchの短いオプションって無いの?
381 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 10:50:10 ] スレのバージョンお勧めに従わない人間は自業自得なのでスルー >>379 そりゃ君のパソコンがプア過ぎるのだよ 気になるなら -V をつけて gem install -V hogehoge すると固まったような時間帯に何してるのか見える "Building native extensions. This could take a while..." はCで書かれたファイルをコンパイル中(ものによっては遅い) ごっついライブラリだと定番ライブラリを10個くらい追加インストールするからどんなマシンでも一見とても遅いぞ 来週くらいに gem -V update しても遅いならまたおいで >>380 sea なにこれ超中途半端 正確には先頭から文字列にマッチするコマンド探してるので、s と se では複数マッチしてエラー $ gem s mechanize ERROR: While executing gem ... (RuntimeError) Ambiguous command s matches [search, server, sources, specification, stale] $ gem se mechanize ERROR: While executing gem ... (RuntimeError) Ambiguous command se matches [search, server] $ gem sea mechanize *** LOCAL GEMS *** mechanize (1.0.0, 0.9.3)
382 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 11:01:06 ] 質問ですが、 PythonのPython Image LibraryみたいなRubyの画像処理ライブラリってありますか?
383 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 11:13:21 ] >>382 ありません ImageMagickインストールしてgem install rmagickするしかないねえ
384 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 11:13:50 ] 用途にもよるけど、既存のCで書かれた画像処理ライブラリを Rubyから呼び出して使うことが多いと思う。 RMagick(ImageMagickのライブラリを使用) Ruby/GD2(GD2を使用) Rcairo(cairoを使用) など。 ImageMagickは機能過多だ、サムネが作りたいだけなんだという 人向けにImageScienceというのもあるな。サムネ作成専用。
385 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 11:15:29 ] >>381 スレの勧めないバージョンインストールしておきながら お勧めなら引っかからない基本的エラーで文句言うような人はスルー というのが正しいかと思う お勧めでなくても入り口以外で引っかかってるなら質問どうぞ
386 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 11:19:17 ] >>378 バグっぽい気がしたのでチケット切ってみた。 #2955
387 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 11:21:38 ] >>383-384 なるほど、ありがとうございます。 画像出力より入力の機能の方を重視したいので PILと同程度のライブラリとなるとImageMagickをつかないといけないんですか・・・ FFIするならGIL辺りが良さそうですね。 参考になりました。
388 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 11:23:54 ] 春休みスレ
389 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 11:32:34 ] >>388 間違ってるならあとから正せばいい 質問者には数時間くらいは待ってもらえるといいかもしれん
390 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 11:55:34 ] >>380 俺は面倒だから工夫してる。何度も同じコマンドうつのはDRYじゃあるめえ Windowsなら以下の内容をgems.batとしてパスが通ったところに置いておき、コマンドラインで gems hoge で検索 gem.cmd search --details --both --all %* Unix系でbashなら、~/.bashrcに以下を書いておいて gems hogeで検索 alias gems="gem search --details --both --all" あくまで例なのでコッチのほうがいいとか指摘してください
391 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 11:58:15 ] あんまりコマンドのエイリアスは設定しない方がいいって 誰か言ってなかった?
392 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 12:03:40 ] * 別の環境に移ったときになんぞこれってなるからエイリアスすんな派 * 自分好みに環境をカスタマイズしてこそUNIXのシェルだろJK派 どっちを選ぶも自由
393 名前:66 mailto:sage [2010/03/13(土) 12:03:56 ] >>386 ありがとうございます! 文句を言いたいわけじゃなく、バグなのか仕様なのか自分の勘違いなのか自信が持てないから、 このスレを利用させてもらっちゃったんですが、相応しくなかったみたいですね。 すみません。 もう書くの止めときます。
394 名前:380 mailto:sage [2010/03/13(土) 12:46:52 ] >>381 seaね、ありがとう >>390 linuxを使っているならaliasを使うけど、 今はwindowsを使っているからそんな方法があるなんてわからんかったよ
395 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 12:55:19 ] >>393 1.9.1だったなら俺も>>385 に同意だけど、1.9.2devは本スレが妥当じゃないかな
396 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 12:55:54 ] ライブラリが全然整理されてない印象<Ruby
397 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 13:11:18 ] うおお、ライブラリが全然整理されてない印象さんがRubyと喋ったぞ
398 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 13:45:08 ] <Rubyでなくて>Rubyだと思う 固定された意味はないけど 質問 エンコーディングプラグマ、通称マジックコメント、は、 該当するマルチバイト文字のようなもんが書かれてないようなライブラリを 自作して公開する場合はつけないほうがいい?
399 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 13:45:51 ] あ、>>398 は1.9.1の場合ね
400 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 13:48:35 ] require 'Qt4' app = Qt::Application.new(ARGV) hello = Qt::PushButton.new('Hello World!') hello.resize(100, 30) hello.show() app.exec() テストコード(コピペ)を動かそうとしているんだけど、動かない >C:\Ruby\lib\ruby\gems\1.8\gems\qtruby4-2.1.0-x86-mswin32\lib\ はちゃんとあるんだけどね 環境変数が問題なのかな?
401 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 13:52:19 ] >>400 動かないのならエラーメッセージを貼っておくれ スクリプトをダブルクリックして実行したのなら コマンドプロンプトから実行して
402 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 13:59:36 ] おー、WindowsでQtライブラリ使ってる人初めて見た
403 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 14:08:03 ] rubygemsでインストールしたパッケージのヘルプってどうやって見れますか?
404 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 14:09:59 ] >>398 書かない場合は US-ASCII を指定したのと同義。 ASCII文字しかないなら書いても書かなくても結果は同じ。 8ビット目が立ったシングルバイト文字は入れてないよね?
405 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 14:12:27 ] >>403 riかrdocか。 gem server を起動して localhost:8808/ でも読める。
406 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 14:13:09 ] 正規表現の動作が変わるんじゃなかったか
407 名前:400 mailto:sage [2010/03/13(土) 14:14:30 ] >>401 test.rb:1:in `require': no such file to load -- Qt4 (LoadError) from test.rb:1 見てのとおりライブラリの読み込みに失敗しています let-your-heart-soar.txt-nifty.com/blog/2008/07/qtqtrubywindow_82d9.html この通りにやって、C++のチュートリアルは動くようになっています でも、こんな事をやってqtrubyに関係あるのか疑問 >>402 ruby gtk2を使おうかなと思ったけど、gtk+のライブラリ全然わかんないから linuxでもqtrubyが動けば、linuxで開発してwindowsでexeを作ろうかな〜と それに、2週間くらい前にこんな本を買ったし >入門 Qt 4 プログラミング >ttp://www.oreilly.co.jp/books/9784873113449/
408 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 14:15:52 ] >>403 gemディレクトリ/ruby/1.8とか/doc/ の中にファイルが入ってるので好きなときに読め ActiveSriptRubyの場合はC:\Program Files\ruby-1.8\lib\ruby\gems\1.8\doc\
409 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 14:17:57 ] >>407 require 'rubygems' require 'Qt4'
410 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 14:25:42 ] >>406 US-ASCIIなソースにUS-ASCII以外のマジコメを書く場合?
411 名前:400 mailto:sage [2010/03/13(土) 14:26:51 ] >>409 文法を覚える前にテストをするもんじゃないですねwww 助かりました、ありがとうございます
412 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 14:44:08 ] >>403 HTMLファイルでいいならシェルから gem environment した出力の - GEM PATHS: の1行目(になかったら2行目)の場所の doc ディレクトリの中に
413 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 16:20:07 ] #=>って習慣なの?
414 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 16:25:32 ] >>413 doc.okkez.net/187/view/help
415 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 16:26:05 ] 習慣かどうかはしらん ふつうコメントの直後にスペースをひとつ挟むから # => value だよな はちどりのRuby本もそうなってる
416 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 16:39:23 ] 個人的にはあまり好きではない まあ、書籍向けの表現だと思う
417 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 17:23:40 ] gem install -r XXXX ERROR: could not find gem XXXX locally or in a repository 何これ?
418 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 17:33:32 ] 文字通り。
419 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 17:33:47 ] >>417 その質問に至った経緯をまず聞こうか
420 名前:413 mailto:sage [2010/03/13(土) 17:37:04 ] >>419 linuxでそう入力しただけだけど 得にそれ以外に何もしていない
421 名前:420 mailto:sage [2010/03/13(土) 17:37:46 ] 名前を間違えた >>417 ね
422 名前:420 mailto:sage [2010/03/13(土) 17:39:28 ] ごめん、ただのスペルミスですたorz
423 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 17:39:54 ] まずはgem search- rを使うんだ、でその結果から選ぶがよろし 自分で入力せずに素直にbash,zshの補完機能に頼った方がいいと思う
424 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 21:46:53 ] 他の言語のisXXXメソッドは、XXX?とrubyではなってるみたいですね 三項演算子とかと一緒に使うと読みにくいと思います お前らはどうやっていますか? return windows.visible? ? 値A : 値B
425 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 22:07:58 ] それほどでも・・・ return (windows.visible?) ? 値a : 値b
426 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 22:10:57 ] ぶっちゃけ、うっかり window.visible? A : B と書いて怒られることはよくある。
427 名前:424 mailto:sage [2010/03/13(土) 22:13:57 ] そんなもんですか そんじゃ気にしないようにしますわ
428 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 22:20:29 ] 条件演算子はぶっちゃけそれほど使わない 不自然感を感じてるうちにifとかに書き換わるのでむしろラッキー
429 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 23:03:17 ] include Enumerable した場合、自分のクラスで each を定義しますが def each @array.each do |e| yield(e) end end def each(&block) @array.each(&block) end どちらが好ましい書き方なんでしょうか?
430 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 23:27:40 ] 後者 irb1.9> class C; include Enumerable; def initialize; @a=[1,2,3]; end; def each(&b); @a.each(&b); end; end irb1.9> p C.new.each #<Enumerator:0x931483c> irb1.9> class C; include Enumerable; def initialize; @a=[1,2,3]; end; def each; @a.each{|e| yield(e)}; end; end irb1.9> C.new.each LocalJumpError: no block given (yield)
431 名前:429 mailto:sage [2010/03/13(土) 23:43:14 ] >>430 なるほど、ありがとうございます。
432 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 00:00:43 ] 前者は昔の名残だね。
433 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 00:10:16 ] 前者は return @array.to_enum unless block_given? を最初 にやればよさそうだけど、今回は無理に使うこともないな。
434 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 00:16:42 ] javaかC++のプログラマのための、Ruby入門のサイトを教えてください
435 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 00:19:42 ] www.google.co.jp/search?q=Ruby%E5%85%A5%E9%96%80&ie=UTF-8
436 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 00:21:15 ] C++やJavaの特有事情は忘れて勉強したほうが習得はうまくいきそうな気がする それこそBasicの制御構造レベルの知識だけある人のほうが吸収早そう
437 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 00:44:12 ] >>424 return windows.visible?? a : b 疑問符を二個つなげてすげー疑問って雰囲気を醸し出す
438 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 00:48:41 ] >>386 のチケット、 r26909 で修正された。 $ ruby -ve "puts File.expand_path('あ', '/'.force_encoding('US-ASCII'))" ruby 1.9.2dev (2010-03-13 trunk 26909) [x86_64-darwin10.2.0] /あ
439 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 02:15:40 ] >>430 前者の書き方しか知らなかった。
440 名前:66 mailto:sage [2010/03/14(日) 07:03:08 ] >>395 今度から本スレに書きます。 >>438 ありがとうございました。 確認しました。
441 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 08:44:47 ] 春休みで盛況だなw
442 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 11:49:30 ] moduleってパッケージとMixinを、実現するための予約語なんだよね Mixinは実装を持ったインターフェイスみたいなもんだから、 moduleはmoduleを継承する事ができるの?
443 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 12:18:51 ] >>438 乙乙!!
444 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 12:24:46 ] >>442 > moduleはmoduleを継承する事ができるの? そもそも文法的に継承できない(module M2 < M1 は SyntaxError) メソッド検索順位のひとつ上にモジュールをぶちこむ include を使う module M1; def m; "M1!"; end; end module M2; include M1; end # M2 の上に M1 module M3; include M2; end # M3 の上に M2 module M4; include M3; end # M4 の上に M3 class C; include M4; end # C の上に M4 p C.new.m p C.ancestors # 継承とインクルード込みの検索優先順位を表示 結果 "M1!" [C, M4, M3, M2, M1, Object, Kernel] 検索順位的には継承と同じなので実用上の問題はない class C1; end class C2 < C1; end class C3 < C2; end p C3.ancestors #=> [C3, C2, C1, Object, Kernel]
445 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 12:40:44 ] じゃあ継承でいいじゃん
446 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 12:46:49 ] >>445 よくねー 人間を継承した俺がいたとして、翼が欲しいと思ったら class 俺 < 翼 end するのか? 俺は翼の一種なのか? 俺は翼の子分か? 人間且つ翼の俺って何? 翼って機能だろ class 俺 機能追加 翼 end とするのが筋だろ、わかりやすいし、渾然一体になる継承よりは機能外すのも簡単そうだ だから翼はモジュールにして、includeで追加する 実際は 俺 = 人間.new(params) 俺.extend(翼) とするのが妥当ではあるがまあ細かいこと気にするな禿げるぞ
447 名前:442 mailto:sage [2010/03/14(日) 13:12:23 ] >>444 ,>>446 ありがとう >>445 なりすましっぽく見えるレスだな
448 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 23:18:08 ] ○引数で複数のディレクトリパスを与える ○与えられたディレクトリに対して再帰的にファイルを全て削除する ○ただし.txt拡張子が付くファイルのみ削除しない プログラミングに不慣れながらこんなスクリプトを書こうと思い、以下のようになりました。 #!/usr/bin/ruby require 'fileutils' ARGV.each do |i| FileUtils.rm(Dir.glob(i + '**/*[^(txt)]'), :force => true) end 突っ込みどころなどありましたら教えていただけないでしょうか。 簡単なテストをすると意図したように動くのですが少し不安なので質問させていただきました。 自分で怪しいと思ってる箇所は以下の2箇所です。 @ i + '**/*[^(txt)]' こんな指定の仕方でいいのだろうか AそもそもFileUtilを使うべきなのか 宜しくお願いします。
449 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 23:25:51 ] >>448 他のスレから飛ばされてきたなら、 飛ばされましたって書かないとダメだよ
450 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 23:39:50 ] >>448 死んでいいよ
451 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 23:41:46 ] Dir.globのワイルドカードはあまり知らんが(Windowsユーザーなもので) 否定形なのはRubyでやったほうが無難だと思う Dir.glob(i.sub(/\/?$/,'/**/*')).reject{|e| test(?d,e) or e =~ /\.txt$/i}
452 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 23:43:52 ] i ってなんだろう? そもそもグロブでいいのか。
453 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 23:45:01 ] require 'fileutils' noop = verbose = ARGV.include?(':noop') ARGV.each do |s| pathlist = Dir.glob(File.join(s, '**/*')) pathlist.delete_if{|path| File.extname(path) == '.txt'} pathlist.each do |path| FileUtils.rm(path, :force => true, :noop => noop, :verbose => verbose) end end $ ruby ./del.rb tgtdir :noop
454 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 23:45:48 ] *[^(txt)] は、 最後の文字が 開き括弧 でも t でも x でも t でも(アゲイン) 閉じ括弧 でもない という意味になるんじゃないか?
455 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 23:48:11 ] >>453 next ですっ飛ばしていいと思う require 'fileutils' noop = verbose = ARGV.include?(':noop') ARGV.each do |s| Dir.glob(File.join(s, '**/*')).each do |path| next if File.extname(path) == '.txt' FileUtils.rm_r(path, :force => true, :noop => noop, :verbose => verbose) end end
456 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 23:48:38 ] >>454 それはない
457 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 23:56:02 ] $ ls x.c x.doc x.tex x.txt $ ruby -ve 'p Dir.glob("*[^(txt)]")' ruby 1.8.7 (2008-08-11 patchlevel 72) [universal-darwin10.0] ["x.c", "x.doc"]
458 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 23:57:18 ] はいはい勘違いゴルファーは帰ってね
459 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 23:58:40 ] [^(txt)]を検証しただけじゃね?
460 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 00:00:42 ] マニュアル嫁でよくね?
461 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 00:01:32 ] どっちでもいいよ…
462 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 00:04:39 ] ここは初心者スレだろ? テンプレ読めない奴はカエレ 暴れるなら本スレでやr
463 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 00:05:49 ] 検証が漏れてないかどうかはどうやって検証すればいいのかという
464 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 00:11:10 ] >>458 どこをゴルフと誤認したのか気になる。
465 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 01:18:47 ] rmdir -rで綺麗さっぱり消せばいいのにw
466 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 01:54:20 ] RubyをWindowsで開発環境構築する方法教えてください。 OSはWindows7です
467 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 01:55:11 ] 開発環境ってたとえばなーに
468 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 02:22:10 ] >>448 「再帰的」と書かれていますが、別に find を使うような要件ではなく 引数のディレクトリ直下のみ走査すればよさそうなので、こんなかんじ ではいかがでしょうか。 require 'pathname' ARGV.each do |d| Pathname(d).children.each do |f| f.unlink unless f.extname == ".txt" end end # Pathname は標準添付ライブラリだから使ってもいいよね ところで、Ruby に限らず Perl でも Python でも glob ってシェルの ワイルドカード展開のエミュレートだと思いますが、機能としては中途半 端(文字列の単純比較 < glob < 正規表現活用)ですし、プラットフォーム 毎に微妙な挙動差も考えるとムダにドツボにはまりそうですし、(少なく とも「初心者」は)あまり積極的に使わない方がよくない?
469 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 02:33:02 ] >>468 書いてるあなたがすでにglobの罠にはまっているという。 再帰的に走査したいんだよ。> **/
470 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 02:42:35 ] Dir.glob('**/*') は許容されるべき というか普通はこれしか使わない 残りは返ってきた配列に入った文字列を正規表現とかでどうにかする 短く1行で書かないと家にいる妻がスナイパーに撃たれるとかそういう時にのみグラブ条件を書く
471 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 04:18:21 ] 1行記述を強要する妻かw
472 名前:468 mailto:sage [2010/03/15(月) 05:11:59 ] >>469 うへ、自分がドツボにはまっていました、というか **/* の意味を 知らんかった orz >>470 を参考に Pathname.glob でも使えばよいのでしょうが、あえて Find 利用ということで: require 'pathname' require 'find' Find.find(*ARGV) do |f| t = Pathname(f) t.unlink if t.file? and t.extname != ".txt" end
473 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 05:24:32 ] >>471 強要しているのはスナイバーかと。>>470 は愛妻家なんですね。
474 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 08:55:46 ] いや恐妻家なんだろうw
475 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 09:57:07 ] 要求を呑まないと何も知らない家族が射殺されるというのはわりとポピュラーな展開かと グラブ文字処理はメソッド独自だから、明白な全抜き出し以外は正規表現などを駆使、という方向性は妥当 グラブ処理の時点で小細工すると後々遺恨になるぞ
476 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 10:41:36 ] なるほど
477 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 12:43:17 ] >>466 まずはテンプレくらい嫁よ ・ActiveScriptRubyをインスコ ・るびまのchmをダウンロード ・NetBeans IDE(統合開発環境)をインスコ これでなんとかなるだろ。Rails開発ならcoLinuxかPortableUbuntu入れろ。
478 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 12:44:12 ] >>466 あ、あと、c:\Program Files\以下にはRubyをインスコしない方がいいみたい。 RubyGemsが動作しないとかの報告があった (今のバージョンはどうかしらん)
479 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 12:53:05 ] ねこび〜ん勢力の工作を検知しました
480 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 13:02:44 ] Windowsでも、XPなら c:\usr\local\ruby とかにインストールした方が精神衛生上よろしい気がする UACとか入るとそう簡単にはいかないんだろうけど
481 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 13:17:04 ] >>479 ねこび〜んはダメだね コードの補完が遅すぎて使えない
482 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 13:35:16 ] ActiveScriptRubyはデフォルトのインストール場所が性善説に過ぎる ttp://d.hatena.ne.jp/kitamomonga/20100202/ruby_watir_crash_with_autoitx3 まあこれは間違えるほうが悪いんだけれども
483 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 14:06:24 ] array = [1,2,3,4,5]とすると配列ができますが、わかんなくなりませんか? javaとかだったら、IDEが配列だよって教えてくれるけど やっぱり、最初にこうするべきなんですかね? array = Array.new
484 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 14:20:31 ] >483 ならない Array.new はリテラルに比べると遅い。
485 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 14:21:39 ] >>477 >・るびまのchmをダウンロード リファレンスchmならASRに同梱されてたはず それと初心者スレでるりまとは呼ばない方がいいよ
486 名前:483 mailto:sage [2010/03/15(月) 14:27:49 ] >>484 そうですか ありがとうございます
487 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 14:44:11 ] a = [1, 2, 3, 4, 5] はわけわかんなくならないが hogedata = [] は hogedata = {} との区別がわけわかんなくなることはある ので、そういうときは hogedata = Array.new と書くことはある 要素が入ってれば配列なのか Hash なのかは一発なのでわざわざ初期化なんてしない
488 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 15:14:22 ] >>485 > それと初心者スレでるりまとは呼ばない方がいいよ なんで?
489 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 16:05:56 ] というかるりまるびまってなんですか?
490 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 16:18:20 ] ここは大喜利すべきか
491 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 16:21:11 ] まあ、マニュアルという認識でいいよ chm形式のマニュアル読んでれば十分
492 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 16:24:11 ] >>488 マイナーな専門用語は避けるべき。初心者スレだし。
493 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 16:25:13 ] >>488 まさにこの流れが理由 るびまと区別がついてないならなおさら
494 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 16:50:12 ] 何やら貢献できたようで何より 1.9.1は初心者向けじゃなかったのかー 今まさにダブルクリッコするところだったぜー ここに来てよかった ってことでActiveScriptRubyなるものをダウソしてきます
495 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 16:51:41 ] ここIDないのね 494は489の人てことでw
496 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 17:31:53 ] 質問です エクセルで書かれた名簿を整理して出力するプログラムを書いているのですが、 名前、郵便番号、住所の分離が上手くいきません 与えられた名簿は半角or全角スペースで区切られているのでsplitを使おうと試みているのですが、 例えば以下のように記述すると"―"や"県"が消えてしまいます puts '山田 太郎 〒0000−0000 山田県山田333-333-333-333'.split(/[ 〒]+/) 何か良い知恵があればなにとぞご教授お願いします ちなみに元のプログラムではputsせず、分離後にある配列に入れています
497 名前:496 mailto:sage [2010/03/15(月) 17:34:18 ] 追記失礼します rubyはver1,87を使用しております
498 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 17:48:49 ] >>496 Excelってことなので、WindowsでSJISのソースコードとして、 スクリプトの先頭に #! ruby -Ks もっと推奨の方法があったかもしれない
499 名前:496 mailto:sage [2010/03/15(月) 17:51:44 ] >>498 ご教授いただいたとおりにしたところ速やかに改善されました! ありがとうございます
500 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 17:53:59 ] Rubyが取り扱う文字のエンコーディングを指定しなければASCIIとして扱われてしまうのでそういうことになる Ruby 1.8まででは 1 Ruby起動時にスイッチで -Ks とかで指定する 2 スクリプト先頭に #!ruby -Ks とか書いておくとスクリプト実行時にそのスイッチが考慮される 3 $KCODE を設定する 4 個々の正規表現のオプションでエンコーディングを指定する ただし1,2はスクリプト自体のエンコーディングと正規表現の振る舞いの両者を変更するが 3,4だと正規表現の振る舞いを変えるだけなので スクリプトがシフトJISで書かれていると p "表" # エンコーディングを正しく指定しないと 文字列リテラルが終了してないことに("\225\" と同じ扱い) とかのいわゆるダメ文字(2バイト目が\)問題にぶち当たる UTF-8やEUC-JPだとそのような問題は起きない(のかな?)
501 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 18:05:26 ] るびまってRubyのマニュアルのことだったの? Ruby Magazineの事だと思ってた
502 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 18:15:09 ] >>491 どもです 礼するの忘れてやした
503 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 18:16:09 ] るびま:Rubyist Magazine るりま:Ruby reference manual Ruby Magazineだと思いこんでると、無関係な記事が多すぎるように映るかもね
504 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 18:16:29 ] >>501 どっちでもいいよ いやよくはないが 初心者的にはるびまは読むべきではない 古くて有害な情報が渾然一体となっている
505 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 18:19:31 ] >>503 それ、テンプレに入れたらどうかね?
506 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 18:24:13 ] Rubyinstか。失礼。 上のほうよく見たらるびまとるりまの区別が付いてない(人がいる)って話だったのね 読み違えてたわ
507 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 18:27:44 ] まだ間違ってるぞw
508 名前:496 mailto:sage [2010/03/15(月) 18:29:54 ] >>500 亀ですが、ありがとうございます これを気に文字コードにも意識を向けてみます
509 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 19:16:01 ] くっ Rubyist
510 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 19:51:11 ] includeは名前空間を使えるようにするものってことで、おk? C++@namespaceみたいな感じ
511 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 19:53:43 ] なんというか include はふつうに include だと思うのだが 既存言語の機能になぞらえないと理解し難いほど複雑難解な概念なのだろうか
512 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 20:00:50 ] includeの動作的には本当に>>444 だよね メソッドを探す順番の指定をする方法のひとつ
513 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 20:07:50 ] モジュールの存在理由のほうがムズカシイかもしれない
514 名前:510 mailto:sage [2010/03/15(月) 20:34:24 ] 読んでいた記事が間違えていたらしい 本当の使い方は、結局なんなんだろ? Mixinを実現するためにしか使わないのか
515 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 20:39:59 ] モジュールは、メソッドを用途ごとにまとめるためのしくみ メソッドがあるだけで、オブジェクトには依存しない機能のカタマリ 共通の機能をメソッドから追い出して別途メソッドを作るのと同じように、 共通の機能をクラスから追い出して別途モジュールを作る(でincludeする)というのも妥当
516 名前:デフォルトの名無しさん [2010/03/15(月) 20:45:11 ] Mixinのためと単なる名前空間のため両方に使われる
517 名前:510 mailto:sage [2010/03/15(月) 20:54:21 ] >>515-516 thx
518 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 22:17:04 ] プロパティも実装されていない糞言語
519 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 22:27:30 ] それで遊んでくれるのはPythonスレぐらいだぞ ここは意外とDRY
520 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 22:52:35 ] クラスインスタンス変数とは、そのクラスオブジェクトの特異クラスに属する インスタンス変数という理解で正しいですか?
521 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 23:00:11 ] ごめん、さっき違うスレで質問したけど理解してなかったorz 3 class Hoge 4 def self.set 5 @hoge = "dynamic" 6 $hoge = "static" 7 end 8 9 def self.out 10 puts @hoge 11 puts $hoge 12 end 13 end 14 15 Hoge.set 16 Hoge.out 実効結果 dynamic static $hogeと@hogeって何が違うのさ?
522 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 23:12:55 ] 理解してたらああは言わん クラスインスタンス変数はクラスオブジェクトが存在する限り存在する Hoge と書くことで定数 Hoge に Class クラスのインスタンスが Ruby によってセットされる (同名のクラス定義がなかった場合は定数とみなされ、事前に代入されてない未定義定数でエラー) で、Hoge.set を実行することでインスタンス変数 @hoge がインスタンスの中でふつうに設定される それが属するインスタンスとは Class クラスのインスタンスで、つまり定数 Hoge が指すものだ だから、無理矢理 Hoge の内容を nil にするとインスタンス変数 @hoge はスコープごと失なわれる irb> class Hoge; def self.set; @hoge='hoge'; end; end irb> Hoge.set irb> p Hoge.instance_variable_get(:@hoge) "hoge" irb> Hoge = nil (irb):4: warning: already initialized constant Hoge irb> p Hoge.instance_variable_get(:@hoge) nil
523 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 23:22:49 ] 特異メソッド上で書くからわかりにくい? class Hoge @hoge2="hoge2" end p Hoge.instance_variable_get(:@hoge2) は "hoge2" を返すよ
524 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 23:38:33 ] "プログラミング言語 Ruby" のp.326のなかほどに クオート文字列にマッチすることを意図した正規表現の例が以下のように 載ってるんだけど,文字集合内で番号指定後方参照ってできたっけ? /(['"])[^\1]*\1/ わがRuby1.9.1ではこうなった re = /(['"])[^\1]*\1/ p %('\1')[re] #=> nil p %('hoge'hoge')[re] #=> "'hoge'hoge'" いちおう念のために言っておくと クオート文字列にマッチする正規表現を求めているわけじゃなくて 文字集合内で後方参照や部分式呼出しができるか否かの確認ね
525 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 00:23:29 ] >>457 が何でそうなるのか解説求む
526 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 00:27:01 ] >>525 >>454
527 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 00:28:31 ] globってワイルドカードでも正規表現でもないのか なんでこんな面倒なもん作ったんだ
528 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 00:31:15 ] いや、zshの**を取り込んでるくらいで、 ワイルドカード(UNIXシェルの、だが)だよ。
529 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 00:31:34 ] ああ勘違いしてたわ txtだけはじかれてるのかと思った
530 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 00:32:09 ] ほぼワイルドカードじゃね?
531 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 00:32:50 ] あら遅レス失礼した
532 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 00:33:41 ] globにlsコンパチの引数受け付けるようにしてくれ
533 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 00:34:20 ] >>532 UNIXで誰がファイル名展開をやってるか知ってるかい?
534 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 00:44:33 ] えっ? 誰かがやってるなんてことあるわけないでしょう?
535 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 03:16:47 ] echo *
536 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 03:27:47 ] もうshellの機能をrubyに組み込むべきだなw login shellを/bin/rubyshにできていいかもしれないw
537 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 07:53:49 ] RubyShell って面白そうだな。 誰も使わないだろうけど。
538 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 07:55:47 ] RashだかRushってシェルがなかったっけ
539 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 08:46:18 ] イラネ
540 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 09:30:18 ] とある人のウェブページに、perlをログインシェルとして使ってみた報告があるぞ。 一度読んでおくといい。
541 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 09:33:51 ] いやRushが既にあるから
542 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 11:51:29 ] コマンドライン引数は定数じゃないの? 普通に文字列を代入できるんだけど
543 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 12:01:40 ] >>542 Rubyの定数は、警告 warning: already initialized constant ARGV は出るけど代入自体はできる。 あ、あと、 ARGV << 'hoge' なんてのは「定数への代入」じゃないからな。
544 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 12:03:05 ] $ ruby -e "ARGV=nil" -e:1: warning: already initialized constant ARGV いやきちんと定数として警告出ますが というかただの定数に過ぎない Rubyはこれを起動時から用意してるだけで、用意したあとは特別扱いをしない ただの配列を指す定数で、配列としての動作に従う 配列だから、要素を弄る限りはオブジェクトIDが同一で、定数としての適正を失わない irb> arr = [1, 2, 3] irb> arr[0] = 'one' irb> ARGV[0] = 'one'
545 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 12:18:43 ] 代入はできるけど、データのコンテナとして ARGV を使うのはおすすめはしない ただ、これは グローバル変数と定数を使う→ クラス変数を使う→ インスタンス変数だけを使う→ 全部引数での受け渡しにする→ 引数の数が大量になって鬱陶しいのでアクセサメソッド経由のインスタンス変数と引数の併用にする というような変遷をどうしてもみんな辿るので今はまだ気にしなくてもいいとも言える
546 名前:542 mailto:sage [2010/03/16(火) 12:25:44 ] とにかくコマンドライン引数には入れるなってことでしょ
547 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 12:47:18 ] def hoge= この=って何?
548 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 13:00:04 ] >>547 そのまんま 「hoge=」 という5文字の名前のメソッド ただ、末尾に = があるメソッド定義を Ruby は特別に扱うので、引数つきで定義しておいたほうがいい あと、foo.hoge = と = の前に空白があっても、Ruby はとりあえず foo のメソッドの中から hoge= を探す foo.set_hoge(v) とするよりも foo.hoge = v と書けたほうがなんかわかりやすくね、という理由で特別扱いされてる
549 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 13:07:59 ] 「プログラミングRuby 第2版 言語編」ですが、今から読むには 古すぎますか?それとも第3版が出て、絶版になる前に読んでおく べき? たのしいRuby、Well-Grounded Rubyist、初めてのRuby は読みました。
550 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 13:08:28 ] >>548 理解した、ありがとう
551 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 13:16:29 ] >>548 >「hoge=」 という5文字の名前のメソッド 通常の方法では代入文でしか呼べないから、ただのメソッドではなく演算子定義の一種と見た方がいい 一応引数無しでも定義できるけど__send__使わないと引数なしでは呼べない
552 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 13:17:42 ] >>551 Rubyの演算子はメソッドですよ
553 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 13:24:32 ] Rubyのユーザーは学生と暇人が多いのか? C/C++のスレには全然書き込みが無いんだけど Rubyは簡単だから、学生に人気があるのかな
554 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 13:29:41 ] 最近質問が多いね、春休みなんじゃないの? まあ俺も春休みだけど。。
555 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 13:30:46 ] 去年からずっとやすm
556 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 13:31:17 ] 仕事探せ
557 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 13:32:16 ] >>555 勝った!
558 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 13:33:11 ] >>557 お前は必死に仕事探せ
559 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 13:35:25 ] 学生と暇人とニートがいないとプログラミング言語は成長致しませぬゆえ
560 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 13:37:43 ] 学生と暇人なんて放っておいても沸いてくるんだから 無職連中はとりあえず生活基盤作れ
561 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 13:39:35 ] 暇な香具師を無料で奉仕させてこそオープンソースだしな。
562 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 14:18:15 ] >>549 初めてのRuby(yugui本)を読んで自分のものと出来たのなら 好きに進んでいいよ。
563 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 14:43:10 ] Rubyはいつになったら仕様が固定されるの? 安心して使えない
564 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 14:48:04 ] 1.8 は少なくともあと5年は使えるな。
565 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 15:06:10 ] >>562 レスどうも。 ツール作りでもしてみます。
566 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 15:08:40 ] 本の内容が新しいかどうかという話なら、新しくはない 1.8.7の1.9新機能入りプログラミングができないというのはなんとも歯痒い が、それはWebの情報でアップデートできる程度なので問題はなさそうかも むしろ最初からこれ教えたら混乱しそう
567 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 16:19:22 ] >>563 固定化されることはないと思う
568 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 16:22:33 ] >>563 はそもそも使わないからどうでもいい
569 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 18:52:28 ] ちなみに今から使い始めるならどのバージョンがお勧めなんだ
570 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 18:58:53 ] >>569 はテンプレも読まないからどうでもいい
571 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 18:58:54 ] 始めるだけなら 1.8.7 の最新だと思うが、 最新(p249)はString#inspectで最後の多バイト文字が文字化けするという デバッグや実験中に微妙にイラッとするバグがある。 気になるなら p174 で。 1.9系は夏に1.9.2が出るのでそのときまた判断だな。
572 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 19:16:27 ] やっと1.9sp2が出るのか。
573 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 19:18:21 ] それはまだ 1.9正式が出ただけ sp1が今度出る
574 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 19:22:45 ] >>571 $KCODE を設定した上で p で日本語を表示しようとした場合に最後の文字がバイト列のままになる だ p で日本語を表示しようとさえしなければ問題はないし、俺は表示しようと思ったこともない というかむしろ p を使うような事態のときは1.9でもデフォルトでバイト列表示しろやわかりにくいわぼけー どういう日本語を普段扱ってるかで違うんだろうな、このへん
575 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 19:25:49 ] p の意義からしてエンコーディングを考慮するほうが正当 ShiftJIS 文字列とか表示されて端末乱れるのはイラッとくるが
576 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 19:34:14 ] オブジェクトを機能拡張するためにモジュールで拡張したんだけど さらに状態の保持が必要な機能追加がしたくなった モジュールへの修正じゃ対応できないの?
577 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 19:35:16 ] require 'Hoge' include Hoge なんで、requireにはシングルクォートを付けないと怒られるのに includeには付けなくても怒られないの? たまたま、そうなっただけなのかな〜
578 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 19:41:28 ] >>577 require は基本的にはファイルパス 実際のファイルの大文字小文字が考慮される (が、あまりにも面倒なのでファイル名の時点で小文字だけにしようという取り決めがある) include の引数はモジュール名、つまり定数
579 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 19:44:08 ] >>576 すれば include はするたびにその順番に機能する
580 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 19:44:15 ] require 'Hoge' は主ファイル名だからじゃね?
581 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 19:46:41 ] >>578-580 ありがとう
582 名前:576 mailto:sage [2010/03/16(火) 19:47:24 ] >>579 (and all) どうすれば状態を保持できますか?
583 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 19:51:32 ] 状態って何
584 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 19:52:35 ] >>577 requireも単なる関数的メソッドとして実装されているのも理由の一つ Hogeというキーワードはrequireの実行を終える前には当然定義されていないし 予約語でもないから、リテラルを使うしか渡す方法(requireメソッドを実行する方法)がない 「Hogeをrequireしろ」「Hogeってなんだ?」 「Hogeを読めばわかる」「だからそのHogeって何だよ」 NameError: uninitialized constant Hoge Symbolでもよさそうだけどそのへんは>>578 なんだろう
585 名前:576 mailto:sage [2010/03/16(火) 20:01:14 ] もともとのオブジェクト以外に追加の情報を保持したいんですが たとえば配列クラスに最大値を保持するなど
586 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 20:22:21 ] >>585 エスパー発揮で obj = [1,2,3] obj.instance_eval{ @mymax = self.max } obj.define_singleton_method(:mymax){ @mymax } p obj.mymax なんか頭の悪そうなコードですまん
587 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 20:25:30 ] >>585 本当にしたいことを書いたほうがいいと思う include ではクラスにもともとあるメソッドを上書きすることができる でも、おそらくはそれが解決方法ではないと思われ 組み込みや標準添付のクラスを拡張することは好ましいこととは考えられてない(オープンクラスのくせに) 自分でクラスを作ってインスタンス変数とかにオブジェクトを保持するほうがいい オブジェクトの操作は自作のクラスのメソッド経由で行う class HogeData def initialize(a) raise ArgumentError, 'must be Array' unless a.kind_of?(Array) @hogedata = a end def <<(e) return if @hogedata.size > 2 @hogedata << e end def data; @hogedata; end end irb> hoge = HogeData.new([1,2]) irb> p hoge.data [1, 2] irb> hoge << 3 irb> p hoge.data [1, 2, 3] irb> hoge << 4 irb> p hoge.data [1, 2, 3]
588 名前:576 mailto:sage [2010/03/16(火) 21:18:59 ] では言い直します。 自分で書いたクラスのオブジェクトに追加の情報を持たせるには、 継承したり別のクラスに包含すれば可能だけど、すでにModuleで拡張しているので そこはできるだけ触らずにModuleに少し書き足す程度で実現できないか? Module内でインスタンス変数的な情報を保持する何かを定義できないか?
589 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 21:34:12 ] >>588 よくわからんけどこれでダメ? ダメならどうダメかをコードとして提示してくれると他の案を言えるかも module M end class C include M def foo @foo end end module M def bar @foo = :bar end end obj = C.new obj.bar p obj.foo #=> :bar
590 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 21:53:46 ] >>586 Moduleの使い方・考え方が間違ってるような気がするなあ あるクラスがModuleをincludeした時点でそのクラスのインスタンスは 存在していないわけだからインスタンス変数を設定したり保持したり できないでしょ アクセサの定義ならModuleでもできるけど module M def data @data end def data=(arg) @data = arg end end class C include M end
591 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 21:55:33 ] 591レス目 ズレている人はレスデータの再読み込みをしてください
592 名前:576 mailto:sage [2010/03/16(火) 22:01:45 ] それだとobj.barを書かなければいけません。 質問は、Module内を書き換えるだけで、外側には一切手を加えずに@fooを初期化できるかということです。
593 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 22:02:14 ] なにその出来の悪いGUIのリストみたいな現象
594 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 22:04:28 ] module内でinitialize書き直したら?
595 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 22:08:09 ] >>594 それはできない
596 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 22:16:53 ] ほんとにできない?
597 名前:576 mailto:sage [2010/03/16(火) 22:18:32 ] >>590 インスタンスが作成された時点でincludeされたmoduleを通して 何かしらinitialize的メッセージが送られるようなことは無いよねって話です あるいはC言語で言うところのスタティック変数は無いよねってことでも結構です >>594 もう試した
598 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 22:20:06 ] module M def self.included(klass) klass.class_eval do def initialize @foo = :bar end end end end class C def initialize @foo = :baz end attr_reader :foo include M end p C.new.foo #=> :bar
599 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 22:21:22 ] >>595 めんどくさい、が正解だと思う include先が継承とかしてたらsuper呼ばんといかん
600 名前:576 mailto:sage [2010/03/16(火) 22:51:09 ] >>598 すばらしい!! ありがとうございました。
601 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 00:02:54 ] 読み込むモジュールを変えるとinitializeが スイッチされるってのは面白いかも なんか騙されてるような気もするなあ
602 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 00:16:58 ] まあ、あまり性質のよいものではない
603 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 00:26:10 ] 複雑なマッチ条件を使いたい場合、 if /hoge/ =~ obj.str and /huga/ !~ obj.str and ... と延々と続いて見づらいのですが、スマートに書けますか?
604 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 00:27:24 ] >>603 メソッドにしてしまうのがひとつの手ではある 基本的には全部書くしかない
605 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 00:31:44 ] 自分が時々やるのは match1 = obj.str =~ /hoge/ match2 = obj.str !~ /fuga/ match3 = obj.str =~ /fuge/ if match1 and match2 and match3 body_stmt end こう。 でも条件分岐だけで10行超えるなら独立のメソッドにする
606 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 01:02:19 ] なるほど。ありがとうございます。
607 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 03:52:24 ] &&= 使った方が無駄なマッチングがないんじゃないかな。 正規表現のマッチくらいでそんなに重くなったりしないけど〜。
608 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 08:17:07 ] >>481 aptanaよりは軽いぞw そもそもRubyの文脈考慮するコード補完でまともに高速に補完できるIDEみたことない。 俺もそれは困っているし、もっとよいIDEがあればぜひ教えて欲しい。 irbとかJavaとかC#みたいにバンバン補完できればいいんだけどねー。早々簡単にできないのわかってていってるけどw テキストエディタレベルの単語補完ならばNetBeansでも高速できる(デフォだとたしかCtrl+K)。
609 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 08:43:03 ] 現在の単語に続く語を見つけるだけならEmacsでも超高速でできるぞ
610 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 09:03:06 ] >>482 > ttp://d.hatena.ne.jp/kitamomonga/20100202/ruby_watir_crash_with_autoitx3 複数引数のsystemを使うべきところだな。 クォートだとなんだの気にする必要がなくなる。
611 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 09:33:26 ] >>609 もちろん、vimでもxyzzyでも単語の補完はできるけど、>>481 はそういうこといってるんじゃないんだろうし インテリセンスみたいなやつだろ
612 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 09:52:28 ] >>575 > ShiftJIS 文字列とか表示されて端末乱れるのはイラッとくるが これは 1.9.2 の改善点の一つ
613 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 11:07:47 ] 実行しているスクリプトが置かれているディレクトリを調べる方法を教えてください
614 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 11:10:40 ] __FILE__
615 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 11:12:36 ] File.dirname($0)
616 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 11:19:01 ] Dir.pwd
617 名前:613 mailto:sage [2010/03/17(水) 11:25:40 ] 絶対パスで欲しいんですが
618 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 11:27:05 ] expand_path … は内部で呼ばれてるからいらないんだっけか
619 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 11:31:17 ] ああ、やっぱいるよな >>617 :~$ cat a.rb p File.dirname(__FILE__) p File.dirname(File.expand_path(__FILE__)) :~$ ruby a.rb "." "/home/ore" :~$ ruby /home/ore/a.rb "/home/ore" "/home/ore"
620 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 11:38:49 ] >>481 >>608 NetBeansの文脈依存補完ってどのレベルまで補完してくれるの? 変数の参照先オブジェクト(のクラス)を推測したり メソッドチェーンの返り値を推測して 続きのメソッド名を補完できたりする?
621 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 11:40:27 ] >>618 だいぶ前にあったのは expand_path の基点となる第2引数が自動で dirname されてるという話だと思った dirname の中で expand_path が使われるということはないように見える
622 名前:613 mailto:sage [2010/03/17(水) 11:51:55 ] >>619 ありがとうございます
623 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 11:53:48 ] $0 と __FILE__ ってどうちがうんですか?
624 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 11:59:29 ] $0 は実行中のスクリプトのファイル名 __FILE__ はそれが書かれているファイル自身のファイル名 スクリプトファイルを実行した場合は両者が一致する。 requireなどで他のファイルから読み込まれた場合は一致しない。
625 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 12:09:46 ] 相談です。 ttp://www.rubylife.jp/ini/japan/index5.htmlのページにある 1 #! ruby -Ku 2 print("表示する") 3 [EDF] というプログラムをterapadで作り保存してコマンドプロンプトで実行すると、 そのページに依れば文字化けした言葉が出てくるはずなのですが、しかし test1-3.rb:2: unterminated string meets end of file test1-3.rb:2: syntax error, unexpected $end, expecting ')' と表示されます。 でも「表示する」の部分を「日本語で表示」に変えるとちゃんと文字化けします。 原因がプログラムで解決できるものなのかエディタを変えないといけないと解決できないのかも分からないので、 どうしたらよいかを教えてくれないでしょうか?
626 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 12:29:10 ] 俺はこのサイト(正確には「このチュートリアルサイト群」)はあまり好きではない 初期のSEOがあまりに迷惑で悪い印象が残ってしまっている はともかく >>625 あんま気にするな 表示する端末のサポートするエンコーディングと 文字列のエンコーディングが合致していないとまともに動作しない、が本質 ぶっちゃけ、日本語文字列を直接書いてしまったファイルが、-Ks などのエンコーディング指定なしで 日本語文字列を含んだRubyスクリプトとしてきちんと解釈される保証はない 「うわーまともに動いてねーよ」と納得したら次のステップに行ってよし
627 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 12:36:07 ] 回答ありがとうございます。納得してから気にせず先に進みたいと思います。 どうしても出費を抑えたいのでそういったサイトに頼っているのですが… 自業自得か。orz
628 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 12:37:44 ] 文字列変えるだけでパースエラーになったりならなかったりってのは エンコーディングの不一致とは関係ないんじゃない? 表 (SJISのダメ文字のひとつ) の位置が問題なのかな。
629 名前:デフォルトの名無しさん [2010/03/17(水) 12:41:59 ] RubyってWindows用だといろいろあるじゃないですか Linux用の場合は1つしかないのでしょうか? このへんであまり考えたくない為、もしLinuxで1つしかなのでしたらLinuxで始めたいと思います。
630 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 12:42:37 ] それエンコードの不一致でおきる問題ですがな
631 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 12:43:33 ] >>629 1.6.x 1.8.x 1.9.x いろいろある Rails のバージョンによってもさらにバリエーションがw
632 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 12:43:42 ] >>629 まあ動作的にはひとつとみなしてよいかと 少なくともWindowsのような面倒なことはない
633 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 12:44:44 ] Windows 版のどこがどう問題なのですか
634 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 12:46:21 ] スレでWindowsという文字を見ると不機嫌になってしまうおじちゃんからいじめを受けます
635 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 12:48:55 ] Windowsで使いたければPython使った方が良いんじゃない? RubyはWindowsのメンテナが不足気味。LinuxかMacで使うべき。 Rails だって Windows はサポートしてなくて、今までたまたま 動いてたけどいつの間にか動かなくなったとか聴いた。
636 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 12:50:04 ] ほらな
637 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 12:51:34 ] 漏れもそう思う RubyはWindowsと相性が悪い Pythonの方がWindowsとの親和性は高い *nixの場合はどっちでも相性が良い つまりPython>Rubyであって Rubyを選ぶ理由がないんだよなぁ
638 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 12:57:48 ] つまりC#最強ということですね
639 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 12:57:50 ] Pythonってインデントで書くから気持ち悪い
640 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 12:59:06 ] VBみたいな記述のRubyのが気持ち悪い
641 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 13:02:12 ] end ってw
642 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 13:04:56 ] Rubyはプログラミングと関係ない部分で手間がかかる
643 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 13:08:02 ] >>637 そんなポータビリティが常に必要か? たとえばMacOSXで動作しないバイナリを吐く言語で書く意味は何?
644 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 13:11:22 ] うん、あなたはRubyをWrite once, run anywhereの再来だと吹き込まれたのかもしれないが、それは違う それを暴いたのは俺たちかもしれないが、殴るなら暴いた人間ではなくあなたを騙した人間を殴れ
645 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 13:12:45 ] IronRubyが出る頃には、まともになってる?
646 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 13:17:27 ] >>644 似たようなものに「Rubyは初心者にも簡単」があるな パソコン初心者やプログラミング言語初心者の人にとって独習可能なほど易しいとはそれほど思えない
647 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 13:34:44 ] 初期(または現在も)の謳い文句に「Cで拡張ライブラリを書くのも簡単」があった これも 「(動作上速度等で不満があれば、あなたが使い慣れている)Cで拡張ライブラリを書くのも (たとえばこんなふうにC言語でずらっと書けばほら)簡単」 という意味だったからな 初心者として想定しているレベルがそもそもぜんぜん違う C言語をある程度使えることは当然だし、Perlや主要UNIXコマンドの動作を知っていることや 文字エンコーディングの知識をもっていることも当たり前とされている (初心者の想定としてはワークステーションの使い方教えられて慣れた感じの大学3年生くらい?) それはマニュアル見れば一目瞭然 「Cのあれ」「コマンドのあれ」「Perlのやつ」という表現ばかりだ 最近は文章上は若干表現が砕かれたが、知識として知っていることが前提なのは何も変わらないのでむしろ
648 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 13:37:57 ] 隔離スレに帰れ
649 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 13:39:04 ] 質問スレだしなあ ・ Ruby自体は便利 ・ ただしコンピュータ初心者やプログラミング初心者が独習可能なほど易しいかは怪しい ・ Windows上ではあまり便利ではない ・ Rubyは便利だが、儲かることや役に立つこととは別の便利さ こんな感じ?
650 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 13:42:47 ] ・ Rubyは自分のため ・ Javaは給料のため ・ Pythonは他人のため ・ Rubyがコンピュータ初心者やプログラミング初心者が独習可能なほど易しいかは怪しい ・ Rubyは自分のために使うと便利だが、Windows上ではあまり便利ではない こうだ
651 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 13:44:48 ] Windows上で便利に使いこなしてるおれは勝ち組
652 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 13:53:45 ] Ruby厨っていつも言い訳してるよねw 便利ってなんだよw まともなIDEもないのに便利も糞もあるか ライブラリはバグだらけで使えない バージョン変わると言語仕様も変わってソース書き直しw
653 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 13:55:38 ] >>620 (NetBeans勧めておいてなんだが)文脈依存補完は重くてあまりつかってないんだが、 あまり優秀でない感じがした。irbの補完とどっこいどっこい 静的型付けの言語みたいに hoge.(ドット) ってうっていきなりリファレンス替わりにいきなり補完の候補だして 書き始めることはできない感じだった。補完速度の遅さももちろんあるが、候補が多すぎる。 メソッド名途中まで書いてからならかなりしぼれる。この辺はirbもそうだけど。 どんな技術で補完してるかは詳しくないので公式サイトなりでも調べてもらった方がよい気がする
654 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 13:56:32 ] なんか春を感じるな
655 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 13:57:21 ] >>646 (Windowsユーザー以外の、パソコン初心者以外には)「Rubyは初心者にも簡単」
656 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 14:08:29 ] >>655 それは初心者とは言わない コンソールでちまちまやっているのが日常のやつなんて一部 それなのに「初心者がはじめるにはどの言語か」という発言だけで Rubyすすめるバカがいるからな
657 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 14:12:21 ] >>656 あれは意図的な悪意だろ 俺らが止めることはもはやできない
658 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 14:29:59 ] >>625 です。エディタので文字コード指定再読み込みをUTF−8 でしたらちゃんとエラー表示がなくなり日本語が表示されましたので一応ご報告を。
659 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 14:47:00 ] なんでもできるなら迷わずC#だな これでできないことはないし 非常に便利 Rubyのどこが便利なんだよwwアホかw
660 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 14:55:30 ] >>652 >>659 もりあがっているところ申し訳ないのだが、その手の話題は本スレでお願いしたい。 Rubyについて Part 39 pc12.2ch.net/test/read.cgi/tech/1265467681/
661 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 15:06:32 ] これから学ぶならPHPではなくパイソンかルビーがオヌヌメ って記事読んでこのスレに来たけど騙されたか・
662 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 15:12:20 ] >>661 C#がいいよ 未だに進化し続けている言語はこれぐらい
663 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 15:19:37 ] >>662 Pythonは進化は一休み宣言してる Rubyは進化のためなら互換性を切り捨てることを厭わない
664 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 15:20:58 ] >>661 これから( のために)学ぶなら( な)PHPではなく ( な)パイソンか( な)ルビーが( の点で)( な人に)オヌヌメ これが全部埋まってないようなものは与太 信じるほうが悪い
665 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 15:22:23 ] 女に嫌われるタイプだなw
666 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 15:22:52 ] PHPっていらない子なの?
667 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 15:23:37 ] >>666 >>664
668 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 15:37:34 ] むしろRubyは初心者向け言語ではない難しい言語だっていう イメージをもっと広めてもらいたい Rubyが超得意ですキリッっていっても 初心者向け言語ねプッ初心者いらね とあしらわれるのが現状の就職戦線だからな
669 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 15:39:20 ] rubyをやる気なくしてきた…(´;ω;`)
670 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 15:41:50 ] 今のところプログラムの話題なし Ruby擁護レス、批判レス、バグ報告レスだけ
671 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 15:44:53 ] Rubyで就職狙うなんてありえんわww これがWindowsもないころなら 簡単と言ってもよかったがな 今更文字処理得意ですなんて言われてもな 真っ黒い画面で文字打つだけって最近のガキじゃ無理だな
672 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 15:49:34 ] Rubyをやりたくてやるんじゃない、やってしまうのがRubyist
673 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 15:51:22 ] >>671 加齢臭がします>< >真っ黒い画面で文字打つだけって最近のガキじゃ無理だな 小学生でも出来るよそんな事^^
674 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 15:53:18 ] Rubyistはスキルも性格もいいので開発メンバーからは良くたよりにされる だがたよりにされたいからRubyをやってもダメだと言う事が最近わかった Rubyをやるのは真にRubyistの人だからRubyをやりたくてやるんじゃないやってしまう者がRubyist PHPerはざんねんがはっきりいってスキルはつかわないし性格も裏メールとかイマイチだから信頼されにくい
675 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 15:53:46 ] つまんねっていってるんだよ C#ならいきなりGUIが作れます
676 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 15:54:55 ] >>674 妄想乙 Ruby信者は各スレを荒らしている キチガイばかりが集まった低脳集団 だから就職でも嫌われるんだよ
677 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 15:55:50 ] ブロントさんネタがどこでも通じると思ったら大間違い。
678 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 15:56:02 ] >>661 >>669 結局、用途によるよ (異論はあるだろうが)初心者=Windowsとして・・・ ・ちょっとした文字列処理とかの書き捨てるようなスクリプトには便利 ・mechanizeとか使って、コピペサイトや2chからエロ画像とか自動収集してきてzip化!!1とかに便利 ・かっちょえー、webサービス作りたい!!11とかならcoLinuxかVMWareか入れてRails学ぶ ・別にちょっとしたCGI的webアプリならRailsじゃなくてもいい(やってる人はやってる) 他の言語でもできる、と言われたらそうだけどw 「Rubyはプログラミングを楽しみたい人のための言語」というように言われるが、それはあるとおもうよ。 (ただし、環境整えるの面倒とか、Windowsでこのライブラリ動かねーとか普通にあるのはおいておいてだな)
679 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 15:56:21 ] Ruby信者=C++も使えないバカ ここはC言語わからなくて逃げ出しちゃった子の巣窟
680 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 15:57:22 ] 一人変なのがすみついたな・・・
681 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 15:58:11 ] 初心者スレでここは云々言われても
682 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 15:58:51 ] ぶっちゃけ、ここが本スレじゃないの?
683 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 15:59:44 ] ぷ
684 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 16:01:16 ] >>678 それぐらいならC#で余裕で出来るな まずインストールでこける 無事インストールできてもRubyは日本語リファレンスが充実していない サンプルがない ユーザー数が少ない Rubyスレは低脳ばかり 就職で使えない 特異言語のRuby覚えても他の言語で応用が効かない ライブラリはバグだらけ メンテナンス作業をするために時間をとられてWindowsユーザーはまずプログラミングに集中できない 初心者=Windowsユーザーではない 大部分の初心者がWindowsユーザーということだ
685 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 16:03:11 ] まともにレスするのが馬鹿らしくなってきた。。。
686 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 16:04:39 ] >>684 C#スレから来ました スレとは関係ないんですが、もしかしてニートですか? 僕も30歳ニートです。
687 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 16:09:21 ] >>678 仮想osにubuntuでも入れれば使いやすくなると言うこと? 将来性の面ではrubyはいいと言うのをよく見かけるけど、 これに関しては他のと比較してどうですか? > Rubyはプログラミングを楽しみたい人のための言語 個人的にはこれが気になる。 趣味だから楽しんでなんぼだし
688 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 16:11:19 ] 楽しくないよバグだらけで GUIすらまともに作れない IDEもないじゃねぇ
689 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 16:14:08 ] オーケー IDEをNGワードにした WIDEとかAIANMEIDEN(ローマ字綴り)とかの話題をしないようにお願い
690 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 16:20:12 ] >>687 とりあえず仮想OSの話だけ。 webアプリ作るのに便利なRailsというRubyで動く代表的なwebフレームワークがあるんだけど、 それを使うには仮想OSやcoLinuxでUbuntuでも入れた方が、格段にトラブルが少ない、ということ。 Railsのコア開発者がそもそもWindows使ってなくて、Windowsだとイマイチ不安定だったり起動が遅かったりするのと、 Windowsでそのまま動かせないライブラリなんかがあったりする。 最終的に動作させるOSもUbuntuとかのUnix系OSになるだろうし、 仮想OSにUbuntuかCentOS入れて開発した方が楽ということ。 ただし、そもそもRailsは共有レンタルサーバーだと動かしにくい(というか重い)のに注意。 だからRails使わずにCGIで頑張って作ってる人もいることはいる。Railsばかり注目されて目立たないけど。 ちなみに、ちょっとしたスクリプト書いたり学習する分には別に仮想OSじゃなくても問題ないだろう。
691 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 16:20:14 ] I.D.Eもない糞言語なんて今時やってられるかよ 真っ黒い画面で文字打つだけで何が便利だよww どこが楽しいんだよwww笑わせるなww
692 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 16:24:52 ] ID欲しいな。 IDEは別にいいや。
693 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 16:30:07 ] この荒らし他のスレでもいるっぽい?数日続くようなら後でまとめて運用に報告してくるんで、スルーしといて下さい。 下手にレスしてまきぞえ規制くらってもしらん
694 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 16:43:06 ] 批判されると荒しとかどんだけゆとりなんだよ
695 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 16:45:18 ] >>694 荒らしかどうかは内容によらない
696 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 16:51:26 ] >>693 C#スレにコピペ荒ししたのお前だな 報告しておいたから
697 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 17:16:52 ] コア開発者というのはだいたい10人くらいなのだが、その半分くらいはWindows使ってるはず。 Windows向けのコードも数人書いてるし、定期的にビルドもされている。 Windowsで遅いってよく言われるのは、バイナリモードの話と、プロセスの起動が遅いって話じゃないかな。 前者はFAQだし、後者はcygwinのconfigureで顕著だけどWindows自体の話だからどうにもならん。 Windowsで動かないライブラリがあるのはその逆も真なはずだからいいよね。
698 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 17:39:30 ] >>697 1.8.7-p160のような話も混じってるのかもね ライブラリの不満は動くかどうかよりも バイナリが用意されていない(gem install一発で使えない)のほうが多い気がする もしかしたらASRでも一発でいける方法・設定があるのかもしれないけど俺は知らない
699 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 17:40:51 ] てかRubyがJava|C++|C#|Pythonじゃないって、だからなんなのって感じ
700 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 17:41:38 ] >>699 PerlやPHPもIDEがないから流行ってないんだよきっと
701 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 18:04:31 ] ぶっちゃけインタプリタで最強なのはPHPしかないよ Rubyはメモリ関係が弱いって言うじゃんしかもWinは動作保証してないんでしょ Pythonはあの独特なコーディングと日本語訳がないから英語読めない人お断りじゃん
702 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 18:04:32 ] IDEらっきょ
703 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 18:05:58 ] いや別に最強とか決めるためにプログラム言語使ってるわけじゃないんで
704 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 18:09:19 ] ASRをインスコしてデスクトップのショートカットをダブルクリックしたら コマンドプロンプトが起動した… WINのrubyってコマンドでプログラム書くの? 自分は何か致命的なミスをおかしてますか?
705 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 18:11:18 ] >>704 実行環境であって開発環境ではない
706 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 18:12:23 ] >>705 なる もーちょっとあちこち見て回ります
707 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 18:13:10 ] >>704 文法に沿って書いたテキストファイルをruby.exeに読み込ませると ruby.exeが必要なRuby用ファイルを読み込んで テキストファイル内で指定された動作を対象ファイルとかに対して行う 動作を指定したいことがないような人には無用の長物
708 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 18:15:54 ] >>704 あれはRubyを実行するのに都合のいい設定済みのコマンドプロンプト
709 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 18:18:22 ] >>704 コンパイルするときいちいちコマンドプロンプトで ファイル名書いてやらないとだめだよ またライブラリ使うとオプションも書かないとだめだし 何度もテストするのにいちいちファイル名を文字入力しなければならない
710 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 18:22:25 ] スレ住民一同苦笑しております
711 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 18:23:23 ] しまったコンパイラじゃなかったわ
712 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 18:27:58 ] >>707-709 ども 開発環境はRDE? なんか上の方でRDEは嫌われてるっぽいんですが というか仮想OSでUBUNTU辺りでやった方が良いの? もーなにがなんだかw >>710 ここで自分の質問が問題あるならこれをもってROMに戻ります 問題あるならここにでも行って帰ってくんなと言う誘導でも下さいね
713 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 18:28:46 ] >>712 >>709 は無視 無視してないの君だけだ
714 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 18:33:34 ] >>712 RDEはRuby無関係のRDE固有のトラブルを自力で切り分けて解決できる人向け 「普通のRubyではできるのにRDEでは違うということはRDEが悪い」という判断ができないと無理 基本はテキストエディタさえあれば作成は可能で、それだけで作ってる人もわりといるが、 そういうことに慣れていないならそれだけで嫌になる可能性はたいへん高い
715 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 18:36:46 ] >>712 多分インストールする時点で挫折するでしょう ここではインストール方法は教えないので自力でやってください
716 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 18:39:52 ] >>712 >>710 は >>709 あて とりあえずWindowsでやってみて不満が出るようなら 仮想マシン+Ubuntuへの乗換えを検討してみたらいいんじゃないか 出回ってる本で勉強するぐらいならWindowsでもまったく問題ないよ コマンドプロンプトの使い方がわからなかったら カレントディレクトリっていう概念とCD、DIRコマンドの使い方だけ抑えてくれ テキストエディタは保存と編集だけできれば十分
717 名前: ◆Y4m3jU.1h. mailto:sage [2010/03/17(水) 18:47:27 ] めんどくさ >>712 なんらかの、IDEと呼ばれるタイプの開発環境を使用したことがないのなら何も勧めない >>714 の言うようにRDEは初心者が使うものではない どうしてもウィンドウが3つくらいないと死ぬとかそういう病気の場合は EclipseかNetBeansがいちおうRubyに対応している ただ、IDEを使ったことがないなら使用は勧めない IDEの余分な操作で余計に混乱すると思うから メモ帳でも開いて puts "Hello, Ruby!" と1行書いて "a.rb" とでもしてファイル保存して ruby console ダブルクリックして a.rb を黒い画面にドラッグアンドドロップしてEnterすると Hello, Ruby! と黒い画面の次の行に表示される そんな程度
718 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 18:50:57 ] >>713-716 了解 しばらくエディタでやってみます >>715 インストールは何のインスコを指してるのか判然としないが とりあえず自力でやります >>717 めんどくさいことわざわざどうも
719 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 19:07:10 ] ruby console ダブルクリックして a.rb を黒い画面にドラッグアンドドロップしてEnterすると ↑この作業を毎回しなければならないのは苦痛でしかない C#ならF5押すだけで済む
720 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 19:09:45 ] a.rbをダブルクリックでおk
721 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 19:10:33 ] インタプリタの意味が無いな
722 名前: ◆Y4m3jU.1h. mailto:sage [2010/03/17(水) 19:12:12 ] >>719 コマンドプロンプトの履歴は上キー 一覧から選びたいならF7 コマンドライン入力中に履歴補完したいなら入力途中でF8 ファイル名補完は設定によってはタブでも動作する
723 名前:デフォルトの名無しさん [2010/03/17(水) 19:15:35 ] rubyで出来たpukiwikiのパーザってありますか?? pukipaはtableが使えないのでダメでした
724 名前: ◆Y4m3jU.1h. mailto:sage [2010/03/17(水) 19:16:09 ] あと >>719 > C#ならF5押すだけで済む それはC#の機能ではない そもそもC#に編集機能などない それはVisualStudioの機能だ
725 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 19:25:26 ] >>709 csc /t:winexe hoge.cs /r:PresentationFramework.dll /r:PresentationCore.dll /r:WindowsBase.dll こうですね、わかりません
726 名前:デフォルトの名無しさん [2010/03/17(水) 19:53:08 ] >>◆Y4m3jU.1h. 全レスはとても親切だと思うんだけど, 入門書の第1章を読めばわかるレベルの質問ならば 入門書を挙げるだけでいいと思う。 なにも読まずにつまづいて調べもせずに いきなり人に聞こうとする質問者に 手を差し伸べてたらキリがない。 あと妙な書き込みにレスつけてると相手の思う壺。
727 名前: ◆Y4m3jU.1h. mailto:sage [2010/03/17(水) 19:55:35 ] >>726 こうやって可視化すると文句言えるんだな
728 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 19:59:36 ] この板はIDあったほうがいいなと思うことはある
729 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 20:21:10 ] C#荒し厨(C#厨ではない)にはレスつけずスルー推奨 C#スレ見たけどあっちでも嫌われてるじゃねーか(そりゃそうか
730 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 21:01:16 ] >>724 そんなのわかっているし、そういう発言自体がナンセンスなの 言語だけでプログラミングできるとでも思ってるわけ? 開発ツールがなければできないだろ 電波飛ばして直接ハードディスクにデータ書き込む気?
731 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 21:02:54 ] >>727 名無しではみんな強気だからな
732 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 21:25:50 ] 匿名になると無責任になるってばっちゃが言ってた
733 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 21:26:00 ] C#で湧いてくる人を見ると 『あぁブビ厨ってこんな感じだったんだろうなぁ』 と、当時が偲ばれてノスタルジックになれる ・・・かもしれない
734 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 21:29:36 ] 最近Rubyはじめた初心者だけど、IDEとか使わない方が 覚えることが少なくて楽だと思う 確かにDOSプロンプトで作業するとなんかイライラするけど、 cygterm (cygwin+teraterm) の端末なら快適
735 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 21:36:14 ] cygwinならminttyもいいぞ "mintty -"でログインシェルで起動するのを忘れずに
736 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 22:25:38 ] DOSプロンプトなんてとっくに滅んで存在しないだろ。 NT系は最初から「コマンド プロンプト」だぜ。 つか、現代のコマンドプロンプトは、ヒストリついてるし、 最初からファイル名補完有効だし、意外と便利。
737 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 22:30:40 ] UTF-8も満足に表示出来ないターミナルで便利とかちょっと PowerShellならまあ…っていまだに使い方わからんけど
738 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 22:30:48 ] 最近はPowerShellとか言うやつじゃないのか。
739 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 22:35:13 ] コマンドプロンプトからPowerShellを起動した場合はUTF-8表示できなかったような ただPS用にISEっていう統合環境があってそれなら表示できる ただPSは肝心の文法がキメラでして
740 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 23:03:53 ] 統合開発環境ってのはまずそいつの使い方を知らないと勉強を進められんからな 知ってりゃいろんな事がボタンひとつで出来るかもしらんが環境変わるとまた使い方を調べにゃならん そしてWindowsはこれがないとプログラミングがまともに出来ない
741 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 23:17:35 ] コマンドプロンプトUTF-8非対応のおかげで、rspecとかautotestで文字化けするから spec_helperとかでモンキパッチで変換かますか、 autotestでCtrl+Cで強制終了してしまうのを我慢してUTF-8対応cygwinターミナル使うかという感じだ。 PowerShellだと表示出来るのかな、試してみるか・・・ 結局、UTF-16に変換かまさないといけなかったらあまりおいしくないなあ
742 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 23:19:46 ] >>740 IDEというか統合環境のいいところは、1つ覚えたら大体他もそれなりに使える、というところじゃないかなぁ? そんなにカスタマイズしなくても馬鹿でも使えるからいいんであって。 emacsとかvimはカスタマイズしないとまともに使えないだろw
743 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 23:22:51 ] エディタとコマンドプロンプトの切り替えにAlt+Tabがあれば基本なんとかなるだろ 必須になる意味がわからん まさかマウスクリックでタスク切り替えしてるのか
744 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 23:27:18 ] >エディタとコマンドプロンプトの切り替えにAlt+Tabがあれば基本なんとかなるだろ そんな環境でプログラミングしてるのか大変だな
745 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 23:29:29 ] >>741 ISEはあくまでPowerShell用の環境 コマンドプロンプトの上位互換的使いかたはできないと思われ もしISEのプロンプトからirbとかしようものなら 延々入力を待ち続けてCtrl+Breakするまで戻ってきますん
746 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 23:30:16 ] エディタカスタマイズ派 統合開発環境派 メモ帳+Alt+Tab派 他には?
747 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 23:30:46 ] 脳内にRubyインタプリタ実装派
748 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 23:33:58 ] cmd.exeでUTF-8の表示だけできれば満足ならプロパティでフォントをMSフォントに変更してchcp 65001してやりゃいい 入力はあきらめた方がいいけど
749 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 23:45:08 ] ここは本スレか
750 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 23:49:27 ] 本スレです。
751 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 00:12:00 ] なんというかココ酷いね
752 名前:デフォルトの名無しさん [2010/03/18(木) 02:39:30 ] rubyで出来たpukiwikiのパーザってありますか?? pukipaはtableが使えないのでダメでした
753 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 02:47:05 ] なんでこんなに粘着アンチは毎日ネガキャンに必死なんだろうな 周囲の環境を否定することでしか自我を保てない哀れな野郎だ
754 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 03:31:29 ] Windows厨なんで開発環境といったら ・メモ帳 ・TeraPad ・RDE ・Eclipse ぐらいしかしらんなぁ IronRubyに限るなら ・SharpDevelop っていうのもありだな 個人的には、RDEが好きなんだが バグが多いのと、開発が止まっているのが難点だな IDEは、どっちかというと、オレのように頭の悪いやつ向けだな オブジェクトがどこにあるとか、どこにどのメソッドがあるとか 解りやすくしてくれる。 ただし、設定が面倒で、動作がもっさりしてる。 そういうのが嫌いなら、TeraPadとかの高機能テキストエディタがいいね 何にも設定しなくても、それなりに見やすい。 動作も、さくさくしてる。 IDE使ってると見落としがちな、Rubyそのものの動作を体感できる。 初心者は逆にこっちのほうが良いかもね。 しばらく、メモ帳つかってメンドクセーって思うようになったら、IDEつかってみたら?
755 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 09:12:18 ] >>748 chcp 65001するとまともに使えない@Vista
756 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 10:53:23 ] そういうのが嫌いなら、TeraPadとかの高機能テキストエディタがいいね ^^^^^^^^^^^^^^^^^^^
757 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 10:59:46 ] >>756 ttp://www.vector.co.jp/vpack/filearea/win/writing/edit/terapad/
758 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 11:01:13 ] メモ用紙で充分
759 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 11:03:56 ] 自由帳と脳内インタプリタでおk
760 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 11:25:58 ] require するファイルがたくさんある場合 thread を使って並列に読み込むと 速くなりますか? 何か副作用はありませんか?
761 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 11:27:54 ] >>760 速くならない
762 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 11:35:30 ] 結局I/Oでブロックされそうだな。
763 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 11:44:42 ] インストール時に1枚のファイルにするようにするとかの気遣いが欲しいところ require 'hoge' するとでっかいひとつ require 'hoge/foo' だと個別
764 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 12:00:57 ] >>761-763 ありがとうございます! >>763 それは自分がライブラリを作って公開する場合の心得ってことですよね
765 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 12:50:22 ] Rubyのスレッドの実装っていまどうなってるんだっけ
766 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 12:55:03 ] >>765 実装の話題は本スレで
767 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 12:57:23 ] じゃあ質問を変えるよ requireに限らず、ボトルネック回避以外の目的にスレッドを使って高速化することはできる?
768 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 12:58:17 ] >>767 できない 少なくとも1.8ではできない
769 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 13:00:38 ] C++で作られているライブラリのバインディングを使っているのですが、 列挙型ってどうすればいいんですか? >Ruby には言語の機能としての列挙型がない。 >ちょっと使いたいことがあって、いくつかのパターンで列挙型ぽく振舞うものを書いてみた。 こんな事を書いてる記事もあるわけですが、いちいちこんなに面倒くさい事をしないとダメなのかな
770 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 14:34:37 ] p true and false #=> true p true && false #=> false なんで? あれなんか凄い勘違いしてる?
771 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 14:44:51 ] >>770 p (true and false)
772 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 14:46:36 ] >>770 演算子の優先順位のせい ttp://www.ruby-lang.org/ja/man/html/_B1E9BBBBBBD2BCB0.html#and p true and false #=> (p true) and false p true && false #=> p false
773 名前:デフォルトの名無しさん [2010/03/18(木) 14:48:24 ] www.ruby-lang.org/ja/man/html/_B1E9BBBBBBD2BCB0.html#and まず、左辺を評価して、結果が真であった場合には右辺も評価します。and は同じ働きをする優先順位の低い演算子です。 and を伴う式をメソッドの引数に渡す場合は二重に括弧が必要となります。
774 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 14:49:36 ] かぶりすぎワロタ
775 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 14:54:56 ] >>771-773 thx 把握した そして and or が嫌いになった condition = hoge and fuga も condition = (hoge and fuga) か condition = hoge && fuga としなきゃいけないわけか
776 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 14:57:11 ] ちなみにPerl5の同様の演算子を踏襲している。 式2つをえせ英語として読めるように書きたいときはand/or を使う感じ。 do(it) || raise; do it or raise;
777 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 15:02:08 ] そだな ttp://perldoc.jp/docs/perl/5.6.1/perlop.pod 集合とかの AND や OR とかのように and や or を使うことはできない 記号優先なのが Perl っぽいといえば Perl っぽいといえなくもなく
778 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 15:02:43 ] a == 0 and b < 0
779 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 15:05:47 ] perl のは or die と書きたかったがためだけにこうしたような気がしてならない
780 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 15:56:10 ] >>779 十中八九そうだと思う・・・
781 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 15:57:03 ] Perl はどうかしらんが Ruby で foo or bar and baz は (foo or bar) and baz なので注意。 foo || bar && baz は foo || (bar && baz)
782 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 17:03:27 ] RubyもPHPみたいにCGIとして動作させることができるの?
783 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 17:05:01 ] もちろん
784 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 17:15:00 ] Rubyというか 標準出力を吐けるものならなんでもCGIで使用可能 むしろCGIって名前自体がそういう意味なんだと思うけど httpdでハンドラが適切に設定されている必要はある
785 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 17:29:01 ] >>782 ただしすこし遅い PHPやPerlより確実に遅い(mod_rubyでも素のPHPに勝てるか怪しい) 遅くてもいいようなまったり用途向け
786 名前:デフォルトの名無しさん [2010/03/18(木) 17:29:44 ] Full Book Now Available For Free! blog.rubybestpractices.com/posts/gregory/022-rbp-now-open.html sandal.github.com/rbp-book/pdfs/rbp_1-0.pdf
787 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 17:31:38 ] >>783-784 サンクス それ出来るならちょうどよかった PHP以外に何か軽くでも使えるように勉強しようと思ってたんだ
788 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 17:44:01 ] Perlすらgeekしか知らないような頃、CでCGI書いてる会社の先輩が いて、あきれるやら感心するやら。 # もちろんCで書くことが必要な状況ならそうすべきだけど。
789 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 17:53:38 ] なぜあきれるやら関心するやらなのか解りかねる。
790 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 17:56:59 ] 感心ならともかく呆れるのは理解できない
791 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 18:00:13 ] rubyでcgi書いててそこから呼ぶモジュールはがんがんCで書いてたなあ
792 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 19:17:07 ] >>754 つvim
793 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 19:55:06 ] つい先日もCでCGIを書く仕事があった。 非常にアホ臭いとは思ったが、呆れるとか感心するとかいうようなものでもないな。
794 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 20:04:24 ] で?
795 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 00:02:39 ] 文字列:ABC=DEFG パターン:ABC 文字列がABCから始まるかを調べる方法ありませんか?
796 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 00:04:32 ] /\AABC/
797 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 00:06:41 ] >>796 それで理解できる人はそういう質問はしないと思う str = "ABC=DEF" if /\AABC/ =~ str then puts "ABCから始まっています" else puts "ABCから始まってません" end 「正規表現」についての知識は必須なので、 使いやすい簡単なのだけは覚えておくといい
798 名前:795 mailto:sage [2010/03/19(金) 00:09:40 ] >>797 これくらいの事なら、メソッドで準備されているかな?と思ったので
799 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 00:11:05 ] こういうのも。 s = 'ABC=DEF' s.start_with?('ABC') #=> true
800 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 00:12:36 ] 正規表現で簡単にできる「これくらいの事」をすべて メソッドで装備していたらかなり煩雑だと思う
801 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 00:13:45 ] >>800 そこから先は本スレでどうぞ
802 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 00:14:31 ] ruby -e 'p String.instance_methods - Object.instance_methods' とかやって、それっぽい名前のメソッドがないか探してみるのもよい。
803 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 00:16:35 ] >>799 はRuby1.8.7以降とRuby1.9.1以降限定 初心者的に大きな問題はないとは思うが >>800 String#include?さんなめんあ
804 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 00:19:18 ] start_with? なのか starts_with? 派との間で血みどろの抗争が繰り広げられたに違いない
805 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 00:21:37 ] >>804 ruby的には、is_a? 以外は原形不定詞を使うとかいう約束だったと思う。 三単現派は ActiveSupport を使えば starts_with? を定義してくれる。
806 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 00:25:24 ] JavaはstartsWith, endsWithなんだな >>805 なるほど この場合主語が単数なのはほぼ異論無いとして、一人称なのか二人称なのか三人称なのか。 意外と深い?のでその原則は結構ナイスかも。 って日本人ユーザからすると面倒なだけとか。
807 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 00:27:07 ] >>804 1.9から降りてきて1.8.7からだよなという確信が持てなくて検索したとき 最初は starts_with? でやったことは秘密だ ttp://blade.nagaokaut.ac.jp/cgi-bin/vframe.rb/ruby/ruby-talk/216680?216576-217484
808 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 00:33:55 ] is_a? との類推で三単現にしてしまうんだよなあ まったく is_a? は鬼っ子だ 初心者の皆さんにおかれましては is_a? は表記的に時代遅れなので kind_of? 使ってくださいね
809 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 00:36:36 ] >808 is_a? と kind_of? は意味が違うことをわかってんの?
810 名前:804 mailto:sage [2010/03/19(金) 00:39:03 ] >>805 興味深いマジレスありがとう 原型不定詞ってなんだっけってなったのは内緒
811 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 00:42:42 ] >>809 横からだけど、kwsk 古いのと一応最新ぽいのでも同じ扱い(てか丸移し)だけど、違うの? ttp://www.ruby-lang.org/ja/man/html/Object.html#is_a.3f ttp://doc.okkez.net/static/191/method/Object/i/kind_of=3f.html
812 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 00:47:43 ] >>809 あまり is-a と kind-of を区別してるとは思えないし、そもそも実装上区別してねえ んなこと言うなら is_a? から kind_of? と instance_of? の機能を、kind_of? から instance_of? の機能外せ
813 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 00:48:17 ] instance_of? と混ざったかな?
814 名前:804 mailto:sage [2010/03/19(金) 00:49:18 ] >>807 d。読んできた 他の名前との一貫性からstart_withになったけど Pythonに敬意を表してstarts_withにするのしないのって話もあったのかw
815 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 01:42:41 ] File.exist? File.exists? みたいに両方あるのもあるよね。
816 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 01:46:21 ] ポリシーのまったく無かった時代の古いメソッドだな まあ今もポリシーとか薄いけど
817 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 01:59:49 ] だからRubyは汚いんだよ。 Pythonの美しさをみ・・Pythonも似たようなもんか。
818 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 02:04:58 ] メソッド(に相当するもの)の名前のつけ方は似たようなもんだな どこも決定打に欠ける 永遠の問題なのかもしれない
819 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 06:22:30 ] rubyはCASを目指しているのですか?
820 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 06:39:55 ] カス
821 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 07:20:02 ] そろそろrubyの次の言語で再出発する季節だな。 今度はguiとideとrails標準で。
822 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 08:16:52 ] こうして >>821 は旅立って行ったのであった。 ー完ー
823 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 10:52:45 ] アップキャストとダウンキャストがないから不便だ
824 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 11:02:38 ] e-
825 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 13:03:05 ] wxRubyをいじってみたくて導入しようとしたら cygwin用が用意されてなくてコンパイルもそのままじゃ出来なかった ↓みたいに_rb_〜〜が見つからないって大量に言われるんだけど Rubyのソースとか必要なのか?どっかのパス指定ができてないだけなのか? /home/hoge/wxruby-2.0.1/src/Icon.cpp:1410: undefined reference to `_rb_define_class_under' /usr/lib/ruby/1.8/i386-cygwin/ruby.h:697: undefined reference to `_rb_cFixnum' 色々いじってコンパイルしてみてるけど諦めてRuby自体mswinにするか・・・
826 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 13:10:31 ] Makefile とか configure 読めないのに cygwin 使おうとする男の人って…
827 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 13:16:42 ] なんかインストールだけでなく運用自体が茨の道のようにも見える mswin32でやったほうがよさそうなふいんき
828 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 13:23:04 ] >>826 そりゃここでこちょこちょ勧める人がいるからだろ ぶっちゃけ初心者にはcolinux+Debianとか勧めておけばいいのに cygwinはwin,*nix両方知らなきゃいけないから難しいよ
829 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 13:23:31 ] >>825 こういうひとってなんでRubyやめようと思わないのかな
830 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 13:25:06 ] はじめに Ruby ありきなんだよな 目的と手段を取り違えるタイプ
831 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 13:26:35 ] >>828 俺は勧めてないしテンプレにも一文字もないぞ >>830 Rubyで遊んでみるのが目的なのに他の手段でウィンドウ作ってどうする
832 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 13:51:22 ] 色々勉強足らずのようなので精進します Rubyありきなのはどうしようもないですがcygwinありきだった点を直そう おとなしくmswin32でいじることにします
833 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 13:52:10 ] 「Rubyの初心者」のスレなのに 「プログラムの初心者」と決めつけて・勘違いして回答してるのが何人かいるな
834 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 13:55:21 ] >>833 「OS操作や他言語プログラミング等にある程度造詣があってRubyに挑戦しようとしてる人」 の質問はそれなりに洗練されている そういうような質問にはそれなりの回答が返ることが多い プログラミング経験者なのにPC初心者向けな回答をされたという場合は そりゃ質問の書き方がまずいのだろ
835 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 14:14:38 ] >>829 なんでRubyやめようと思うと思うの?
836 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 14:32:24 ] なんでRubyやめようと思うと思わないの?
837 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 14:42:45 ] 思わないことに理由を求められても
838 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 14:53:56 ] >>837 このひとはなにもかんがえてません ずっといます
839 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 15:04:33 ] いったい誰と戦っているんだ
840 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 15:07:15 ] 中高生の春休みにはまだちょっと早いと思うんだが、 ここ数日どのスレもなんか雰囲気違うな
841 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 15:13:29 ] もっと簡単に使えるrubyみたいな言語が有ればいいのにね。 visual rubyとかmsが用意すればいいのに。
842 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 15:14:59 ] 諦めきれずにやってたらインストールできた 単純に-lrubyが足りなかっただけでした やっぱり次につまずくまでcygwinで行こうと思います
843 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 20:39:12 ] >>841 簡単に使えるってどういう意味よ。
844 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 22:09:24 ] るび厨って未だにema糞だから言語、エディタ、デバッガ、ライブラリ、ドキュメントが 高度に統一された環境がどれほど快適であるか理解できないんだろうね。
845 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 22:11:15 ] Rubyを使ってない人がなんでこのスレにいるの?
846 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 22:30:11 ] かまってくれるからだろう
847 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 22:59:43 ] 1.9 への覚悟を決めた さっき 1.8.7 を入れた