タグ付けされた質問 「ruby」

Rubyは、マルチプラットフォームのオープンソースの動的オブジェクト指向インタープリタ言語であり、1995年に松本幸宏(Matz)によって作成されました。[ruby]タグは、Ruby言語に関連する質問(構文やライブラリなど)を対象としています。Ruby on Railsの質問は[ruby-on-rails]でタグ付けする必要があります。


18
gemインストール:gemネイティブ拡張のビルドに失敗しました(ヘッダーファイルが見つかりません)
私はFedora 14を使用していますが、MySQLおよびMySQLサーバー5.1.42がインストールされ、実行されています。今私はrootユーザーとしてこれをやろうとしました: gem install mysql しかし、私はこのエラーを受け取ります: Building native extensions. This could take a while... ERROR: Error installing mysql: ERROR: Failed to build gem native extension. /usr/bin/ruby extconf.rb mkmf.rb can't find header files for ruby at /usr/lib/ruby/ruby.h Gem files will remain installed in /usr/lib/ruby/gems/1.8/gems/mysql-2.8.1 for inspection. Results logged to /usr/lib/ruby/gems/1.8/gems/mysql-2.8.1/ext/mysql_api/gem_make.out ここで何が問題になっていますか?インストールされているruby …
356 mysql  ruby  rubygems 

7
aliasまたはalias_methodを使用する必要がありますか?
aliasvsのブログ投稿を見つけましたalias_method。そのブログの投稿の例に示されているように、同じクラス内の別のメソッドにエイリアスを付けたいだけです。どちらを使用すればよいですか?私はいつもalias中古品を見ていますが、誰かが私alias_methodに良いと言った。 エイリアスの使用 class User def full_name puts "Johnnie Walker" end alias name full_name end User.new.name #=>Johnnie Walker alias_methodの使用法 class User def full_name puts "Johnnie Walker" end alias_method :name, :full_name end User.new.name #=>Johnnie Walker ブログ投稿リンクはこちら
353 ruby  alias 


9
Ruby:インスタンスからクラスメソッドを呼び出す
Rubyでは、そのクラスのインスタンスの1つからクラスメソッドをどのように呼び出しますか?私が持っていると言います class Truck def self.default_make # Class method. "mac" end def initialize # Instance method. Truck.default_make # gets the default via the class's method. # But: I wish to avoid mentioning Truck. Seems I'm repeating myself. end end この行Truck.default_makeはデフォルトを取得します。しかし、言及せずにこれを言う方法はありTruckますか?あるべきようです。
347 ruby  class-method 

8
Rails:include対:joins
これは、「これを行う方法がわからない」という質問ではなく、「なぜこのように機能するのか」という質問です。 したがって、使用することがわかっている関連レコードをプルするという福音は:include、結合を取得して余分なクエリの全体を回避するために使用することです。 Post.all(:include => :comments) ただし、ログを見ると、結合は行われていません。 Post Load (3.7ms) SELECT * FROM "posts" Comment Load (0.2ms) SELECT "comments.*" FROM "comments" WHERE ("comments".post_id IN (1,2,3,4)) ORDER BY created_at asc) すべてのコメントを一度にプルするのでショートカットを取っていますが、それはまだ結合ではありません(すべてのドキュメントが言っているようです)。結合を取得できる唯一の方法は、次の:joins代わりに使用することです:include。 Post.all(:joins => :comments) そしてログは示しています: Post Load (6.0ms) SELECT "posts".* FROM "posts" INNER JOIN "comments" ON "posts".id = "comments".post_id 何か不足していますか?私は6ダースの関連付けを持つアプリを持っていて、1つの画面にそれらすべてのデータを表示します。6人の個人ではなく、1つの結合クエリを使用する方がよいようです。パフォーマンスに関しては、個々のクエリよりも結合を行う方が常に良いとは限らないことを知っています(実際に時間を費やすと、上記の2つの個々のクエリが結合よりも高速であるように見えます)。私は読んでいますが:include、宣伝どおりに機能していないことに驚いています。 たぶんRails はパフォーマンスの問題を認識していて、特定の場合を除いて参加しませんか?



12
Rubyで配列を反復処理する「正しい」方法は何ですか?
PHPは、そのすべてのいぼに関して、この点でかなり良いです。配列とハッシュの間に違いはありません(多分私は世間知らずですが、これは明らかに私には正しいようです)、どちらかを繰り返すだけです foreach (array/hash as $key => $value) Rubyには、このようなことを行う方法がたくさんあります。 array.length.times do |i| end array.each array.each_index for i in array ハッシュはもっと理にかなっています。 hash.each do |key, value| なぜこれを配列に対して実行できないのですか?私はただ一つの方法を覚えておきたい場合は、私が使用できると思いますeach_index(それが指標と使用可能な値の両方を作るので)、それはしなければならないために迷惑なんだarray[index]ばかりの代わりにvalue。 ああ、忘れましたarray.each_with_index。しかし、これは行っ|value, key|たり来たりするので吸いhash.eachます|key, value|!これは正気ではないですか?
341 ruby  arrays  loops 



5
RubyハッシュオブジェクトをJSONに変換する方法
RubyハッシュオブジェクトをJSONに変換する方法 だから私は以下のこの例を試していますが、うまくいきませんか? RubyDocを見ていましたが、明らかにHashオブジェクトにはto_jsonメソッドがありません。しかし、私はRailsがサポートしactive_record.to_json、またサポートしているブログを読んでいますhash#to_json。ActiveRecordRailsオブジェクトであることは理解できますが、RailsのHashネイティブではなく、純粋なRubyオブジェクトです。したがって、Railsではを実行できますがhash.to_json、純粋なRubyではできません?? car = {:make => "bmw", :year => "2003"} car.to_json

14
ラムダを使用する場合、Proc.newを使用する場合
Ruby 1.8では、一方でproc / lambdaと他方で微妙な違いがありますProc.new。 それらの違いは何ですか? どれを選択するかを決める方法についてのガイドラインを教えてください。 Ruby 1.9では、procとlambdaが異なります。どうしたんだ?
336 ruby  lambda  proc 

10
実行時にメソッドが定義されている場所を見つける方法は?
最近、一連のコミットが発生した後、バックエンドプロセスが実行に失敗するという問題がありました。さて、私たちは良い男の子と女の子でありrake test、すべてのチェックイン後に実行しましたが、Railsのライブラリーのロードのいくつかの奇妙さのため、プロダクションモードでMongrelから直接実行したときにのみ発生しました。 私はバグを追跡しましたが、それは新しいRails gemがStringクラスのメソッドを上書きして、実行時のRailsコードでの1つの狭い用途を壊したためです。 とにかく、短い話ですが、実行時にRubyにメソッドが定義されている場所を尋ねる方法はありますか?そのような何かwhereami( :foo )が返ります/path/to/some/file.rb line #45か?この場合、それがStringクラスで定義されていることを私に言っても、ライブラリによってオーバーロードされているため、役に立ちません。 以下のためにgrepをするので、私は、私のプロジェクトのソース命を保証することはできません'def foo'必ずしも私が私が持っている場合はもちろんのこと、必要なものを私に与えることはありません多く def fooのを時々私は私が使用している可能性があり1実行時までわかりません。

9
OSXの自作から「そのようなファイルを読み込めない-utils / popen」を回避する方法
brewターミナルで実行するとエラーが発生します 。 /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- utils/popen (LoadError) from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require' from /usr/local/Library/Homebrew/utils.rb:6:in `<top (required)>' from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require' from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require' from /usr/local/Library/Homebrew/global.rb:9:in `<top (required)>' from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require' from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require' from /usr/local/Library/brew.rb:16:in `<main>' これらは私の宝石設定です: - RUBYGEMS VERSION: 2.0.14 - RUBY VERSION: 2.0.0 (2014-02-24 patchlevel 451) [universal.x86_64-darwin13] …
327 ruby  macos  rubygems  homebrew 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.