Ruby
- caseで『○○以上』がしたい
case x when 0 ~ で場合分けができますがこれを『○○以上』や『以下』で判定したいです。 範囲が決まっていたら case x when 1..10 のように書けますが以上以下はどうすればいいでしょうか?
- ベストアンサー
- Ruby
- rinrin_ring
- 回答数1
- 『マッチしない』をなるべく短く
verは1.8.7です。 ifで文字列が指定した正規表現と『マッチしない』場合を判定したいんですがそのまま書くと unless @value =~ /^[0-9]{4}/ みたいになります。 unlessだと先に条件式を見てからひっくり返さないといけないので『マッチしない』を判別する演算子があればいいのですが、マニュアルのStringとRegexpのページを見ても分かりませんでした。 もしあったら教えてください。あとマニュアルにある場合はどこに書いてあるか教えてもらえると嬉しいです。
- ベストアンサー
- Ruby
- rinrin_ring
- 回答数2
- 【&:】ってなんですか?
【&:】の後ろにメソッド名を書いたものを見たことがあるんですがこれは何で、どういう動きをするんでしょう? mapやeachの後ろでよく見る気がします。
- ベストアンサー
- Ruby
- rinrin_ring
- 回答数2
- 配列定義の書き方
Rubyで配列を新しく定義するとき、Array.new(3,"TEST")とArray.new(3) { "TEST" }ではどう違いますか?またどう使い分けますか?
- ベストアンサー
- Ruby
- rinrin_ring
- 回答数1
- timesの使いどころ
timesメソッドはどんなときにつかうものですか? 今のところ必要と思われる場面がありません。 具体的にはどんなときメリットがありますか?
- ベストアンサー
- Ruby
- rinrin_ring
- 回答数3
- Rubyを独学で勉強する上で
色んな本を読んでみるということが向上につながると 思いました。 そこでみなさん、これはお勧めの本だとか、この本は ~の理由であまり初心者にはお勧めできないとか ありましたら教えていただきますでしょうか。
- ベストアンサー
- Ruby
- noname#208914
- 回答数2
- Ruby on Raailsについて
先ほど、windows XPにRailsをインストールしました。 とりあえずは、RubyのサーバーのWebrickで動かすことには成功しました。 が現在winXPにApacheをいれてローカルでRubyが動く環境をつくっていて、 そのApache内でRailsでつくったアプリを動かし作業したいとおもっています。 とりあえずインストールしたRailsをつかって rails new Projectでつくったディレクトリをまんまhtdocsに移動させてみたんですが 案の定動きませんでした。 どのようなファイルを修正したらApahceのhtdocs内で動かせるようになるんでしょうか? ちなみに、インストールしているRubyはCGIのみでmod-rubyなどは使っていません。 よろしくお願いします。
- Ruby 連想配列Hashクラスについて
シンボルを使ったキーと値のハッシュについて・・・ (例 sample = Hash[ :saki, "Mijinco", :tihiro, "Ume" ] 例えば↑の配列ではキーsakiにたいして、値が"Mijinco" キーtihiroにたいして、値が"Ume"という配列になっている のですが、注意書きに【要素数が偶数ではないといけない】 と、あるのですが、ここでいう要素とは シンボルキーの:sakiと値の"Mjinco"のペアで1つの要素 なんでしょうか? それとも、:saki "Mijinco"おのおのが1つずつの要素なんで しょうか? わかりにくくてすいません。
- ベストアンサー
- Ruby
- noname#208914
- 回答数1
- Ruby toFormattedStringメソッ
勉強していたらtoFormattedStringメソッドというものに出会ったのですが、 これの読み方を教えていただけないでしょうか?
- ベストアンサー
- Ruby
- noname#208914
- 回答数2
- rails3.0 プルダウンの連動について
ruby on railsにて開発を行っております。 web開発の経験はありますが、 rubyおよびrailsに関しては初心者です。 要件は以下の通りです。 A画面内でrenderにて部分テンプレートの構成となっております。 テンプレート内部にプルダウンを設け、プルダウンの連動により 読み込むテンプレートを切り替えていきたいと考えております。 現在collection_selectを用いてプルダウンを生成し、 onchangeにてremote_functionを呼び出すことで本機能を実装させようと考えておりますが、 テンプレートの切り替えがうまくいきません。 実装方法及び参考となるような情報をご教授いただければと思います。 よろしくお願いします。 環境 rails 3.0.7 ruby 1.9.2
- 締切済み
- Ruby
- hokkori0324
- 回答数1
- ハッシュのハッシュのソート
rubyでハッシュのソート方法についてはいくつか情報のサイトを見つけられました。 ですが今やりたいのは、ハッシュのハッシュのソートなのですが、うまいやり方がわかりませんでした。 具体的には、 h1 = {"user1"=>{"a"=>10, "b"=>20, "c"=>30"}, "user2"=>{"d"=>5, "e"=>8}, "user3"=>{"f"=>10, "g"=>5, "h"=>10} } というようなハッシュのハッシュを想定しています。ユーザごとに案件ごとの必要工数(時間)をハッシュとして持たせ、全工数が多いユーザ順にソートしたいのです。 上記の場合だと、 {"user1"=>{"a"=>10, "b"=>20, "c"=>30"}, "user3"=>{"f"=>10, "g"=>5, "h"=>10}, "user2"=>{"d"=>5, "e"=>8} } というようにソートしたいのですが、何かやり方がありましたらご教授いただけますでしょうか。
- mod_rewriteの環境変数を埋め込みたい
お世話になります。 現在、以下の環境でWebアプリケーションを開発しています。 CentOS5.4 Apache2.2.3 Tomcat7 JavaSE6 ApacheとTomcatの連携にmod_proxy_ajpモジュールを使用しています。 ただ、クライアントからアクセスするURLと連携先のURLが異なるため、Java側でHttpRequestからコンテキストパス以降を取得するとajp連携されたパスしか取得できず、クライアントがアクセスしたURI情報が取得できません。 これを対策するために、Apacheモジュールのmod_rewriteとmod_headersを利用して、 クライアントがアクセスしたURIをリクエストヘッダに埋め込もうとしています。 以下httpd.confに追加した設定です。 (rewrite.confも試しました) RewriteEngine On RewriteRule .* - [E=ORG_QUERY_STRING:%{QUERY_STRING}] RequestHeader append "test_query_string" %{ORG_QUERY_STRING}e 設定後、Apacheを再起動してWebアプリケーションにアクセスすると、リクエストヘッダ自体は追加されているのですが値が(null)となってしまい取得できません。 mod_rewriteの環境変数が取得できていないのかと思い、 RewriteRule .* - [E=ORG_QUERY_STRING:TEST] と固定文字列を埋め込んでも取得できませんでした。 このことからENVによる環境変数への設定、または参照が出来ていないのかと思われますが、どうにも解決できません。 参照時に RequestHeader append "test_query_string" %{ENV:ORG_QUERY_STRING}e としても同様の結果でした。 心当たりのある方、またはデバッグ方法や別解などアドバイスを頂けないでしょうか? なお、httpd.confではmod_rewrite、mod_headersのモジュール定義は有効となっております。 また、環境変数のスペルミスもコピペして確認しております。
- 締切済み
- Ruby
- badbadbad1
- 回答数1
- Ruby インスタンスの初期化について
newメソッドを使わずにinitializeメソッドを定義しただけで インスタンスが作成されて初期化までされる理屈について 教えていただけないでしょうか? またクラスを作るときに基となっているObjectクラスとは一体 何物なのか、教えて頂きたい。 例 01:#Sampleクラスを作る 02:class Sample 03: #Samlpeクラスのインスタンスを初期化 04: def imitialize( lv, hp ) 05: end 06:end ↑の場合インスタンスlvとhpは、「lv = sample.new( 0 )」などと言う ように定義されてない。 それにnewメソッドでインスタンスを作りそこに数値の0を代入できるなら そもそもinitializeで初期化する必要は無いのではないでしょうか? 有識者の方いらっしゃいましたら、ご説明をよろしくお願いします。
- ベストアンサー
- Ruby
- noname#208914
- 回答数3
- プログラミングrubyでの質問
今、複合データ型のデータの集まりを作ってるんですが。 まあ、classをつくってその中に様々なデータを作っています。 えとわからないことがありまして、 classのインスタンスと属性、または属性値の違いってなんですか? インスタンス変数ってのは属性値のことですか? あとinitializeメソッドでインスタンス変数を初期化する意味はなんですか? 初期化するとどうなるんですか? 入門書を読んで独学で学習中なのですが、言葉の意味の例えが無くて 理解するのに頭が混乱してきました。助けてください。
- ベストアンサー
- Ruby
- noname#208914
- 回答数1
- 独学で素人がRubyprogrammingを勉強
どうも、はじめまして。 今、独学でオブジェクト指向プログラミング言語のRubyを勉強しています。 えー、プログラミングの知識ははっきりいってド素人といってもいい程です。 そこで有識者の方がいらっしゃいましたら、どうか教えて頂きたいのですが ビギナー向けの参考書など、お勧めはございませんか? これは分かり易かったとか、あればなんでも結構です。 あと、この知識が活かせるような資格やビジネスはありますか? どんな情報でもけっこうなんでよろしくおねがいします。
- ベストアンサー
- Ruby
- noname#208914
- 回答数1
- railsコマンドが実行できないサーバに移転したい
質問させて下さい。 (システムに詳しくないので意味不明な部分があればお許し下さい) Ruby,rails,passenger、DBはMySQLなどで構築したシステムを、 別のサーバに移転させたいと思っています。 しかし、移転先のサーバは railsのコマンドが実行できない(root権限がない)サーバのため、困っています。 どうしてもそのサーバで対応させる必要があるため、 なんらかのカスタマイズをしてでも導入したいのですが、 一度、railsコマンドを実行してファイル環境を作り終わっているシステムならば FTP経由で取り出して新しいサーバ用にMySQLなりパスなりの設定箇所を 修正したりすれば動かすなんてことは可能でしょうか。 システムに詳しくないので意味不明な部分もあるかと思いますが、 ご教授頂ければ幸いです。
- 締切済み
- Ruby
- dororon999
- 回答数1
- 書籍 メタプログラミングRubyの中の一文
上記書籍のP143の カレントクラスについて質問です。 上記書籍に、 【クラス定義のなかでは、カレントオブジェクトselfは定義されたクラスである】 という記述がありますが 例えば、以下のようなクラス定義あがあるとします。 class Test print self.class def self.method_01() print "メソッド01" end def method_02() return self end end クラス定義内に3箇所selfが存在しますが、 インスタンスメソッド の method_02()内のselfはnewメソッドによって 作成されたTestクラスのインスタンスの意味だと思います。 それより上の二つのselfは確かに定義中のカレントオブジェクト・・つまりTestクラス ですけれど、なぜ書籍では、クラス定義内でのselfという表現なのでしょうか? 個人的には、【クラス定義内で定義されるインスタンスメソッド内にあるselfを除くselfはカレントオブジェクトである】という風に、説明すべきだと思うのですが 何か私の解釈に誤りがあるのでしょうか?それとも、文面を気にしすぎなだけでしょうか? くだらない質問ですがご意見をおきかせください。
- rubyを勉強中。おすすめのソースは?
ruby言語の勉強を始めました。文法については、ざっと本を読みました。 そこで、他の上手な人が作ったrubyソースを解読してノウハウを取り入れたいいと思っています。 rubyで書かれた良いソースプログラムには、どんなものが有るでしょうか? よろしくお願いします。
- Rubyの構文?言語仕様?
Rubyの以下コードについて質問です。 #!/ruby/bin/ruby print "content-type: text/html\r\n\r\n"; puts "Hello World!" begin def foo x =0 (0...10).each do |value| print value.to_s +"の時"+ x.to_s + "<br />" end end foo rescue =>e print e.class.to_s+ "<br />" print e.message end 上記コードを実行すると以下のような例外を取得します NoMethodError undefined method `+@' for "\343\201\256\346\231\202":String どうやら上記コードの print value.to_s +"の時" の部分の +"の時" という箇所が問題のようなのですが 上記箇所を + "の時" のように 文字列連結子の +と "の間に半角スペースを 入れるとうまく実行されます。 いったい原因はなんなのでしょうか? 細かい箇所ですが是非、ご教授ください。