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

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

12
クラスを指定して、インスタンスにメソッドがあるかどうかを確認します(Ruby)
Rubyでrespond_to?、オブジェクトに特定のメソッドがあるかどうかを確認するために使用できることを知っています。 しかし、クラスが与えられた場合、インスタンスに特定のメソッドがあるかどうかをどのように確認できますか? つまり、次のようなもの Foo.new.respond_to?(:bar) しかし、私は新しいインスタンスをインスタンス化するよりも良い方法があるはずだと感じています。
227 ruby  respond-to 

5
Paperclip :: Errors :: MissingRequiredValidatorError with Rails 4
Railsブログアプリでクリップを使用してアップロードしようとすると、このエラーが発生します。"MissingRequiredValidatorError"と表示されている場合、それが何を指しているのかわからない Paperclip::Errors::MissingRequiredValidatorError in PostsController#create Paperclip::Errors::MissingRequiredValidatorError Extracted source (around line #30): def create @post = Post.new(post_params) これは私のposts_controller.rbです def update @post = Post.find(params[:id]) if @post.update(post_params) redirect_to action: :show, id: @post.id else render 'edit' end end def new @post = Post.new end def create @post = Post.new(post_params) if @post.save redirect_to action: :show, id: …

3
コメント「frozen_string_literal:true」は何をしますか?
これはrspec私のプロジェクトディレクトリのbinstubです。 #!/usr/bin/env ruby begin load File.expand_path("../spring", __FILE__) rescue LoadError end # frozen_string_literal: true # # This file was generated by Bundler. # # The application 'rspec' is installed as part of a gem, and # this file is here to facilitate running it. # require "pathname" ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile", Pathname.new(__FILE__).realpath) …

7
レーキタスクから早期に戻るにはどうすればよいですか?
最初にいくつかのチェックを行うrakeタスクがあります。チェックの1つが失敗した場合、rakeタスクから早く戻りたいので、残りのコードを実行したくありません。 解決策は、コードから戻りたい場所にリターンを配置することだと思いましたが、次のエラーが発生します unexpected return
226 ruby  rake 

13
Ruby:ハッシュキーをフィルタリングする最も簡単な方法?
私は次のようなハッシュを持っています: params = { :irrelevant => "A String", :choice1 => "Oh look, another one", :choice2 => "Even more strings", :choice3 => "But wait", :irrelevant2 => "The last string" } そして、choice + int以外のすべてのキーを拒否する簡単な方法が欲しいのです。choice1、またはchoice1からchoice10までです。状況により異なります。 単語の選択とその後ろの1つまたは複数の数字だけでキーを特定するにはどうすればよいですか? ボーナス: ハッシュをタブ(\ t)を区切り文字とする文字列に変換します。私はこれを行いましたが、それは数行のコードを必要としました。通常、マスターのルビシア人はそれを1行ほどで行うことができます。
225 ruby 

18
カレンダーアプリケーションで定期的なイベントをモデル化する最良の方法は何ですか?
私は定期的なイベントをサポートする必要があるグループカレンダーアプリケーションを構築していますが、これらのイベントを処理するために思いついたすべてのソリューションはハックのように見えます。どれだけ前を見ることができるかを制限し、すべてのイベントを一度に生成できます。または、イベントを繰り返しとして保存し、カレンダーを先に見たときに動的に表示することもできますが、誰かがイベントの特定のインスタンスの詳細を変更したい場合は、イベントを通常のイベントに変換する必要があります。 これを行うにはもっと良い方法があると確信していますが、まだ見つけていません。詳細を変更したり、特定のイベントインスタンスを削除したりできる、定期的なイベントをモデル化する最良の方法は何ですか? (私はRubyを使用していますが、あなたの答えを制約しないようにしてください。ただし、Ruby固有のライブラリなどがある場合、それは知っておくと役に立ちます。)

5
改行を削除せずにRubyで複数行の長い文字列を分割する
私は最近、私の仕事でルビースタイルガイドに決めました。禁忌の1つは、どの行も80文字を超えてはならないということです。これはRailsプロジェクトであるため、文字列が少し長くなることがよくあります。つまり、「ユーザーXがThing Yについてのメッセージを送信したかった」というもので、常に80文字のスタイル制限に収まりません。 長い文字列を複数行に分割するには3つの方法があることを理解しています。 HEREDOC %Q {} 実際の文字列連結。 ただし、これらすべてのケースで、より多くの計算サイクルが必要になり、ばかげているように見えます。文字列の連結は当然ですが、改行を取り除かなければHEREDOCなり%Qません.gsub(/\n$/, '')。 これを行うための純粋な構文方法はありますか?これは、文字列全体を1行に収めるのと同じです?目標は、明らかに、コードをもう少し読みやすくするために余分なサイクルを費やさないことです。(はい、私はあなたがそのトレードオフをたくさんしなければならないことを理解しています...しかし、文字列の長さのために、これはばかげているように見えるだけです。) 更新:インデントがなくなるため、バックスラッシュは私が望んでいるものとは異なります。インデントはスタイル/読みやすさに影響を与えます。 例: if foo string = "this is a \ string that spans lines" end 上記は少し読みにくいです。 編集:私は以下の回答を追加しました。3年後、波状のヒアドキュメントができました。

11
Railsで相対時間をどのように使用しますか?
私はRailsアプリケーションを書いていますが、相対時間を実行する方法を見つけることができないようです。つまり、特定のTimeクラスを指定すると、「30秒前」または「2日前」、または1か月より長い場合に計算できます。 「2008年9月1日」など


6
Rubyでハッシュを反復する特定の出力を取得するにはどうすればよいですか?
Rubyハッシュを反復する特定の出力を取得したい。 これは私が繰り返したいハッシュです: hash = { 1 => ['a', 'b'], 2 => ['c'], 3 => ['d', 'e', 'f', 'g'], 4 => ['h'] } これは私が取得したい出力です: 1----- a b 2----- c 3----- d e f g 4----- h Rubyでは、どのようにしてHashでそのような出力を取得できますか?
218 ruby  hash  output 

20
pg gemをインストールできません
使ってみましたgem install pgが動かないようです。 gem install pg このエラーを与えます Temporarily enhancing PATH to include DevKit... Building native extensions. This could take a while... ERROR: Error installing pg: ERROR: Failed to build gem native extension. C:/Ruby/bin/ruby.exe extconf.rb checking for pg_config... no No pg_config... trying anyway. If building fails, please try again with --with-pg-config=/path/to/pg_config …

15
find_spec_for_exe ':gem bundlerが見つかりません(> = 0.a)(Gem :: GemNotFoundException)
私が使用しsudo bundle install、それが問題の原因である可能性がありますか? 今私が持っています: gem -v 2.6.14 ruby -v ruby 2.3.5p376(2017-09-14リビジョン59905)[x86_64-darwin15] jekyll -v ジェキル3.6.2 bundle -vBundlerバージョン1.16.0.pre.3 実行しようとしたとき、bundle exec jekyll serveまたは単にjekyll serve /Users/myusername/.rvm/rubies/ruby-2.3.5/lib/ruby/site_ruby/2.3.0/rubygems.rb:271:in `find_spec_for_exe': can't find gem bundler (>= 0.a) (Gem::GemNotFoundException) from /Users/myusername/.rvm/rubies/ruby-2.3.5/lib/ruby/site_ruby/2.3.0/rubygems.rb:299:in `activate_bin_path' from /Users/myusername/.rvm/gems/ruby-2.3.5/bin/bundle:23:in `<main>' from /Users/myusername/.rvm/gems/ruby-2.3.5/bin/ruby_executable_hooks:15:in `eval' from /Users/myusername/.rvm/gems/ruby-2.3.5/bin/ruby_executable_hooks:15:in `<MacBooMacBook-MacBook-MacBook-Pro-MacBook-PrMacBook-MacBooMacBMaMacBMaMaMaMaMaMaMaMaMacBMaMaMaMacBMa また、自分のブログがあるフォルダーにアクセスするとcd my_path、次のメッセージが表示されます。 VMはRubyを選択するためにGemfileを使用しましたが、問題ありません。Herokuでも同じです。「rvm rvmrc warning ignore / Library …
217 ruby  rubygems  bundle  jekyll 


8
プライベートクラスメソッドを作成する方法
プライベートクラスメソッドを作成するこのアプローチが機能する理由: class Person def self.get_name persons_name end class << self private def persons_name "Sam" end end end puts "Hey, " + Person.get_name puts "Hey, " + Person.persons_name #=> raises "private method `persons_name' called for Person:Class (NoMethodError)" しかし、これはしません: class Person def self.get_name persons_name end private def self.persons_name "Sam" end end puts …

6
Rubyのdupメソッドとcloneメソッドの違いは何ですか?
言うためdupのRubyドキュメント: 一般的に、cloneそしてdup子孫クラスで異なる意味を有することができます。ながらcloneその内部状態を含むオブジェクトを複製するために使用され、dup典型的には、新しいインスタンスを作成するために、子孫オブジェクトのクラスを使用します。 しかし、いくつかのテストを行ったところ、実際には同じであることがわかりました。 class Test attr_accessor :x end x = Test.new x.x = 7 y = x.dup z = x.clone y.x => 7 z.x => 7 では、2つの方法の違いは何ですか?
214 ruby  clone  dup 

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