2016-10-20 16 views
-2

この例ではデータベースをrubyと接続しようとしていますが、メンバテーブルから出力名、姓を入れたいとします。しかし、私はname surnameとして出力を表示できませんでした。エラーです。私はルビーの新作です。その例ではどのようにeach_hashを使用できますか?出力:Rubyでは、each_hash関数の構文エラー、予期しないtIDENTIFIER、予期しているキーワード

name surname 
name1 surname1 

私のコード:

con = Mysql.new('localhost', 'root', 'root', 'ruby') 
rs = con.query('select * from members') 
rs.each_hash { |name, surname| puts name['name'], puts surname['surname']} 

エラー:あなたが別の行またはエンドラインに,を使用することはできません

$> ruby membershow.rb

membershow.rb:7: syntax error, unexpected tIDENTIFIER, expecting keyword_do or '{' or '(' ...puts name['name'], puts surname['surname']}

おかげ

答えて

1

。それは;でなければなりません。これを使用してください:

rs.each_hash { |name, surname| puts name['name']; puts surname['surname']} 
+1

さらに、文字列補間を使用してください: 'rs.each_hash {| name、surname | puts "#{name ['name']}#{姓['姓]]}}}。 – mudasobwa

+0

はい、それは良いですが、OPが新しい行で印刷したいと思うかもしれません。それは他の方法でも達成することができますが – Sajan

+0

これは正しいものなので、あなたは 'mysql2' gemを使用していると思います。ここにはそのドキュメントがあります。https://github.com/brianmario/mysql2#usage – Sajan

関連する問題