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

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

6
文字列が空の場合、デフォルト値を返します
多くの場合、一部の値が空白であるかどうかを確認し、そのような「データがありません」と書く必要があります。 @user.address.blank? ? "We don't know user's address" : @user.address そして、この方法で処理する必要のある20〜30のフィールドを取得すると、醜くなります。 私が作ったのはorメソッドを持つ拡張された文字列クラスです class String def or(what) self.strip.blank? ? what : self end end @user.address.or("We don't know user's address") 今では良く見えています。しかし、それはまだ生で荒いです 私の問題を解決する方が良いでしょう。ActiveSupport classヘルパーメソッドやミックスインなどを拡張または使用する方がよいでしょう。ルビーのアイデア、あなたの経験、ベストプラクティスが私に教えてくれるものは何ですか。


5
Mongodb:使用する前に知っておくべきことは?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して質問を更新し、事実と引用で回答できるようにします。 6年前休業。 この質問を改善する Ruby on Railsを使用して趣味の(収益のない)プロジェクトを始めています。Postgresqlを使用してRailsでかなりの量の開発を行ったので、正規化されたスキーマをかなりよく模倣できます。ただし、Mongrodbは光沢があり、新しく見えます。趣味のプロジェクトよりも新しい何かを試してみるのに良いことは何ですか? Mongodbを使い始めたときを思い出してください。「始めたときにそれを知っていれば!」知っていれば、最初から使用していたプラグインは何ですか。ブックマークを付けたいリファレンスは何ですか?

17
Rubyの内包表記を一覧表示する
Pythonリスト内包表記に相当することを行うには、次のようにします。 some_array.select{|x| x % 2 == 0 }.collect{|x| x * 3} これを行うより良い方法はありますか...おそらく1つのメソッド呼び出しで?


7
WindowsへのRuby Gemのインストール
ルビーは初めてです。サイトhttp://rubygems.org/pages/downloadに記載されている手順に従って、PCにGEMをインストールしようとしました。 私は言及サイトからパッケージをダウンロードして、セットアップが存在するディレクトリにディレクトリを変更し、コマンドを使用してセットアップを実行しようとしました、 コマンドプロンプトのsetup.rb。 しかし、「Windowsはこのファイルを開くことができません」というポップアップウィンドウが表示され、このファイルを開くプログラムを選択するように求められます。 私は今どうすればいい?何か悪いことがあったら教えてください。
93 ruby  gem  install 

6
Railsでrakeタスクを実行する方法
このrakeファイルをターミナル/コンソールで実行するにはどうすればよいですか? lib / tasksの私のstatistik.rake desc "Importer statistikker" namespace :reklamer do task :iqmedier => :environment do ... end task :euroads => :environment do ... end task :mikkelsen => :environment do ... end task :orville => :environment do ... end end

5
Rubyスクリプト内でコマンドラインコマンドを実行する
Rubyを介してコマンドラインコマンドを実行する方法はありますか?「screen」、「rcsz」などのコマンドラインプログラムを介してダイヤルアウトおよび受信/送信する小さなRubyプログラムを作成しようとしています。 これらすべてをRuby(MySQLバックエンドなど)と関連付けることができればすばらしいと思います。

7
Array#eachとArray#map
hash = { "d" => [11, 22], "f" => [33, 44, 55] } # case 1 hash.map {|k,vs| vs.map {|v| "#{k}:#{v}"}}.join(",") => "d:11,d:22,f:33,f:44,f:55" # case 2 hash.map {|k,vs| vs.each {|v| "#{k}:#{v}"}}.join(",") => "11,22,33,44,55" 唯一の違いは、ケース1が使用されvs.map、ケース2が使用されることvs.eachです。 ここで何が起こったのですか?

3
Rubyでスレッドセーフでないものを知る方法は?
Rails 4以降、デフォルトではすべてがスレッド環境で実行される必要があります。これが意味することは、私たちが書くコードのすべてであると ALL我々が使用する宝石があることが要求されていますthreadsafe だから、私はこれについていくつか質問があります: ruby / railsでスレッドセーフでないものは何ですか?対ルビー/レールのスレッドセーフは何ですか? スレッドセーフまたはその逆であることが知られている宝石のリストはありますか? スレッドセーフな例ではないコードの一般的なパターンのリストはあり@result ||= some_methodますか? Hashetcなどのruby langコアのデータ構造はスレッドセーフですか? MRIでは、GVL/GILを除いて一度に実行できるルビスレッドが1つだけであることを意味する/IOがありますが、スレッドセーフな変更は影響を及ぼしますか?

5
Rubyはテールコールの最適化を実行しますか?
関数型言語は、多くの問題を解決するために再帰を使用することになるため、それらの多くはTail Call Optimization(TCO)を実行します。TCOは、その関数の最後のステップとして、新しいスタックフレームを必要としないように、別の関数(またはこの関数自体、この機能はTCOのサブセットであるテール再帰除去とも呼ばれます)から関数を呼び出します。オーバーヘッドとメモリ使用量が減少します。 Rubyは明らかに関数型言語から多くの概念(ラムダ、マップなどの関数など)を「借用」しているため、奇妙なことに、Rubyは末尾呼び出しの最適化を実行しますか?


9
Railsで日付を検証するにはどうすればよいですか?
Ruby on Railsでモデルの日付を検証したいのですが、モデルに到達するまでに、日、月、年の値が既に誤った日付に変換されています。 たとえば、ビューで2009年2月31日と入力した場合Model.new(params[:model])、コントローラーで使用すると、それは「2009年3月3日」に変換されます。モデルはそれを有効な日付として認識しますが、これは正しくありません。 私のモデルでこの検証を行えるようにしたいと思います。私ができる方法はありますか、それとも完全に間違っていますか? 問題を説明するこの「日付の検証」を見つけましたが、解決されませんでした。


6
要素がまだない場合は、要素を配列に追加します
Rubyクラスがあります class MyClass attr_writer :item1, :item2 end my_array = get_array_of_my_class() #my_array is an array of MyClass unique_array_of_item1 = [] にプッシュMyClass#item1したいのですがunique_array_of_item1、それがまだunique_array_of_item1含まれていない場合のみですitem1。私が知っている簡単な解決策があります:単に反復してmy_array、unique_array_of_item1すでに現在のものが含まれているかどうかを確認しitem1ます。 より効率的な解決策はありますか?
92 ruby 

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