1 名前:デフォルトの名無しさん mailto:sage [2010/01/28(木) 08:39:14 ] プログラミング言語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を読め」でいいので、叩かない&怖がらせない。 ・わけわかな質問にもエスパー発揮で。できれば質問の仕方を教えるぐらいで。 ・自信がない回答ならその旨表明すること。誤った回答は初心者じゃ見抜けない。
612 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 23:14:40 ] .. (. . ) ,―ヽ__(__、― ,/ ノ ヽ ~\ / ノ IPA ヽ ~\ / ノ ヽ、 `ヽ | ノ / ̄\ / ̄~ヽ ヽ i | ノ | ノ \ | <●> <●> ( ) \ | | | i / | / ヽ レ i (●_●) / i、 ,-――-、 ・ / i、 <(EEEEE)> ∵/ IPA Rubyスレは誰でもウェルカム i、 \ ./ / \ ーー ,ノ ,,.....イ.ヽヽ、ー-―一ノ゙-、. : | '; \_____ ノ.| ヽ i | \/゙(__)\,| i | > ヽ. ハ | ||
613 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 23:18:26 ] >>612 いつも思うんだけど この人だれ??
614 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 23:21:18 ] ミスターつこうた
615 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 23:33:15 ] >>613 こいつにレスしたのお前だけだぞ
616 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 23:39:16 ] 申し訳ごめんなさい。
617 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 01:44:24 ] 絶対にゆるさない
618 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 19:54:41 ] StarRuby今落としたんですが この板にスレッドが無いのが気になりました。 ゲーム開発用であんまり需要無いんですか?
619 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 20:03:48 ] ありませんというかそもそもゲーム製作専用系は板違い 【Ruby/SDL他】Rubyでゲーム制作・総合スレッド ttp://pc11.2ch.net/test/read.cgi/gamedev/1207069887/
620 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 21:07:28 ] >>595 手軽に短くかっこよくツールが書けること。 あと、Rails
621 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 21:11:38 ] Pythonから来ました。 自分用のプログラムを書くときに、クラス定義のときに組み込みクラスを オーバーライドするのが怖いので、トップレベルにMyAppみたいな名前の モジュールを作ってから、その中にクラスを定義しているのですが、 これはRuby文化に反するのでしょうか? また、Pythonのように、組み込みクラスはすべて、Builtin::String, Builtin::Arrayみたい になってたらなあ、と思ったのですが、何故こうなっていないのでしょうか?
622 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 21:36:19 ] 適当なモジュールでくるむのは普通に行われているし、実質推奨になっている まあ、それ自体が被る可能性もあるが > 何故こうなっていないのでしょうか? めんどくさいから …まあ、オープンクラスっても限度あんだろ、とはみんなちょっと思ってはいる ある意味初期の見通しミスをずるずる引きずってるわけで
623 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 21:57:05 ] 本当のところはMatzに聞かなきゃ分からんが、 デメリットを勘案の上でオープンクラスを選択したのは間違いないわけだから 設計意図どおりだと思うけどなあ オープンクラスの影響範囲を押さえ込む名前空間システムが 検討されてるらしいが、いつ実装になるやら
624 名前:621 mailto:sage [2010/02/18(木) 21:59:30 ] >>622 むしろ推奨でしたか。安心しました。有り難うございます。 トップレベルにすべての組み込みクラスがあるのは面倒くさいから。。。 実にRuby的だなと思いました(笑)。いいですね。 もし初期の見通しをひきずっているのなら、Ruby2.0なんてのが出る時には 改善されるかもしれませんね。
625 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 22:05:47 ] いわゆる Std:: を使わないのはオープンクラス主義と反するからであるのは間違いない
626 名前:621 mailto:sage [2010/02/18(木) 22:08:53 ] >>623 オープンクラスなのは、メリットがとても大きいと思うので気にならないのですが、 どうして、組み込みをすべてトップレベルにしてあるのかなと思ったのです。 自分用のクラスを定義するときには、組み込みクラスの名前はすべてすでに使われているわけで、 名前空間がクリーンじゃないなと。 > オープンクラスの影響範囲を押さえ込む名前空間システム そんなのが実現したらすごそうですね。
627 名前:デフォルトの名無しさん [2010/02/18(木) 22:22:54 ] selector namespace だっけ?
628 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 22:30:06 ] python も str = 'hoge' みたいなことすると あほなことになるが
629 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 22:45:07 ] それは__builtins__.strを上書きしてるわけじゃないから、 モジュール外に被害は出ないだろ。
630 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 01:20:07 ] lambdaについて lambdaはreturnがクロージャから戻り、また引数チェックを行うprocというところまで理解しました。 ですが、このlambdaメソッドはどのように定義されているのでしょうか? 引数チェックはなんとなくメタプログラミングでできそうな気がするのですが、returnの挙動を変える なんてことができるのでしょうか? Cで実装されているのかもしれませんが、もしRubyで実装するとすればどのようになるのか教えてください。
631 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 01:23:39 ] クラスメソッドを定義しようとして def Fixnum.bar end と書いたら 1.bar で NoMethodError: undefined method `bar' for 1:Fixnum になります。どうすればいいんでしょうか?
632 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 01:31:22 ] >>631 1.class.bar Rubyのクラスメソッドは、その定数で表されるclassオブジェクトのインスタンスメソッドという程度の意味しかない
633 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 01:31:51 ] クラスメソッドはインスタンスからは呼べないんじゃないの? 1はFixnumクラスのインスタンスだし。 とりあえず、クラスメソッドと定義しているわけだから Fixnum.barとすれば動く。 もし、1.barという風に実行したかったのなら クラスメソッドではなく、インスタンスメソッドを定義したかったのだという事になる。
634 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 01:35:49 ] >>630 >このlambdaメソッドはどのように定義されているのでしょうか? Proc.new 本当に理解したければBindingオブジェクトの知識が要ると思う
635 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 01:40:35 ] インスタンスメソッドを定義したかったのでした
636 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 01:51:27 ] >>635 それなら class Fixnum def bar puts "bar" end end と書いて、1.barとすればいい
637 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 01:53:33 ] Fixnumにメソッド追加するのはおおむねキモいけどな キモいと自分で感じるまではこれは仕方ない 便利に使うといい
638 名前:630 mailto:sage [2010/02/19(金) 01:54:53 ] >>634 Proc.new == Kernel#procですよね?(Ruby1.9) Bindingオブジェクトは雰囲気だけは分かります。どうか教えてください。 returnの挙動をどうやってメタプログラミングしたのかが知りたいのです。 すみません。
639 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 02:10:55 ] あー何度もすみません。特異クラスがおおもとの疑問でした。(試行錯誤の中で>>631 へ) 特異クラスの動作を見てみようと a = 1 def a.foo end とすると TypeError: can't define singleton method "foo" for Fixnum となるのでどうすればいいのかなと
640 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 02:20:38 ] >>639 俺もあまり詳しくないが、とりあえずFixnumとかSymbolとかは特異クラスが定義できない。 a = 1 b = 1 としたときにaとbのobject_idが同じ(aもbも同じオブジェクトを指す)になるのと関係あると思う。 String等その他大勢では a = 'foo' b = 'foo' とするとaとbは違うオブジェクトを指すし、これらには特異クラスが定義できるはず。
641 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 02:21:31 ] >>639 Fixnux/Symbol/Nil/True/Falseあたりは処理効率の都合で特殊な実装になってるから その手の実験では避けた方がいい
642 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 02:23:12 ] >>638 わああめんどくせえええ 一応ここはCで書いてあるはず local_jump_error使ってるんじゃなかろうか 本スレ行き
643 名前:638 mailto:sage [2010/02/19(金) 02:28:13 ] >>642 すみません。わああ眠れねええって感じでしたので(笑)。 うは、LocalJumpErrorですか。なんかニオイますね。 初心者なのに、変なところに首を突っ込んでしまったようです。
644 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 07:31:17 ] 分かりました。ありがとうございました
645 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 09:02:57 ] RubyForgeってところでrubyインストーラー落とせると公式に書いていますが rubyinstaller-1.8.7-p249-rc2.exe これを落としたいのですが10Mに7時間とかかかるんですが 他に落とせる所は無いんですか?
646 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 09:50:54 ] なんとなくRubyでゲーム書いてみたくなったんだけど 2Dで手軽にって感じだと何のライブラリ使うのがいいかね?
647 名前:デフォルトの名無しさん [2010/02/19(金) 10:24:06 ] SDL Miyako(SDL使用) 書籍あり RPGツクール(古いか) くらい?
648 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 10:27:01 ] >>645 回線速度で割り算して妥当でないなら時間置いてやり直せ 10MBくらいのファイルなのはRubyならどこも同じ
649 名前:645 mailto:sage [2010/02/19(金) 10:33:33 ] ブロードバンドスピードテスト 通信速度測定結果 www.bspeedtest.jp/ v3.0.0 測定時刻 2010/02/18 10:27:07 回線種類/線路長/OS:光ファイバ/-/Windows XP/- サービス/ISP:-/- サーバ1[N] 23.7Mbps サーバ2[S] 25.8Mbps 下り受信速度: 25Mbps(25.8Mbps,3.22MByte/s) 上り送信速度: 17Mbps(17.6Mbps,2.2MByte/s) これで7時間とかおかしいと思うんですがなんででしょうか firefoxとか関係ないですよね 昨日の12時ぐらいにやっても同じだったんでなんででしょう
650 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 10:37:40 ] >>643 何か目的があるの? 例えばthreadでeachのようなものを定義してreturnしたいとか?
651 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 10:41:16 ] >>649 こっちは転送率通常 回線経路の問題かも 現在のRubyInstallerはrubygemパッケージで未対応が存在するMinGW32版だけどその覚悟はある?
652 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 11:04:06 ] >>612 ぐぐっても見つからないんだが、どこにあるの?
653 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 11:06:45 ] >>652 こいつにレスしたのお前が2番目だぞ
654 名前:645 mailto:sage [2010/02/19(金) 11:17:08 ] 他のPCでも試してみます >現在のRubyInstallerはrubygemパッケージで未対応が存在するMinGW32版だけどその覚悟はある? これの意味がよくわかりませんが初心者なのでテンプレ通り1.9.1やめて1.8.7落とそうと思ってます。 rubyinstaller-1.8.7-p249-rc2.exe ←これでいいんですよね? star rubyってのをやりたいんですけどこれはrubyの拡張ライブラリ?っていう位置付けでいいんですか?
655 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 11:37:33 ] しかしなんでわざわざRubyなんかでゲーム作ろうと思うんかね 「○○がRuby経由でもできるようっひょー」が目的であって、Rubyから○○を学ぶのには基本不適だろうに >>654 arton.hp.infoseek.co.jp/indexj.html こっちの入れれ
656 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 15:16:08 ] $KCODE ='s' p Dir.entries(Dir.pwd) とやると [".", "..","う\202\311", "しのり\202\361", "すず\202\310"] こんなのが返ってくるのですが$KCODE以外に何をすれば日本語フォルダを扱えるのでしょうか? WindowsXP SP3 Rumixで導入した1.8.7を使ってます
657 名前:645 mailto:sage [2010/02/19(金) 15:32:08 ] activescriptrubyインストールできましたありがとうございます hello_world表示できました エディタがあるようですがRDEとかRDTがあるようですが みたかんじRDEがとっつきやすそうにググったら見えたんですが RDEでいいんでしょうか?
658 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 15:39:02 ] あー、Shift_JISでも起こるのか 早めに改定出して欲しいなあ >>656 内部的には普通に扱えてる p は内容そのものではなく、画面に表示しやすいように整形してから表示する しかもバグがあって最後に日本語文字があると必ず化ける putsで表示してみ
659 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 15:40:50 ] >>657 どっちも別にエディタじゃない気がするが、どうしてもどっちかを使いたいのならRDEでいいよ
660 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 18:12:36 ] >>658 バグですか こっちはこっちで勘違いしたことやってたので全く気づきませんでしたw ありがとうございます
661 名前:デフォルトの名無しさん [2010/02/19(金) 21:30:25 ] 文字コードを変換して読み書きしてくれるFIleクラスのラッパーライブラリってありますか? イメージとしては SjisFileWriter.open(path, "utf-8") do |file| file << utf8string end とすると、sjisに変換して書き込んでくれるようなものを期待してます。 closeするまでStringIOに溜め込んで一気に変換しようとしたのですが、 データが大きくてサーバーがパンクするのであきらめました。 もしかしてコツがあって、こういうのは簡単に書けるものなんでしょうか?
662 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 21:35:25 ] 改行があるのなら、改行ごとに読み込んで改行ごとに文字エンコーディングを変換して最後に連結すればいい
663 名前:デフォルトの名無しさん [2010/02/19(金) 21:51:24 ] 1.9だと希望とほぼ同等のことが出来るんだけどね。 1.8の場合、文字の途中をどうするかといったことを考えずにやるなら 出力に使うメソッドをひととおりコード変換するようにオーバーライド すればよいと思う。 writeだけのオーバーライドでいいのかな。
664 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 21:53:08 ] >>661 1.8 と 1.9 で対処が変わってくると思うので Ruby のバージョン教えれ
665 名前:デフォルトの名無しさん [2010/02/19(金) 21:59:19 ] >>662 Fileクラスの振りをしてそういうことをするには、どんな風なコードを書けばいいのでしょうか? FasterCSVは内部で、 @io << row.map(&@quote).join(@col_sep) + @row_sep # quote and separate こういうことをやっているので、コンストラクタで@ioに渡してあげると 書き込みのタイミングでエンコーディング変換してくれる Fileオブジェクトがあればいいなと思っています。
666 名前:デフォルトの名無しさん [2010/02/19(金) 22:00:39 ] >>663 , 664 すみません、リロードしてませんでした。 Rubyのバージョンは1.8.7です。
667 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 22:03:48 ] これはひどい
668 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 22:04:38 ] すいませんリロードしてませんでした >>667 は>>663 についてです
669 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 22:09:39 ] これはひどい
670 名前:661 mailto:sage [2010/02/19(金) 22:10:20 ] もしかしてこんなのでいいんでしょうか?動くかちょっと試してみます。 class SjisFileWriter < File def <<(str) str.kconv(Kconv::UTF8, Kconv::SJIS) end end
671 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 22:12:03 ] すいませんリロードしてませんでした >>669 は>>668 についてです
672 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 22:13:13 ] これはひどい
673 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 22:15:56 ] 末尾再起スレでやれ
674 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 23:23:37 ] なんなんだこの流れはw
675 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 15:25:28 ] 二次元配列的クラスを定義して配列の配列と透過的になるよう要素に a[i][j] のようにアクセスできるようにしたいんですがどうすればいいでしょうか?
676 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 16:26:07 ] >>675 無理 …いや、2次元くらいなら無理じゃないんだが、 その見栄えを保持するためだけに計算する遅いクラスになるぞ NArray の a[i, j, k] みたいな記法じゃだめですか
677 名前:デフォルトの名無しさん [2010/02/20(土) 17:59:39 ] プログラマ三大美徳というものがありますが Rubistにもそういったものがあるのでしょうか?
678 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 18:05:30 ] 誰かの発言に影響されるのは嫌い。
679 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 18:09:12 ] >>677 なにもない というか > Rubist というようなものがない Railsやってる人とは仲悪いし
680 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 18:30:08 ] Railist vs Rubyist
681 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 20:07:31 ] >>676 ありがとうございました。 配列の配列ですでに書いてある奴をクラスに直したいなと思ったもので。
682 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 21:51:45 ] > Railist むしろレースウェイズと呼びたくなるファミスタ脳。
683 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 22:28:14 ] Railsint(笑) ポッポ屋でいいだろw
684 名前:682 mailto:sage [2010/02/20(土) 22:37:43 ] 今さら誤字に気付いた。レイルウェイズだな。 オリックスと近鉄が合併するって時にゲームファンの誰もが口にしたっけ。
685 名前:デフォルトの名無しさん mailto:sage [2010/02/22(月) 02:19:19 ] こんなコードを書きまんた ---------------------------------------- # test.rb class Foo def initialize(&func) @func = lambda(&func) end def bar(x) @func.call(x) end end foo = Foo.new{ |x| return x**2 } p foo.bar(2) ---------------------------------------- いごきました $ ruby -v ruby 1.8.7 (2009-06-12 patchlevel 174) [i686-darwin10] $ ruby test.rb 4 いごきませんでした $ ruby1.9 -v ruby 1.9.1p376 (2009-12-07 revision 26041) [i386-darwin10] $ ruby1.9 test.rb test.rb:11:in `block in <main>': unexpected return (LocalJumpError) from test.rb:6:in `call' from test.rb:6:in `bar' from test.rb:13:in `<main>' どうして?
686 名前:デフォルトの名無しさん mailto:sage [2010/02/22(月) 03:16:26 ] >> 685 難いww とりあえず、lambdaとprocの違いはreturnの挙動の違いだよな。 そのreturnの挙動を決めるタイミングが1.8と1.9で違うんじゃね?
687 名前:デフォルトの名無しさん mailto:sage [2010/02/22(月) 08:22:09 ] ttp://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/35167 ここらへんのか
688 名前:デフォルトの名無しさん mailto:sage [2010/02/22(月) 10:53:49 ] んじゃ1.8と1.9両方で美味しく動作する foo = Foo.new{ |x| return x**2 } p foo.bar(2) を実装するにはどうしたらいいんだべ? foo = Foo.new(lambda{ |x| return x**2 } p foo.bar(2) なら作れたけどラムダラムダ五月蝿い感がある。
689 名前:デフォルトの名無しさん mailto:sage [2010/02/22(月) 11:03:02 ] ブロックの中で最後に評価された式の値が暗黙で返るのを利用するのがエレガントだと思う
690 名前:デフォルトの名無しさん mailto:sage [2010/02/22(月) 11:27:33 ] 仕事でlambda使うケースなんて滅多にないけどな
691 名前:デフォルトの名無しさん mailto:sage [2010/02/22(月) 11:32:27 ] class Foo def initialize @func = lambda end def bar(x) @func.call(x) end end foo = Foo.new{ |x| return x**2 } p foo.bar(2) イケルがなぜか -:3: warning: tried to create Proc object without a block と出る
692 名前:デフォルトの名無しさん mailto:sage [2010/02/22(月) 11:52:51 ] なぜかもなにもそのまんまの理由だと思うが
693 名前:デフォルトの名無しさん mailto:sage [2010/02/22(月) 12:33:42 ] >>692 class Foo def initialize @func = proc end def bar(x) @func.call(x) end end foo = Foo.new{ |x| x**2 } p foo.bar(2) だと警告がでないのはなんで?
694 名前:デフォルトの名無しさん mailto:sage [2010/02/22(月) 12:36:28 ] lambdaとproc(とProc.new)は処理が違う
695 名前:デフォルトの名無しさん mailto:sage [2010/02/22(月) 12:38:29 ] Rubyのめんどくさいとこベスト3に入るところだな きちんとした解説ページとかないものか
696 名前:デフォルトの名無しさん mailto:sage [2010/02/22(月) 15:12:28 ] # ruby 1.8.7 (2010-01-10 patchlevel 249) [i386-mswin32] p lambda{return 0}.call #=> 0 p lambda(&lambda{return 0}).call #=> 0 p lambda(&proc{return 0}).call #=> 0 # ruby 1.9.1p378 (2010-01-10 revision 26273) [i386-mswin32] p lambda{return 0}.call #=> 0 p lambda(&lambda{return 0}).call #=> 0 p lambda(&proc{return 0}).lambda? #=> false p lambda(&proc{return 0}).call #=> unexpected return (LocalJumpError) 1.9だとKernel.#lambdaにprocを渡すとprocが帰ってくるんだな 仕様なのかBUGなのか
697 名前:デフォルトの名無しさん mailto:sage [2010/02/22(月) 15:14:30 ] &lambdaは&lambdaの誤りね
698 名前:デフォルトの名無しさん mailto:sage [2010/02/22(月) 16:44:02 ] 自分は組込みの仕事なのでCを使っているんだけど、 Rails以外で仕事でRubyを使う場合、どんなものを 作っているの?
699 名前:デフォルトの名無しさん mailto:sage [2010/02/22(月) 17:13:17 ] 自分の効率アップ用途以外には使わない俺スクリプト 仕事に使う中間物の生成プログラム 社内オンリーの更新頻度が高い内製プログラム Rubyソースコードを商品にすることはほぼ確実にない Rubyスクリプトが作り出したものを売ったり配ったりすることも少ないかと なくても無論なんとかなるしプロダクト自体には全く影響しないが、能率ががくっと落ちる もちろん本質的にはRubyでなくてもよい PerlやPython、JavaやC++(えー)で超速く安定に作れるならむしろそっちのほうがよい
700 名前:デフォルトの名無しさん mailto:sage [2010/02/22(月) 17:23:18 ] >>699 なるほど、製品レベルとなるにはまだ先のことですかね。 自分にとって現時点ではRubyは業務とは無縁の存在だけど 勉強はしておこう。
701 名前:デフォルトの名無しさん mailto:sage [2010/02/22(月) 17:25:26 ] プログラマーズベストフレンドという文言がそのまんまだな 言語オフィシャルレベルでこれを標榜してる傲ま…いや野心的なところは見たことがない 配布ライブラリなんかで言ってるところは少なくないんだけど ttp://www.google.com/search?num=50&hl=en&lr=&q=%22a+programmer%27s+best+Friend%22
702 名前:デフォルトの名無しさん mailto:sage [2010/02/22(月) 17:30:15 ] > 製品レベルとなるにはまだ先のことですかね 永遠にないんじゃないかなあ、と最近思ってる そういう方向には進化してない気がするし、製品を作ろうとしないほうがうまくコード書ける気がする Eclipseがなくても製品は作れるが、ないと死ぬ、そんな位置にRubyが入り込むんじゃないかと
703 名前:デフォルトの名無しさん mailto:sage [2010/02/22(月) 21:33:03 ] matzもRubyは同僚に差をつける秘密兵器として使ってほしいとか なんとか昔言ってたしな。
704 名前:デフォルトの名無しさん mailto:sage [2010/02/22(月) 21:43:16 ] Rubyに関わったせいで同僚と差がついてしまいましたorz
705 名前:デフォルトの名無しさん mailto:sage [2010/02/22(月) 21:53:08 ] Rubyでプログラミングしてると「何とかして面白いコードは書けないか」と、そこに注力して仕事が進まないんだが。 どうしてくれる!Matzは責任とれ!
706 名前:デフォルトの名無しさん mailto:sage [2010/02/22(月) 21:53:35 ] 他社に差をつける秘密兵器だと思ってた時期がおれにもありました
707 名前:デフォルトの名無しさん mailto:sage [2010/02/22(月) 21:58:44 ] >>706 間違いじゃないけどね 全員がRuby相当のものを修めてる会社は強いはずだ
708 名前:デフォルトの名無しさん mailto:sage [2010/02/22(月) 22:00:55 ] しかしつまらんスレだな
709 名前:デフォルトの名無しさん mailto:sage [2010/02/22(月) 22:03:43 ] ま、ここはRubyの開発者が名無しで書き込むスレだからな。
710 名前:デフォルトの名無しさん mailto:sage [2010/02/22(月) 22:13:20 ] 何かこうエロい話題は無い物か。
711 名前:デフォルトの名無しさん mailto:sage [2010/02/22(月) 22:16:47 ] おっぱいクラスとか作れば?
712 名前:デフォルトの名無しさん mailto:sage [2010/02/22(月) 22:43:44 ] >>710 このスレに何を求めてるんだw
713 名前:デフォルトの名無しさん mailto:sage [2010/02/22(月) 22:45:02 ] Rubyのアイコンが亀甲縛りに見えるぐらいしか思いつかない
714 名前:デフォルトの名無しさん mailto:sage [2010/02/23(火) 01:33:59 ] >>711 おまえのエロの限界はおっぱいまでなのか? しかも虚構のおっぱいクラス
715 名前:デフォルトの名無しさん mailto:sage [2010/02/23(火) 02:22:29 ] エロい話題のところすみません 半年ほど前は普通にgem installできていたはずなのですが、つい最近gemを新たにupdate、installしようとすると以下のようなエラーが出るようになりました $ sudo gem install hogehoge ERROR: While executing gem ... (Errno::EEXIST) File exists - /opt/local/bin/gem 環境はMac OS X(10.4.11)で、 RubyGems Environment: - RUBYGEMS VERSION: 1.3.5 - RUBY VERSION: 1.8.7 (2010-01-10 patchlevel 249) [i686-darwin8] - INSTALLATION DIRECTORY: /opt/local/bin/gem/: - RUBY EXECUTABLE: /opt/local/bin/ruby - EXECUTABLE DIRECTORY: /opt/local/bin/gem/:/bin - RUBYGEMS PLATFORMS: - ruby - x86-darwin-8 - GEM PATHS: - /opt/local/bin/gem/: - /Users/******/.gem/ruby/1.8 - /opt/local/lib/ruby/gems/1.8 - GEM CONFIGURATION: - :update_sources => true - :verbose => true - :benchmark => false - :backtrace => false - :bulk_threshold => 1000 - :sources => ["gems.rubyforge.org/ ", "gems.github.com "] - REMOTE SOURCES: - gems.rubyforge.org/ - gems.github.com です
716 名前:デフォルトの名無しさん mailto:sage [2010/02/23(火) 02:28:35 ] エラーが出るようになったのはわかった。で?
717 名前:デフォルトの名無しさん mailto:sage [2010/02/23(火) 02:37:30 ] /opt/local/bin/gem か /opt/local/bin/gem/ の権限がおかしいように見える
718 名前:デフォルトの名無しさん mailto:sage [2010/02/23(火) 02:53:53 ] >>717 opt/local/bin以下をls -lしたところgemは -rwxrwxr-x 2 root admin 548 Feb 15 15:18 gem となっていますがrootではなくユーザー権限の方がいいのでしょうか
719 名前:デフォルトの名無しさん mailto:sage [2010/02/23(火) 04:06:02 ] 権限をユーザ名にしてみたり-rwxrwxrwxにしてみたりしましたがやはり状況は変わりませんでした なんとなく - INSTALLATION DIRECTORY: /opt/local/bin/gem/: の部分が /opt/local/lib/ruby/gems/1.8 になるべきなんじゃないかという気がしてきたので今後はそちらから攻めてみようと思います /opt/local/bin/gemは実行ファイルなのでDIRECTORYっておかしいですよね…
720 名前:715 mailto:sage [2010/02/23(火) 04:53:36 ] 連投すみません GEM_HOME変えたら直りました 昔入れたrailsとかも全部こっちに入ってたのでいつの間にか変更されてたみたいです ご協力ありがとうございました
721 名前:デフォルトの名無しさん mailto:sage [2010/02/23(火) 15:00:19 ] オッパイクラス マダー?
722 名前:デフォルトの名無しさん mailto:sage [2010/02/23(火) 22:20:30 ] Ruby2.0まで待て