• 締切済み

Rubyでの配列データの表示

NetBeansを使ってRubyの勉強をしています。 PHPのprint_rのように配列のデータ構造などを画面に表示させたいのですが、 Rubyの場合は、pやppというのを使うと検索して知りました。 サイトの説明の通りに、test.rbというコントローラとtest.rhtmlというビューを用意して test.rbに以下のコードを記述したのですが、表示されません。 def test require 'pp' profile = {"last_name" => "yamada", 'first_name' => "takesi", 'addres' => 'Tokyo', 'old' => 28, 'height' => 172, "weight" => 65} p profile print "\n" pp profile end どうすれば、配列データをブラウザで表示することができるのでしょうか。 どうかご教示いただけますよう宜しくお願い致します。

みんなの回答

回答No.3

こちらのサイトがわかりやすいですよ http://www.rubylife.jp/rails/erb/index.html 配列をいったん【インスタンス変数】に代入し それをrhtmlから参照するとうまくいくと思います。 イメージとしては rbファイルでスクリプト部分を rhtmlでは結果を読み出すだけ と言う感じです。 さらにたとえると rbファイル:javascript servlet rhtml:html jsp 見たいな役割です。 参考までに。

  • siffon9
  • ベストアンサー率64% (136/211)
回答No.2

NetBeansのことはよくわかりませんが、掲示のプログラムはdef test ~ end の記述のみでメソッドtestの定義しかしてません。 endの次行にtestと書いてメソッドを呼び出さないと動作しないのではないでしょうか?

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.1

>配列データをブラウザで表示 ブラウザで表示、ってCGIプログラムを作ってたりするんですか? あるいは Ruby on Rails で何かやってるとか。

yoshi4904
質問者

補足

sakusaker7さんありがとうございます。 始めたばかりで、「これを作る」っていうわけではないのですが、 Ruby on Railsを使って勉強しています。

関連するQ&A

  • Ruby初心者です。最初でつまずいています

    MacBookAir OS X El Capitan ver 10.11.5 にてruby 2.3.1p112を使用しています。 print (“hello”) とだけ書いたtest.rbというファイルを ターミナルで ruby test.rb と打ち込んで作動させたのですが、 test.rb:1:in `<main>': undefined local variable or method `“hello”' for main:Object (NameError) と表示されてしまいます。 本当に初期の初期の段階で、プログラムも本当に単純なのに、なぜ作動しないかがわかりません。 どなたか、考えられる原因をご指摘いただけると幸いです。

    • ベストアンサー
    • Ruby
  • Ruby のコードの実行の仕方がわかりません。

    Ruby のコードの実行の仕方がわかりません。 私は、Javaプログラマーなのですが、Javaコードに行番号をつけて 整形したHTMLコードを出力してくれるツールを探していたところ Rubyで書かれたツール rb2html.rb にたどり着きました。 そこで、   http://rubyinstaller.org/download.html のサイトから、Ruby 1.8.7-p249 (RC2) をダウンロードし、WindowsXP(SP3)の   C:\Program Files\Ruby にインストールし   C:\Program Files\Ruby\bin にパスを通しました。コマンドプロンプトにて   C:\> ruby --version の入力に対して   ruby 1.8.7 (2010-01-10 patchlevel 249) [i386-mingw32] と出力されますので、インストールまでは成功していると思います。 次に、 rb2htmlrb を   http://www.nslabs.jp/rb2html.rhtml から   rb2html-2.4.tar.gz をダウンロードし、解凍後、rb2html-2.4 を   C:\Program Files\Ruby に置きました。 そして、とりあえずテストとして、同梱のsamples/Hoge.java で動作を確認してみようと   C:\Program Files\Ruby\rb2html-2.4>rb2html.rb samples/Hoge.java   | と入力してみたところ、何も出力されず、上記のようにカーソルが 点滅した状態で止まってしまっています。 どこに、問題があるのか、ご教授いただければ幸いです。

  • rubyがInternalServerError

    こんばんは。 自鯖にて初めてrubyを動かそうとしたところInternalServerError(500エラー)が帰ってきます。 まず、httpd.confに ---------------------- AddHandler cgi-script .cgi .rb ---------------------- と追加しました(このため.htaccessは作成しなくていいと思う)。 コマンドラインにて[which ruby][whereis ruby]を使い、[/usr/bin/ruby]にrubyがあることはわかるのですが、エラーが出てしまいます。 [test.rb] ---------------------- #!/usr/bin/ruby print "Content-type: text/html\n\n" print "test" ---------------------- 上記プログラムには755のパーミッションを与えています。 上記のフォルダにはCGI実行権が与えられています。 上記のフォルダではCGIはしっかりと動きます。 上記のプログラムはコマンドライン上[ruby test.rb]では動きます。 また、他のサイトもいろいろ調べましたが #!/usr/bin/env ruby #!ruby #!/usr/local/bin/ruby どのいパスでもエラーがでました。 解決方法を教えてください。 サーバ ---------------------- CentOS 5.4Final Apache 2.2.3 Ruby 1.8.5 ----------------------

  • ruby erbでの表示がうまく行きません。

    本当に初心者ですので、質問が分かりづらいかもしれませんが、よろしくお願いします。 環境は、OS:WindowsXPSP3 ApacheHttpserver2.2 Ruby-186-26 RubyGems -v 0.9.4 です。 erbを使って簡易掲示版を作ろう!!と言うものなのですが、 ・keijiban.html ・keijiban.rb ・data.csv(書き込んだデータ保存用csv)・・・cgi-binに保存 ************************************************************ 入力ミスは散々見直しました。 添付ファイルが2つのファイルです。localhostで表示してみていますが、 初期表示は出来ますが、データを追加しようと『投稿する』ボタンをクリックすると 画面が真っ白になります。 入力ミスは散々見直しました。 初期表示が出来ると言う事は、keijiban.rbは動作していると思われます。 REDで簡易解析と言うのをしてみた所、次のエラーが出たり出なかったりです。 C:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require': no such file to load -- rde (LoadError) from C:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `require' from C:\Program Files\RDE\rde_export.rb:9 from C:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require' from C:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `require' from C:/Program Files/Apache Software Foundation/Apache2.2/cgi-bin/rb1D.tmp:71 Complete(1) 何か、インストールが足りないのでしょうか? 教えて下さい。 2000字超えたため、別ファイルに全文を記入しています。

    • ベストアンサー
    • Ruby
  • データの配列

    POSTで送られたデータから配列を作りたいのです。 下記はPOSTのデータをprint_r($_POST)で全て表示していますが、 この中から[NO0~11]までを array([0]=>11 [1]=>6 ~)というような形で配列として表示したので すが、方法が分かりません。 Array ( [N00] => 11 [NAME0] => a [N01] => 6 [NAME1] => b [N02] => 9 [NAME2] => c [N03] => 3 [NAME3] => d [N04] => 12 [NAME4] => e [N05] => 10 [NAME5] => f [N06] => 1 [NAME6] => g [N07] => 5 [NAME7] => h [N08] => 2 [NAME8] => i [N09] => 7 [NAME9] => j [N010] => 4 [NAME10] => k [N011] => 8 [NAME11] => l)

    • 締切済み
    • PHP
  • rubyで特定カラムを持つ配列を削除する方法

    ruby on railsにおいて、以下のようにinpectで表示させたときに二次元ハッシュで表示される変数testがあるとき、nameがbbbの行を削除した配列を作成したいのですが、どのようにすればよろしいのでしょうか。 ●現状 logger.debug test.inpect [#<"id" => 1 , "name" => "aaa" >, #<"id" => 2 , "name" => "bbb" >, #<"id" => 3 , "name" => "ccc" >, #<"id" => 4 , "name" => "bbb" >]  ↓ ●削除後 logger.debug test.inpect [#<"id" => 1 , "name" => "aaa" >, #<"id" => 3 , "name" => "ccc" >] なかなか上手く移行ができず苦慮しています。ご教示お願いいたします。

  • POSTで配列のデータを渡す方法は?

    初歩的な質問で申し訳ございません。配列でデータを入力し、POSTで配列のデータを渡す方法を知らなくて困っています。いろいろ調べましたが、見つかりません。 だれか、教えてください。 ..... &ReadParse(*in); for ($i = 0 ; $i <=10 ; $i++){    $data[$i] = $in{'data[$i]'}; } sub main { 。。。以下修正部分・。。。 print "<form method=\"POST\" action=\"$userpro\">"; print " <input type=\"hidden\" name=\"mode\" value=\"miss1\"><p>"; print " <input type=\"text\" name=\"data[1]\" size=\"20\" value=\"$data[1] \">"; print " <input type=\"text\" name=\"data[2]\" size=\"20\" value=\"$data[2] \">"; print " <input type=\"text\" name=\"data[3]\" size=\"20\" value=\"$data[3] \">"; ...... print " <p><input type=\"submit\" value=\"修正\" name=\"B1\"></p>\n" ; print "</form>\n" ; ・・・・ } #Submit後実行される関数 sub miss1 { print "Content-type: text/html\n\n"; for ($i = 0 ; $i <=10 ; $i++){ print "$i-$data[$i]<br>"; } exit; } 結果は 0-空(空白) 1-空(空白) 2-空(空白) 。。。 にです。 何が間違っているでしょうか。よろしくお願いします。

    • ベストアンサー
    • Perl
  • ruby on railsのscaffoldで配列を定義するには

    ruby on railsのscaffoldで配列を定義するには rails2.3での質問です。 通常、scaffoldで >ruby script/generate migration TestData name:string id:integer のようにデータ構造を指定すると思うのですが、この時に配列を定義するには どうしたら良いのでしょうか? 通常の(C言語のような)配列でもハッシュでも構いません。 よろしくお願いいたします。

    • ベストアンサー
    • Ruby
  • RubyをOSXで!が動かなくて困り果てています(T T)

    プログラミング言語Rubyを,MacOSX(10.5.5)という環境で学ぼうとしています. 簡単なサンプルコードをコピペして,ターミナルで ruby test.rb(print \"Hello Ruby\\n\"とだけ書いている) としても,何の変化もないんです. ruby -v でちゃんとバージョンが表示されるのでパスは通っているはずですが... なんだか,最初でつまずいてしまって意気消沈してしまっています. 何か打つ手をご存知のかた,どうやったらプログラムが動くでしょうか? よろしくお願いします.

  • rubyのファイルを実行できません。

     Debian(Woody)の環境です。 #find ./ -name ruby ./usr/bin/ruby ./usr/share/doc/ruby ./usr/doc/ruby ./usr/lib/ruby があり、/usr/binにrubyのファイルが確認できます。 $ruby -v ruby 1.6.7 (2002-03-19) [i386-linux] が出ます。pathが通っています。 $ ruby -e 'print "hello World\n"' で hello World もちゃんどでます。 しかし、vi hello.rbで、中には ------------------- #!/usr/bin/ruby print "Hello World!\n" --------------------- と、実行権-rwxr-xr-xにします。 %hello.rb では: bash: hello.rb: command not found が出て,実行できませんでした。 ファイルの中に、#!/usr/lib/rubyに代えてもおなじでした。  因みに %env で ... PATH=/usr/local/bin:/usr/bin:/bin:/usr/bin/X11 ... がでます。  アドバイスをよろしくお願いします。

    • 締切済み
    • CGI

専門家に質問してみよう