質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

1回答

633閲覧

Rubyで名前、年齢、特技の表示をしたい

tsuyo244s

総合スコア37

Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

1グッド

1クリップ

投稿2018/06/29 09:27

編集2018/06/30 08:46

Rubyで名前、年齢、特技を表示したいです。

出力例
私の名前は"@nameの値"です
年齢は"@ageの値"です
特技は"@skillの値"です

条件は以下の通りです。
・インスタンス変数として、名前、年齢、特技を保持する変数を持つ
・それぞれをオブジェクトを作成後も変更可能にする。
・それぞれを出力する関数を持つ
・特技は配列でも出力できるようにする

class MegaGreeter attr_accessor :name attr_accessor :age attr_accessor :skill def initialize(x, y, z) @name = x @age = y @skill = z end def names puts "私の名前は#{@name}です" end def ages puts "年齢は#{@age}です" end def skills puts "特技は#{@skill}です" end end user1 = MegaGreeter.new("一郎", 20, "サッカー") user1.names user1.ages user1.skills user2 = MegaGreeter.new("二郎", 19, "野球") user2.names user2.ages user2.skills user3 = MegaGreeter.new("三郎", 18, "サッカー,野球,水泳") user3.names user3.ages user3.skills

・特技は配列でも出力できるようにする
というのができないです。
よろしくお願いします。

DrqYuto👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mather

2018/06/29 09:35

冒頭の内容を実現するに当たり、say_hi, say_bye はどういう役割を想定していますか?あと、全角空白が紛れ込んでいますのでソースコードをよく確認してください。
mather

2018/06/29 09:36

あと、もし学校の課題を丸投げしているようなら、まずは自分で解いてから、どうしてもわからないポイントを質問するようにしてください。
tsuyo244s

2018/06/29 09:46

say_hi,say_byeについては、似たような課題に書かれていたので、記述してしまいました。申し訳ありません。
mather

2018/06/29 09:52

では、不要なコードは削除してください。いずれにせよ「何を書いていいかわからない」という丸投げでは回答できませんので、具体的にどの部分でつまづいているのか書いてください。
tsuyo244s

2018/06/29 10:02

「私の名前はtorouです」と表示したい場合は、 puts "私の名前は”@nameの値”です"でよいのでしょうか?
mather

2018/06/29 10:04

それを質問に書くのではなくソースコードに書いて実行してみてください。
tsuyo244s

2018/06/29 13:15

返信が遅くなってしまい申し訳ありません。コードの修正とエラーの内容を追加しました。Ruby初心者です。よろしくお願いします。
guest

回答1

0

def でメソッドを定義するときは名前が必要です。名前を決めてメソッドを作ってください。以下の例だと hoge がメソッド名です。

ruby

1def hoge 2 "sample" 3end

ただし、 attr_accessor によってすでに namename= といった名前のメソッドは定義済になっているので、変数名と全く同じメソッド名は避けてください。

それと、また全角空白文字が含まれています。エディタの文字列検索で探すなどして半角スペースにすることをおすすめします。

投稿2018/06/29 14:10

mather

総合スコア6753

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tsuyo244s

2018/06/29 14:41

エラーはなくなったのですが、ターミナルに 私の名前は"@nameの値"です 年齢は"@ageの値"です 特技は"@skillの値"です が表示されません。次はどうしたらよいでしょうか? また、全角空白文字は未だ発見できていません。もう少し探して見ます! よろしくお願いします。
tsuyo244s

2018/06/30 04:18

私の名前は"@nameの値"です 年齢は"@ageの値"です 特技は"@skillの値"です は表示されました! ・特技は配列でも出力できるようにする というのがわからないです。 よろしくお願いします。
mather

2018/06/30 04:57

何度も書きますが、何がわからないのかをきちんと書いてください。答えようがありません。 ・データはできたが、配列で出力する方法がわからない ・「配列」の意味がわからない ・問題設定の意味がわからない
tsuyo244s

2018/06/30 08:53

返信が遅くなってしまい申し訳ありません。 上記のコードで三郎の特技について "特技はサッカー,野球,水泳です" と表示することはできたのですが、正しい記述かどうかがわかりません。 ・「配列」の意味 ・「配列」の正しい使い方 ・「配列」で出力する方法 を教えていただきたいです。 よろしくお願いします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問