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

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

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

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

Q&A

解決済

1回答

251閲覧

return「countryを入力してください」が出力されない

kazuki_user

総合スコア147

Ruby

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

0グッド

0クリップ

投稿2020/05/20 05:41

greeting(nil)でretrunを呼び出しても、retrunが反映されません。。
(初心者の為、言葉遣いが誤っていたらすみません。)

不適切な箇所を、どなたか教えて頂けると幸いです。

Ruby

1# -*- coding:utf-8 -*- 2 3def greeting(country) 4 5 return "countryを入力してください" if country.nil? 6 7 if country == "japan" 8 puts "こんにちは" 9 else 10 puts "hello" 11 end 12end 13 14greeting(nil) 15greeting("japan")

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

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

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

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

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

guest

回答1

0

ベストアンサー

retrunが反映されません。。

どうやって確認しましたか?

greeting(nil)とだけしていては、返り値は捨ててしまっているので、正しく返ってきているかどうかもわかりません。

投稿2020/05/20 05:44

maisumakun

総合スコア146018

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

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

kazuki_user

2020/05/20 06:11

VS codeの”出力”画面にて、「こんにちは」としか出力されませんでした。 参考書を写経したのですが、書籍のコードには、 #=>”countryを入力してください” #=>”こんにちは” と出力される旨の記載がありました。 何かお気づきの点がございましたら、ご返信お願い致します。
maisumakun

2020/05/20 06:21

「greeting(nil)」などはファイルに書くのではなく、コンソールに入力するようになっていませんか? コンソールの場合は自動で返り値を表示してくれます。
kazuki_user

2020/05/20 07:14

返信が遅れ、申し訳ありません。 はい。確かに本書にはターミナルのirbにてコードが実行されていました。 そこで質問なのですが、ターミナルでエンターキーを押すとプログラムが実行されてしまうようですが、 改行をすることは不可能なのでしょうか? 改行が出来ず、ターミナルではif文などが書けなかったので、 エディタでコードを書いていました。 上記コードを、やはり丸ごとターミナルに書くべきでしょうか? (そのため?の改行方法などはありますか?) ご返信お待ちしております。 ※VS codeに内蔵されているターミナルを使用しています。 ※Windowsを使用
kazuki_user

2020/05/20 07:16

ネットに記載されていた、shift + Enter などでは反応しませんでした。
maisumakun

2020/05/20 07:20 編集

> ターミナルでエンターキーを押すとプログラムが実行されてしまうようですが、 defなどを始めたときは、メソッド全体を打ち終わるまで実行されません。そのまま改行ありで打っていって大丈夫です。
kazuki_user

2020/05/20 07:39

VS code内蔵のターミナルにて、以下のようにコードを書いてみましたが反応なしです。 誤っている箇所・考え方を教えて頂けると嬉しいです。 ーーーーーーーーーーーーーーーーーーーーーー irb(main):002:0> def greeting(country) irb(main):003:1> return "countryを入力してください" if country.nil? irb(main):004:1> if country == "japan" irb(main):005:2> "こんにちは" irb(main):006:2> else irb(main):007:2> "hello" irb(main):008:2> end irb(main):009:1> greeting(nil) irb(main):010:1>
otn

2020/05/20 12:09

defに対するendが無いです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問