Ruby
- for 変数 in ・・・ の使い方について
for 変数 in ・・・ の使い方について 以下のプログラムの一部について質問です。 require 'socket' port = 2000 server = TCPServer.open(port) socks = [server] while true ns = select(socks) next if ns == nil for s in ns[0] if s == server (以下略) 8行目のfor s in ns[0]の使われ方が納得できません。 sにns[0]を入れると、<<を使っても変更されないから、意味がないと思うのですが、なぜここでforを使ってるんでしょうか? ns[0]を消去するようなメソッドはforの下ではつかわれていないようにみえるのですが・・・。
- Procの==はほとんど常にfalseを返す?
Procの==はほとんど常にfalseを返す? Proc#==は同じインスタンスであるか、それぞれのインスタンスの内容がまったく同じ場合にtrueを返すことを期待していたのですが..なぜ以下のようなことが起きるのでしょうか? >> Proc.new{}==Proc.new{} => true >> a = 1 => 1 >> Proc.new{a}==Proc.new{a} => false 私の想像の及ばないところで何か起きているような気がしています。ご教授下さい。
- いつもお世話になっております。
いつもお世話になっております。 rubyで分からないことがあります。 ご存知の方がおられましたら、ご教授お願い致します。 【質問】 以下の文字列があるとします。 (文字列) <!-- Advertiser 'XXX', Include user in segment 'test' - AAA -->\n<img src=\"BBB\" width=\"1\" height=\"1\" />\n<!-- End of segment tag -->\n<!-- Advertiser 'XXX', Exclude user from segment 'test' - AAA -->\n<img src=\"CCC\" width=\"1\" height=\"1\" />\n<!-- End of segment tag --> この文字列を以下の様に変数1、変数2に入れたいのですが、 どのようにプログラムを記述すればよいでしょうか? (変数1の内容) <!-- Advertiser 'XXX', Include user in segment 'test' - AAA -->\n<img src=\"BBB\" width=\"1\" height=\"1\" />\n<!-- End of segment tag --> (変数2の内容) <!-- Advertiser 'XXX', Exclude user from segment 'test' - AAA -->\n<img src=\"CCC\" width=\"1\" height=\"1\" />\n<!-- End of segment tag -->
- 改行文字について質問
改行文字について質問 Rubyで文字列を作る際、改行といえば\nですが、HTTPクライアントを作成する際のHTTPクライアントのリクエストには改行する際\r\nか\rを使っています。このリクエスト部分で今まで使っていた\nでやらないのはRubyとは異なる言語だからなんでしょうか? この部分もRubyなら、なぜ\nだけでやらないのでしょうか?CRとLFの名前と意味はわかってるのですが、文字列のところでは\nだけでCRの効果も得られたと思います。 よろしくお願いします。
- Routing Error
Routing Error rails プロジェクトフォルダ内に 「user」フォルダーを作成し その中にあるhtmlfileを表示させたいです。 /user/test.html routing error になってしまい表示することができません。 どうやれば表示することができますでしょうか? 宜しくお願い致します。
- ping送信プログラムについて
ping送信プログラムについて require "ping" host = "localhost" puts Ping.pingecho(host) というプログラムを実行すると、以下のようにエラーが出ます。 C:/src/ping.rb:4:in '<top (required)>': uninitialized constant Ping (NameError) from ping.rb:1:in 'require' from ping.rb:1:in '<main>' requireが未定義ということなんでしょうか? 使用しているRubyは1.91です。 宜しくお願いします。
- Ruby on Railsで作られたアプリのたくさんあるサイトを教えて
Ruby on Railsで作られたアプリのたくさんあるサイトを教えて下さい。 Ruby on Railsの勉強をしているのですが、とりあえず超基本は覚えたので、Railsで作られたアプリ(サイト) をいろいろ読んでみて勉強したいと思います。 以前にRailsのアプリがたくさん載っているサイトをどっかで見つけたのですが、忘れてしまいました。 大規模なものだけでなく、数ページで出来ているような小さなアプリもあるようなサイトでした。 何かご存知のサイトがあればぜひ教えて下さい。
- Railsによるブログアプリ、記事閲覧ページ内の「前の記事へ|次の記事
Railsによるブログアプリ、記事閲覧ページ内の「前の記事へ|次の記事へ」の実装 よくあるブログの記事閲覧時(scaffoldで言う所のshowアクション)に下の方にある、 「前の記事へ|次の記事へ」 というリンクの実現につまずいております。。。 users:ユーザー情報のモデル blog_entries:ブログの記事モデル それぞれのテーブルはuser_id、blog_entry_idと言った感じで紐付いています。 どのユーザーが記事を書いても、blog_entryのテーブルのレコードとして格納され、 indexページなどで、ユーザー毎の記事をとり出す時は、以下のようにしています。 @user = User.find(params[:user_id]) @blog_entries = BlogEntry.paginate( :conditions => [ 'user_id = ?', @user ], :page => params[:page], :per_page => 10, :order => "created_at DESC" ) $page_title = "#{@user.name}さんの日記一覧" このような場合、 記事閲覧時の「前の記事へ|次の記事へ」のリンクを実装する場合、 どのようなアイデアがございますでしょうか。 詳細に欠ける質問で大変恐縮ではございますが、 皆さまにお力添えいただければ幸いです。 宜しくお願いいたします!
- エクセルのデータをTAB区切りテキストに出力
エクセルのデータをTAB区切りテキストに出力 1.エクセルのデータをTAB区切りテキストに出力して 2.そのテキストを入力としてrubyでデータ加工 という作業があります。現在1を手動で行っておりますが、ファイルが多いためこの操作をファイル名とシート名を指定してrubyから操作できればと考えております。 できれば追加でライブラリをインストールすることなく実現できればありがたいのですが、簡単な方法がございましたらご教示ください。 環境は、Win XP、Office 2003、ruby 1.9.1です。 最終的にはエクセルファイルから直接データを取得できるようにしたいのですが、当面は上記の方法で凌ぎたいと考えております。
- rubyのWatirでIEが起動しない。
rubyのWatirでIEが起動しない。 こんにちは rubyをはじめて使ってみたものです。 自動化のためにWatirを使用したいです。 インストールは無事終わっていますが、サンプルプログラムを叩くと以下の様なエラーが出てしまいにっちもさっちも行きません。 IEも起動できません。 どなたか助けていただけると本当にうれしいです。 サンプルプログラム require 'watir' agent = Watir::IE.start "http://www.google.co.jp/" ruby.exe -コンポーネントが見つかりません msvcrt-ruby18.dllが見つからなかったため、このアプリケーションを開始できませんでした。アプリケーションをインストールしなおすとこの問題は解決される場合があります。 C:/Ruby191/lib/ruby/gems/1.9.1/gems/windows-api-0.4.0/lib/windows/api.rb:1:in `r equire': 126: 指定されたモジュールが見つかりません。 - C:/Ruby191/lib/ruby/gem s/1.9.1/gems/win32-api-1.4.6-x86-mingw32/lib/win32/api.so (LoadError) from C:/Ruby191/lib/ruby/gems/1.9.1/gems/windows-api-0.4.0/lib/windows/a pi.rb:1:in `<top (required)>' from C:/Ruby191/lib/ruby/gems/1.9.1/gems/windows-pr-1.0.9/lib/windows/er ror.rb:12:in `require' from C:/Ruby191/lib/ruby/gems/1.9.1/gems/windows-pr-1.0.9/lib/windows/er ror.rb:12:in `<top (required)>' from C:/Ruby191/lib/ruby/gems/1.9.1/gems/win32-process-0.6.2/lib/win32/p rocess.rb:1:in `require' from C:/Ruby191/lib/ruby/gems/1.9.1/gems/win32-process-0.6.2/lib/win32/p rocess.rb:1:in `<top (required)>' from C:/Ruby191/lib/ruby/gems/1.9.1/gems/watir-1.6.5/lib/watir/ie-proces s.rb:1:in `require' from C:/Ruby191/lib/ruby/gems/1.9.1/gems/watir-1.6.5/lib/watir/ie-proces s.rb:1:in `<top (required)>' from C:/Ruby191/lib/ruby/gems/1.9.1/gems/watir-1.6.5/lib/watir/ie.rb:45: in `require' from C:/Ruby191/lib/ruby/gems/1.9.1/gems/watir-1.6.5/lib/watir/ie.rb:45: in `<top (required)>' from gui.rb:2:in `<main>' rubyのバージョンは C:\ruby>ruby -v ruby 1.9.1p378 (2010-01-10 revision 26273) [i386-mingw32] です。 One-Click Ruby Installer for Windowsを使用してインストールしました。 watirは以下のURL通りにインストールしました。 gem update --system gem install watir http://www.sixapart.jp/techtalk/2008/06/watir_1.html OSはwindowsXP SP2です。 どなたか本当に助けていただけると感謝でいっぱいの気持ちになります。 どうぞよろしくお願いいたします。
- rubyを使ってhttp経由で外部プログラム起動させたい
rubyを使ってhttp経由で外部プログラム起動させたい httpを経由して遠隔にあるPCのローカルスクリプトやC言語の実行バイナリを起動するにはどうすればよいでしょうか? スタンドアロンの場合は、 system "ruby hello.rb" system "ruby c:\\test\\hello.rb" system "sample.exe" などで外部プログラムを起動できると思いますが、これを遠隔PCに対して行いたいです。 イメージとしては、(アドレスはテスト用として) system "ruby http://localhost/hello.rb" のようなことがしたいのですが・・・ よろしくお願いいたします。
- Ruby on Rails 「attr_accessor」 の使い方に
Ruby on Rails 「attr_accessor」 の使い方について こんにちは。 現在、Ruby on Railsで登録画面を作成しているのですが、attr_accessorで定義した項目に対して、validationのチェックを行うと、問題が起きてしまいました。 attr_accessorで定義した項目は、DB登録の対象ではないのですが、lengthのチェック等を行う必要があり、validates_length_of等を使って入力チェックを行っています。 問題になったのは、入力があったときだけチェックをかけたいのに、入力がなくてもチェックがかかってしまうという状態になってしまうことです。 「:if => 項目?」を書いてみると、「undefined method」のエラーがでてしまいます。 どなたか対応策の分かる方がおられましたらご教授いただけないでしょうか? 下記に実際の問題箇所のモデルクラスのソースを書いておきます。 class User < ActiveRecord::Base attr_accessor :NEW_USER_PW ← 追加したアクセサ # 追加したアクセサに対するチェック validates_length_of :NEW_USER_PW, :minimum=>4, :message=>"は%d桁以上を設定してくださ い。", :on => :update, :if => :NEW_USER_PW? end 上記のチェック内の「:if => :NEW_USER_PW?」で落ちてしまいます。 入力がないのにチェックに引っかかるとまずいので、入力がないときだけ上記チェックを行えれば良いのですが・・・。 どうぞ宜しくお願い致します。
- 16進数を表す0xって何?
16進数を表す0xって何? 多くのプログラム言語で16進数を表す接頭語として0xが使われますが、これって何かの省略なのでしょうか? お教え願います。
- rubyの文法について質問です。
rubyの文法について質問です。 aaa = `diff -q bbb ccc` のような形でdiffコマンドの実行結果をaaaに格納したいのですが bbb及びcccを任意に入力したく、一度getsメソッドでbbb,cccそれぞれに文字列を代入したのですが、それをバッククォーテーション内で使用できず困っています。 なにか解決策がありましたらご教授いただけるとありがたいです。 よろしくお願いします。
- 現在、Ubuntu9.04 + Ruby 1.8.7 の環境でプログラ
現在、Ubuntu9.04 + Ruby 1.8.7 の環境でプログラムの勉強をしています。 エディタには Geany を使用しているのですが、このエディタでRubyのソースを デバッグすることはできないのでしょうか? できるとしたら、どうやって組み込めばよいか教えてください。 よろしくお願いいたします。
- macでrubyを使用するには?
macでrubyを使用するには? プログラミングの初心者です。 仕事上、プログラミングができるようになりたいと思っております。 そこで教えてください。 macのOS Xには最初からrubyがインストールされていると聞きますが、 そもそもどこにあるのでしょうか? また、どのアプリ上で使用するのでしょうか? 初級の質問ですいません。 よろしくお願いします。 それから、rubyについて解りやすいサイトなど教えていただければ助かります。m(__)m
- サロゲートペアの文字コード→文字変換
サロゲートペアの文字コード→文字変換 Windows上でRubyを使って文字コードの書かれたファイルを読み込んで文字を出力しようとしています。 サロゲートペアの文字コードを文字に変換するにはどうしたらいいでしょうか? たとえば上位サロゲートがa、下位サロゲートがbであるとき、JavaScriptでは次のようにすれば文字が得られるようです。 var s; s = String.fromCharCode(a,b); alert(s); (参考:http://codezine.jp/article/detail/1592) これをRubyでやろうとしていていろいろ調べてみたのですが、探し方が悪いのかわかりません。 どう書けばよいのか教えてください。 なお、WinsowsはXPです。ファイルに出力して正しく出力されているかどうかを確認しています。 よろしくお願いします。
- rubyの正規表現で"["を使いたいのですが、正しく実行できません
rubyの正規表現で"["を使いたいのですが、正しく実行できません #! ruby -Ks a ="test[test" b ="test[" if /#{b}/ =~ a print "hit" end エラー内容は test.rb:4: invalid regular expression; '[' can't be the last character ie. can't start range at the end of pattern: /test[/ (RegexpError) "\["と文字を入力することで解決するかと思いましたが上手くいきませんでした。 rubyのバージョンは1.8.2です。宜しくお願いいたします。
- rubyでcgiのセッションを利用したいと考えています。サンプルプログ
rubyでcgiのセッションを利用したいと考えています。サンプルプログラムをまるまるコピーさせてもらって試したところ全く動きません(リロードするたびにカウントが増えるはずですが常に0)。そもそも何も保存されていないようです。しかし特にエラーは出ていません。以下のサンプルプログラムのページにあるものはきちんと動作しています。 http://d.hatena.ne.jp/unageanu/20080607 http://unageanu.sakura.ne.jp/blog-samples/080607/session.cgi perlのサンプルを試してみたところきちんと動いたのでサーバ設定の問題ではないと思っています。rubyでセッションを使うために事前準備等が必要なのでしょうか?ちなみにrubyのバージョンは1.8.7です。
- ベストアンサー
- Ruby
- pirorirori
- 回答数1