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

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

4
ハッシュの配列を単一のハッシュにマッピングするRails
私は次のようなハッシュの配列を持っています: [{"testPARAM1"=>"testVAL1"}, {"testPARAM2"=>"testVAL2"}] そして、私はこれを次のような単一のハッシュにマッピングしようとしています: {"testPARAM2"=>"testVAL2", "testPARAM1"=>"testVAL1"} 私はそれを使ってそれを達成しました par={} mitem["params"].each { |h| h.each {|k,v| par[k]=v} } しかし、これをより慣用的な方法で(できればローカル変数を使用せずに)実行できるかどうか疑問に思っていました。 これどうやってするの?

9
Rubyの.eachループの終わりを教えてください
次のようなループがある場合 users.each do |u| #some code end ここで、usersは複数のユーザーのハッシュです。ユーザーハッシュの最後のユーザーにいて、その最後のユーザーに対して特定のコードのみを実行したい場合に確認する最も簡単な条件付きロジックは何ですか? users.each do |u| #code for everyone #conditional code for last user #code for the last user end end

13
RubyがPythonよりRailsに適しているのはなぜですか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。私たちは回答が事実、参考文献、または専門知識によってサポートされることを期待しますが、この質問はおそらく議論、議論、投票、または拡張された議論を誘います。この質問を改善でき、再開できると思われる場合は、ヘルプセンターにアクセスしてください。 8年前に閉鎖。 PythonとRubyは通常、似た表現力とパワーを持つ近い従兄弟であると考えられます(ただし、歴史的な手荷物はかなり異なります)。しかし、Railsフレームワークの計り知れない成功は、Ruby自体がその基盤とする言語と本当に関係があると主張する人もいます。では、RubyがPythonよりもそのようなフレームワークに適しているのはなぜでしょうか。


8
TCPServerエラー:アドレスは既に使用中-bind(2)
ジキルは数週間前に私のためにうまく働いていましたが、今突然、それは私に次のエラーを与えます: TCPServer Error: Address already in use - bind(2) INFO WEBrick::HTTPServer#start: pid=7300 port=4000 % lsof -i :4000 <fetches nothing> ポートでは何も実行されていません。以下は詳細です: % jekyll --version Jekyll 0.11.2 % where jekyll /home/bhaarat/.rvm/gems/ruby-1.9.2-p290/bin/jekyll /usr/bin/jekyll % ruby --version ruby 1.9.2p290 (2011-07-09 revision 32553) [i686-linux] % rvm --version rvm 1.10.0 これが出力です % jekyll --server Configuration from …
90 ruby  jekyll 

5
宝石のインストール許可の問題
qichunren@zhaobak:~> gem install hpricot ERROR: While executing gem ... (Gem::FilePermissionError) You don't have write permissions into the /opt/ruby-enterprise-1.8.7/lib/ruby/gems/1.8 directory. 現在のログインユーザーはqichunrenであり、qichunreユーザーは.gem dirで書き込み権限を持っています。gemが最初に自分のホーム.gem dirにファイルをインストールしない理由を知りたいですか?私のGem Commonが最初に/opt/ruby-enterprise-1.8.7/lib/ruby/gems/1.8にファイルをインストールする理由

30
PythonとRubyのメタプログラミング[終了]
現在のところ、この質問はQ&A形式には適していません。私たちは回答が事実、参考文献、または専門知識によってサポートされることを期待しますが、この質問はおそらく議論、議論、投票、または拡張された議論を誘います。この質問を改善でき、再開できると思われる場合は、ヘルプセンターにアクセスしてください。 8年前に閉鎖。 私は現在主にDプログラマーであり、ツールボックスに別の言語を追加しようとしています。できれば、Dのような静的にコンパイルされた言語では実行できないメタプログラミングハックをサポートする言語を追加してください。 Lispについて少し読んだので、Lispの優れた機能のいくつかを可能にする言語を見つけたいと思いますが、Lispの奇妙な構文などはありません。言語の炎上戦争を開始したくないので、RubyとPythonの両方にトレードオフがあると確信しているので、個人的に重要なことをリストします。Ruby、Python、その他の言語のどちらが最適か教えてください。 重要: 良いメタプログラミング。実行時にクラス、メソッド、関数などを作成する機能。できれば、コードとデータの区別を最小限にとどめる、Lispスタイル。 素晴らしく、クリーンで、健全な構文と、一貫性のある直感的なセマンティクス。基本的に、よく考えられた、楽しくて使える現代的な言語です。 複数のパラダイム。すべてのプロジェクト、またはプロジェクト内のすべての小さな副問題でさえ、1つのパラダイムが適切ではありません。 プログラミングについての考え方に実際に影響を与える興味深い言語。 やや大事な: パフォーマンス。パフォーマンスがまともならいいのですが、パフォーマンスを優先する場合は、代わりにDを使用します。 十分に文書化されています。 重要ではありません: コミュニティーのサイズ、ライブラリーの可用性など。これらはどれも言語自体の特性ではなく、すべてが非常に急速に変化する可能性があります。 ジョブの可用性。私はフルタイムのプロのプログラマではありません。私は大学院生であり、プログラミングは私の研究に正接しています。 100万人のコードモンキーが取り組んでいる非常に大規模なプロジェクトで主に設計された機能。

9
大規模なRailsアプリケーションでのRSpecテストの高速化
私のRSpecテストには、2,000を超える例を含むRailsアプリケーションがあります。言うまでもなく、これは大規模なアプリケーションであり、テストする必要があることがたくさんあります。この時点でこれらのテストを実行することは非常に非効率的であり、非常に時間がかかるため、新しいビルドをプッシュする前にテストを作成することはほとんどお勧めできません。spec.optsに--profileを追加して、実行時間が最も長いサンプルを見つけました。実行に平均10秒かかるサンプルが少なくとも10個あります。あなたのRSpecエキスパートの間でそれは正常ですか?一例として、10秒は完全に長すぎますか?2,000の例を使用すると、すべてを完全にテストするにはかなりの時間がかかることがわかりますが、現時点では4時間は少し馬鹿げています。 最長の実行例については、どのようなときに見ていますか?ボトルネックを特定してスピードアップを図るために、既存の仕様をトラブルシューティングするにはどうすればよいですか。この時点では、毎分本当に役に立ちます。

3
Rubyはそのようなファイルをロードできません-active_support / core_ext / object / blank
実行しようとしましたがbrew doctor、システムがエラーをポップアップしました /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require ':cannot load such file-active_support / core_ext /オブジェクト/空白(LoadError) オンラインで検索したところ、別の投稿で「gem install activesupport」とだけ提案されましたが、次のエラーが発生しました。 ERROR: Error installing activesupport: i18n requires Ruby version >= 2.3.0. 私もruby-2.3.0をrvmでインストールしようとしましたが、同じエラーが再び表示されました [2019-02-26 10:07:41] requirements_osx_brew_libs_install requirements_osx_brew_libs_install () { brew install "$@" --force || { \typeset ret=$?; requirements_osx_brew_libs_error "installation"; return $ret } } current path: /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib PATH=/Users/{user_name}/.aw/pex_resources/scripts/binaries:/usr/local/sbin:/Users/fengjiao/.rbenv/shims:/Users/{user_name}/.nvm/v0.10.32/bin:/Users/fengjiao/bin:/usr/local/sbin:/usr/local/bin:/Users/{user_name}/.rbenv/shims:/Users/{user_name}/.nvm/v0.10.32/bin:/Users/{user_name}/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/munki:/opt/X11/bin:/Users/fengjiao/gocode/bin:/Users/{user_name}/.rvm/bin command(10): …


9
2つの配列の内容が同じかどうかを確認します(順不同)。
Ruby 1.8.6とRails 1.2.3を使用していますが、2つの配列が同じ順序であるかどうかに関係なく、2つの配列に同じ要素があるかどうかを確認する必要があります。配列の1つは重複を含まないことが保証されています(もう1つは可能性があり、その場合の答えはノーです)。 私の最初の考えは require 'set' a.to_set == b.to_set しかし、私はそれを行うためのより効率的なまたは慣用的な方法があるかどうか疑問に思っていました。

1
中括弧がないのに、Rubyで文字列補間が機能するのはなぜですか?
Rubyで文字列補間を使用する適切な方法は次のとおりです。 name = "Ned Stark" puts "Hello there, #{name}" #=> "Hello there, Ned Stark" それが私がいつも使っている方法です。 しかし、Rubyの文字列補間に何か奇妙なことに気づきました。文字列補間は、インスタンス変数に関して中括弧なしでRubyで機能することに気づきました。例えば: @name = "Ned Stark" puts "Hello there, #@name" #=> "Hello there, Ned Stark" そして、非インスタンス変数と同じことを試みても機能しません。 name = "Ned Stark" puts "Hello, there, #name" #=> "Hello there, #name" 私はこれを1.9.2と1.8.7の両方で成功させて試しました。 なぜこれが機能するのですか?通訳はここで何をしていますか?

3
ブロックから早期に何かを返すにはどうすればよいですか?
私がこのようなことをしたい場合: collection.each do |i| return nil if i == 3 ..many lines of code here.. end どうすればその効果を得ることができますか?ブロック内のすべてを大きなifステートメントでラップできることはわかっていますが、可能であればネストは避けたいと思います。 残りの要素の反復を停止したくないので、ここではブレークは機能しません。
90 ruby 


5
レールでRSpecおよびCapybaraを使用する場合の未定義のメソッド「visit」
カピバラをrspecで動作させることができません。それは私にこのエラーを与えます: undefined method `visit' for #<RSpec::Core::ExampleGroup::Nested_1:0x16529f8 @example=nil> 私はこれについてたくさんの投稿があることを知っていますが、ソリューションのどれも私のために働いていません。それらのほとんどは/ spec / featuresにない仕様に関係しています-私の仕様です。 最初のエラー: $bundle exec rspec spec F Failures: 1) security signs users in Failure/Error: visit "/sessions/new" NoMethodError: undefined method `visit' for #<RSpec::Core::ExampleGroup::Nested_1:0x16529f8 @example=nil> # ./spec/features/security_spec.rb:4:in `(root)' Finished in 0.006 seconds 1 example, 1 failure Failed examples: rspec ./spec/features/security_spec.rb:3 # security …

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