Ruby

全875件中441~460件表示
  • Rubyでnet::httpを用いてPOSTする

    今晩わ。 RubyでNet::HTTPをもちいてPOST送信する際の処理について 質問です。 Net::HTTPクラスのインスタンスメソッドのpostメソッドを用いて送信する場合 送信内容を # version 1.2 (Ruby 1.8.x or later) response = http.post('/cgi-bin/search.rb', 'query=subject&target=ruby') 上記のように、引数に渡していると思います。 このとき、値の中にパラメータのデリミタと同じ&を入れたい場合どうしたらいいのでしょうか? 例えば query=subject&target=ruby&PHP のような感じでvalueとして&を渡す場合です。 Net**HTTP::Postクラスのrequestメソッドを用いてハッシュとして渡した時は問題なかったのですが、上記のpostメソッドの時がPOSTされた値を取得するときにキチンと取得できませんでした。これはなにか対処方法があるのでしょうか? ご教授ください。 おねがいします。

    • ベストアンサー
    • 1000vicki
    • Ruby
    • 回答数1
  • 配列に複数の値があるか簡潔に判断する方法

    hairetu = [1,2,3,4,5] という配列があった時 3と4が含まれているかを判断するには if hairetu.include?(3) && hairetu.include?(4)  p "3と4が含まれている" end と書けばよいのですが 条件が増えたら、見にくくなってしまいます。 そういった理由で if hairetu.include?(3,4) や if hairetu.include?(3 or 4) という具合に、短く書く方法があれば ご教授お願い致します。

    • ベストアンサー
    • hourensan
    • Ruby
    • 回答数5
  • プログラミング言語を学び直す

    初めまして。宜しくお願いします。 プログラマーの皆様や現役の専門学校生(プログラミング言語専攻)の方にお尋ねします。 私は今年の5ヶ月間、職業訓練校でRubyの基礎を学びました(講座終了済み)。プログラミング言語はまったくの素人です。 ところが、毎日の授業は先生の講座速度が非常に速いうえに講義内容そのものが私にとってたいへん難解でした。このため、1日の授業の半分すら理解できるか否かという状態でした。たとえばクラスやインスタンス変数の授業は全く理解できませんでした。このキーポイントが判らないため、結局、Rubyが理解できないまま講座修了しました。 学校の授業が理解できないので自宅で復習しても理解度がさっぱり上がりませんでした。先生に質問して教えてもらっても、理解度は半分ぐらいでした。入校当時は「頑張るぞ」と張り切っていたのですが、授業が判らぬことからすっかり自信を失ってしまいました。 そこで質問ですが、二年制三年制の専門学校に入校して十分な講義時間を費やしてもう一度Rubyを勉強し直そうか、と迷っています。迷う理由は、高額な学費をかけても、自分に能力があるのだろうか、という不安があるからです。 ご助言をいただければ幸いです。宜しくお願い申し上げます。

  • railsでアプリケーションコントローラーで宣言し

    rails3.1でアプリケーションコントローラーで宣言したインスタンス変数をビューで使いたいのですがnilが帰ってきます。参照する方法はあるでしょうか 以下のようになっています ●applicationコントローラー def example @test = "hoge" end ●アクションメソッド after_fileter :example def index ~~~ end ●ビュー <%= @test %> これでビューから@testがnilを返してしまいます よろしくお願いします。

  • AptanaStudioがダウンロードできません

    こんにちは。 http://www.aptana.com/products/studio3/downloadの画面の下の方にある [DOWNLOAD APTANA STUDIO 3]という青い画面を選択すればAptanaStudioがダウンロードできるはずなのですが、選択すると 「Your Download is Starting」で始まる新しいページが出てくるのですがすぐに消えてしまい、先程のURLに戻ってしまいます。 AptanaStudioをダウンロードするのに前準備が足りないのでしょうか。 ruby 1.9.2p290 ruby gems 1.8.9 ruby on rails 3.1.0 のインストールは既に完了しています。 また、私のパソコンはwindows vistaなのですが、先程のURLではダウンロード対象OSがMAC OSしか表示されていないのも一つ気になる点です。 いろいろ調べてみたのですが、私のようなエラーでダウンロードができない場合の対処についてどうしても分かりませんでした。回答よろしくお願いします。

    • ベストアンサー
    • thjki6624
    • Ruby
    • 回答数5
  • あるクラスの全てのインスタンスをnilにする方法

    class A def sample p"サンプル" end end $a = A.new $a.sample $b = A.new $b.sample $c = A.new $c.sample この時、$aをnilにする時 $a = nil とすれば良いのですが $a、$b、$c・・・のように複数あって どれだけあるか分からない条件下で A.newで作られた物全てをnilにしたいのですが やり方が分かりません。 もし、良い方法があれば、ご教授お願い致します。

    • ベストアンサー
    • hourensan
    • Ruby
    • 回答数3
  • プログラムファイルの保存先

    こんにちは。現在Rubyの学習中です。Rubyに限らずプログラムに関しての質問なのですが、ファイルを保存する場所によって処理速度は変わるのでしょうか。 CドライブにOSが入っていると知りました。Rubyのプログラムを動かすには、Ruby本体とプログラムファイルが必要ですが、これら二つはやはりDドライブよりもCドライブに保存した方が処理速度は速いのでしょうか。よろしくお願いします。

    • ベストアンサー
    • thjki6624
    • Ruby
    • 回答数2
  • プログラミング言語を習得する上での具体的な課題

    こんにちは。 現在大学生4年生で新しいプログラミング言語の習得を目指しております。その理由といたしましては諸事情により大学院では今とは違う研究分野の研究室に配属が決まったからです。 その分野とは、ウェブ工学やデータベース関係を扱う研究室です。大学院の指導教授とお話したところ「CとC++は必須、あとはRubyかPerlのどちらかを習得しておくこと、Javaは必須ではない」と言われました。 早速、スキルアップのため言語の勉強をしようと思っているのですが、言語を習得するためにはなにか目標を持ちながら参考書を読むのがいいといろいろなサイトなどで書いてありました。 これから言語を勉強していくので自分にあった具体的な課題がまだ分かりません。そこでなのですが、こういったものを作っていけばいいのではないかという具体的な課題を教えていただけないでしょうか。できれば、初歩的なものから段階的に難しいものを教えていただけるとうれしいです。 よろしくお願いいたします。

    • ベストアンサー
    • thjki6624
    • Ruby
    • 回答数2
  • Ruby 自作メソッドのブロック付きメソッドについ

    いつも、ご教授ありがとうございます。 Ruby でメソッドを自作してそのメソッドにブロックを持たせる場合 ブロック内で返り値を返すためにはどうしたらいいのでしょうか? たとえば以下のような自作メソッドがあるとすると def blocktest(str) if (block_given?) yield str else print "メソッドにブロックが与えられていない"; end end begin #自作したメソッドにブロックを与えた場合 res = blocktest("ブロック付きメソッドのテスト") {|value| print value; print "<br/>" print "メソッドに与えられた引数をprintしています" return "ブロックで返り値" } print res; print "<hr />" #ブロックを与えない場合 blocktest("ブロック付きメソッドのテスト"); rescue => ex print ex.message end 上記のようにブロック内で返り値 を指定して変数resのその返り値を返したい場合 どうしたらいいのでしょうか? 一応、ブロック内でreturnで値を与えてはいますが、例外が発生します。 よろしくお願いしまう。

    • ベストアンサー
    • 1000vicki
    • Ruby
    • 回答数1
  • Array#eachのブロック中で要素追加

    初歩的な質問で申し訳ありません ary = [Foo.new] ary.each do |i|  if (条件)   ary.push(Foo.new)  end end 上の様にブロックの中である条件でaryに要素が追加されます。 この場合、この追加された要素はeachで漏れなく扱えるのでしょうか? 簡単なプログラムで試した限りではpushされたFooインスタンスについてもeachで取り出せているようなのですが、自信が無いので質問致します。 # coding: windows-31J class Foo attr_accessor :checked attr_reader :val RAND_MAX = 5 def initialize rnd = Random.new @checked = false @val = rnd.rand(RAND_MAX).to_i end end ary = [Foo.new] ary.each do |f| if f.val > 0 ary.push(Foo.new) end f.checked = true end cnt_true = 0 cnt_false = 0 ary.each_index do |idx| print "#{idx} #{ary[idx].checked} #{ary[idx].val}\n" if ary[idx].checked cnt_true += 1 else cnt_false += 1 end end puts "checked true = #{cnt_true}" puts "checked false = #{cnt_false}" よろしくお願いします。

    • ベストアンサー
    • siffon9
    • Ruby
    • 回答数1
  • Ruby net/httpについて

    Rubyで#!/ruby/bin/ruby require 'net/http' require 'uri' print "content-type: text/html\r\n\r\n"; begin url = "http://~~~.com/" Net::HTTP.get_print URI.parse(url) rescue => ex print ex.class; print "<hr />"; print ex.message; print "<hr />"; print ex.backtrace; end というようなコードで指定のURLの内容をgetしたいと思っています。 が、とりあえずは上記内容でURL先の内容は取得できるのですが url = "http://www.~~~.com"; という風にwwwをつけるとスクリプトがうごかずURL先の内容が取得できないのです。 原因はなんなのでしょうか? 識者のかたご教授ください。

    • ベストアンサー
    • 1000vicki
    • Ruby
    • 回答数5
  • Rubyで配列をソートする

    15(tab)5634(改行) 24(tab)4446(改行) 24(tab)8357(改行) 24(tab)3287(改行) 56(tab)5465(改行) 56(tab)1324(改行) 56(tab)7544(改行) 上記のように1行にtabで区切られた2つの数値が並んでいるテキストファイルがあります。 このファイルを、Rubyを使って1列目が同じ数字の行ごとにソートしたいのですが、できなくて困っています。 上の例でしたら、1列目が24の3行を2列目の数値をキーとしてソート、1列目が56の3行を2列目の数値をキーとしてソートするということです。 一行ずつ読み込んで、array = line.split(/\t/)でタブでくぎって配列に格納するスクリプトを書いていたのですが、どうしてもできないので、力を貸していただけないでしょうか。 よろしくお願いします。

  • RubyでexeファイルをつくるExerbについて

    RubyでexeファイルをつくるExerbというライブラリをインストールしたいです。 でとりあえずやってみたところどうやらうまいぐあいにインストールできていないようです。 現象としては、普通にExerbの最新版5.30を落として適当なディレクトリに配置 コマンドプロンプトからruby setup.rbでExerb内のsetup.rbファイルを実行するとコマンドライン上でインストールが進みます完了後コマンドプロンプトでexerbを実行しても 内部コマンド~~とお決まりの文章がひょうじされて実行できません。 ruby.exeはパスが通ってるのでPC内のC:/ruby/binの中をみたところexerbファイル(※中身はRubyコード)は存在しますがどうやらexerb.exeファイルが生成?されてないようです。 一応http://sourceforge.jp/projects/exerb/releases/50337にあるようにRubyコアの バージョンをあわせて実行したのですがどうしても、うまくいきません。 原因はなんなのでしょうか? 識者の方、ご教授お願いします。 ActiveRubyとかいう実装の方をインスコすればデフォルトで実行できるようなのですが もともとインストールしていたRubyがrubyinstaller-1.8.7-p330ですので、なんとか このRubyで実行させたいのです。 よろしくお願いします。

    • ベストアンサー
    • 1000vicki
    • Ruby
    • 回答数1
  • Rubyを用いたシステムのメリットは・・?

    エンジニアではないため、簡単にポイントを教えていただけるとありがたいです。 少し前に流行っていたと聞いたことがあります。 また、Rubyに次ぐ注目の言語などがあれば合わせておしらせいただけますと幸いです。 宜しくお願いします。

    • ベストアンサー
    • r_inada
    • Ruby
    • 回答数2
  • Ruby:net/httpライブラリで質問です。

    RubyでWEBAPIをたたこうとおもい リファレンスから require 'net/http' Net::HTTP.version_1_2 # おまじない Net::HTTP.start('www.example.com', 80) {|http| response = http.get('/index.html') puts response.body } という記述を利用してヤフーのページを取得しようと 動かしたところまったく動作しなかったのでだめもとで例外をとってみたら begin Net::HTTP.version_1_2() # おまじない Net::HTTP.start("http://yahoo.co.jp", 80) {|http| response = http.get("/index.html"); puts response.body } rescue => ex print ex.class; print "<hr />"; print ex.message; print "<hr />"; print ex.backtrace; end SocketErrorgetaddrinfo: 記憶域制御ブロックが壊れています。 C:/ruby/lib/ruby/1.8/Net/HTTP.rb:560:in `initialize'C:/ruby/lib/ruby/1.8/Net/HTTP.rb:560:in `open'C:/ruby/lib/ruby/1.8/Net/HTTP.rb:560:in `connect'C:/ruby/lib/ruby/1.8/timeout.rb:53:in `timeout'C:/ruby/lib/ruby/1.8/timeout.rb:101:in `timeout'C:/ruby/lib/ruby/1.8/Net/HTTP.rb:560:in `connect'C:/ruby/lib/ruby/1.8/Net/HTTP.rb:553:in `do_start'C:/ruby/lib/ruby/1.8/Net/HTTP.rb:542:in `start'C:/ruby/lib/ruby/1.8/Net/HTTP.rb:440:in `start'C:/Apache/htdocs/tokui12.rb:11 上記のような例外が取れました。 これは、Rubyの際インストールが必要なのでしょうか? リファレンスまんまを利用しているので記述間違いとかはないと思うのですが・・・ システム的な問題?と思いPHPでたたいたところ PHPであれば普通にAPIはたたけました。 対処策はどうしたらいいのでしょうか?

  • Ruby言語に関して質問です。

    Rubyで、クラス定義の際の質問です。 通常 cattle= Class.new(); で引数がデフォルトの場合は、Objectクラスのサブクラス生成すると 公式のリファレンスに記述があります。 調べてみると上記コードの場合は,cattleという無名クラスと呼ばれるものになるそうです。 この無名クラスとはYUGUIさんのサイトにある http://yugui.jp/images/uploaded/20084013-metaclass.png 右端の列にあるメタクラスと呼ばれるものになるのでしょうか? (無名クラス と メタクラスは同義??) また上記URLの画像からメタクラスはClassクラスのインスタンスであるようです。 ただClass.newで実行される newというクラスメソッドってサブクラスを生成すると いうふうにリファレンスにありますがレシーバであるClassクラスのインスタンスを 返すという記述はありません。 ただ、おそらくメタクラスというのはClassクラスのインスタンスなのだとは思いますが、 この理由はなぜなのでしょうか? もう一点、p Cattle.class();と記述すると Classクラスが返ると思います。これはCattleクラスのClassクラスのインスタンスである ということになるのでしょうか? しかしながらYUGUIさんの画像ではCattleはメタクラスのインスタンスとなっています。 であれば、メタクラスを意味するのでしょうか? 公式リファレンスには、上記に書いたような関係はRubyを扱う際には特に問題ではないとありますが、気になっています。

  • Windowsのrubyで強制終了させない方法

    表題の通りで、Windowsのrubyでコマンドプロンプト から簡単なプログラムを書いて、 最後に勝手に閉じてしまうと思うのですが、 標準入力を待つ、又は何か入力が有れば終了させるのは、 どう書いたら良いのでしょうか? 初歩的な質問で申し訳ありません。 perlだと、 <>; exit; でOKと思いますが、 rubyの場合は??宜しくお願い致します。

    • ベストアンサー
    • 1yoshi
    • Ruby
    • 回答数1
  • 特定のactionでのみvalidation

    rails2、mySQLです。 モデルにバリデーションを書くのは知っているのですが 特定のコントローラのメソッドでのみバリデーションしたいとき どうすればよいのでしょう。 Userモデルに書いた場合 class User < ActiveRecord::Base  validates_format_of :email_address, :with => /[a-zA-Z0-9_-]+\@[a-zA-Z0-9_-]+\.\w+/, :allow_blank => true, :message => "有効なEメールアドレスではないようです。"  validates_uniqueness_of :email_address, :allow_blank => true, :allow_nil => true, :message => "このアドレスは既に使用されています。" end class UserController < ApplicationController  def email_conf   self.index    u = User.find :first, :conditions=>["user_name = ?",@user_name ]   unless u    u = User.new(:user_name => @user_name)   end   u["email_address"] = params[:email_address]   if u.valid?    u.save    render :text => '<div>thank you!</div>'   else    render :text => "#{u.errors[:email_address]}"   end  end end これだとほかのアクションの場合もバリデーションを行えばこのパターンのみになりますよね。 userコントローラの email_conf でデータ登録するときのみ、このバリデーションをしたいのですが。。

  • Ruby 特異メソッドのnewが先に実行?

    Rubyのインスタンス生成について質問があります。 通常クラスを定義する場合は class Hoge ; def hello(); pirnt "hello"; end であると思います。 ただ Hoge = Class.new(); でもクラスは定義できるとききました。 ただこの場合Hogeクラスに定義できるのは HogeというClassクラスから作られた特異クラスとしてのHogeに 特異メソッドのみを定義できるということですよね? 通常のインスタンスメソッドは定義できませんよね? ではでは、 hoge = Class.new(); とした場合はどうなるのでしょうか? この場合は Classクラスの純粋なインスタンスとなるのでしょうか? 前者の定義とおなじ仕方ですが代入先が、通常の変数です。 この場合は、クラスオブジェクトとして生成されるのですか? オンラインマニュアルをみたところ 「新しく名前の付いていない superclass のサブクラスを生成します。 superclass が省略された時にはObject のサブクラスを生成します。 名前のないクラスは、最初に名前を求める際に代入されている定数名を検索し、見つかった定数名をクラス名とします。」 とあります。 上記内容は Classクラスの特異クラスとして定義されている特異メソッド(new)です。 これは Class.new()で作られたインスタンスを代入する先が定数であればその定数名と同じクラスを定義しつつそのClassクラスのクラスオブジェクトを生成するという意味合いでまちがいないでしょうか? 上記のとおりであれば hoge =Class.new()の場合は、やはりhogeというクラスを定義することになるのでしょうか? クラス定義は定数でなければならないはずですよね。 ただ実際、 p hoge;として出力すると#とひょうじされています。これはhogeがクラスオブジェクトではなく ただのインスタンスであるということでしょうか? であるならばこの hoge = Class.new()の式のnewはClassクラスオブジェクトに定義された特異メソッドではなく Classクラスに定義されたnewメソッド・・・・・つまりClassクラスに定義されたインスタンスメソッドの方のnewメソッドだとおもうのですが・・・・・・。 つまりこちらのメソッドですね。 「new( ... ) クラスのインスタンスを生成して返します。このメソッドの引数はブロック引数も含め initialize に渡されます。」 ※オンラインリファレンスから参照しました。 しかし 通常メソッドの検索は特異メソッドからはじまりその後クラスのインスタンスメソッド->親クラスのメソッドと 検索して行くとあります。 必ず先に、特異メソッドを実行しているはずだと思うのですが・・・。 やはり特異メソッドnewを実行しているのでしょうか? 長々すみませんが、ご教授ください。

    • ベストアンサー
    • 1000vicki
    • Ruby
    • 回答数4
  • rails3初心者 検索対象に別テーブルも含めたい

    ご教授よろしくお願いします。 <実装したい事> productテーブルからmakerテーブルのmaker_nameカラムも検索条件に含めたい。 (productテーブルの検索対象カラムは:codeとname ) (makerテーブルの検索対象カラムは:maker_name ) 以下のコードで試してみましたが、実装できません。 ========================= views ========================= <%=form_tag({:controller => :products,:action => :search}, :method => :get) do %> <%= text_field_tag "search_form",params[:search_form],:size =>25 %> <%= submit_tag '商品検索' %> <% end %> ======================================== products_controller.rb ======================================== def search @products =Product.find(:all, :include => :maker, :conditions =>['maker.maker_name like :value or code like :value or name like :value', {:value=> '%' +params[:search_form]+ '%'}]) end ======================================== リレーションシップ ======================================== product.rb belongs_to :maker **************************** maker.rb has_many :products **************************** どうぞよろしくお願い致します。

    • 締切済み
    • _rin
    • Ruby
    • 回答数8