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

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

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

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

Q&A

解決済

3回答

1041閲覧

Ruby シンボルをirbで入力するとエラーが出る

banbook18

総合スコア13

Ruby

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

0グッド

0クリップ

投稿2016/06/09 02:42

「たのしいRuby第三版」を勉強していて、いまはHashとsymbolのところをやっています。

irb出力でstr = sym.to_s と入力するとエラーメッセージが出てきて困っています(本のとおりに入力しています)。
現在のRubyのバージョンは2.3なのですが、この参考書に対応しているのは1.8と1.9と書かれているので、バージョン違いから起こるものなのかと考えていますが、対処方法がわかりません。
このような不具合が続くようであれば、最新の参考書を買ったほうが良いでしょうか?また、参考書以外でオススメのサイトなどありましたらお願いします。

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

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

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

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

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

k.tada

2016/06/09 02:44

エラーの内容ぐらいは記載して欲しいです。
guest

回答3

0

疑問が起こったときの拠り所の1つは リファレンス・マニュアルです。

これを読んで行くと、 (ページ中の to_s を探す)

...
id2name -> String[permalink][rdoc]
to_s -> String
シンボルに対応する文字列を返します
...
p :foo.id2name # => "foo"
...

という記述がみつかります。

これは id2name と to_s は同じ機能であり、使用例として
:foo.id2name は "foo" が返ることが記されているわけです。

マニュアルを読んでも不明な場合は、ソースコードを読むという手段もあるのですが、
まずは、マニュアルを読む事と web 上で検索する事を行えば、大抵の事に対処できると思います。

投稿2016/06/10 16:28

katoy

総合スコア22324

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

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

0

ありがとうございます!
:を付けたら解決しました!

投稿2016/06/09 23:53

banbook18

総合スコア13

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

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

0

ベストアンサー

バージョンの違いでは無いです。
symはシンボルではなく未定義です。

本には、symの前に: (コロン)は付いていないでしょうか。
無ければ、事前に定義してある前提か、本の誤りです。

バージョンが気になるようであれば、最新の参考書も買って合わせるか、違いをまとめたサイトを見たほうが良いかと思います。

バージョンの違い参考

投稿2016/06/09 10:40

miyamiya

総合スコア691

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問