LoginSignup
0
0

More than 1 year has passed since last update.

rubyでの改行

Posted at

rubyで、\nのようにして改行する方法は知っていたのですが、ほかにも改行するやり方があったので、それを紹介しようとおもいます。

+を使った際の改行

p (2+
1)
=> 3

p (2\
+1)
=> 3

p(2
  .+1)
=> 3

文字列とシンボル、そして数値を改行する

p "ho\
ge"
=> "hoge"

#\の直後にスペースが入っている
p "hoge\ 
ge"
=> "hoge \nge"

p :"ho\
ge"
=> "hoge"

p 10\
1
=>SyntaxError

ピリオドによる改行

p 3.
  to_s
=> "3"

p 3
  .to_s
=> "3"

ピリオドの場合は、ピリオドが改行前にあるか、改行後にあるかは関係ないんですね。

メソッドを使うときの改行

def hoge(a);
  p "hoge:#{a}"
end

hoge(1)
=> "hoge:1"

hoge(
    1)
=> "hoge:1"

hoge\
(1)
=> "hoge:1"

hoge\
1
=> "hoge:1"

実際に問題を解いてみる

image.png

選択肢➀

ピリオドでメソッドを区切っているパターンです。上に書いたように、ピリオドは前に書いてもあとに書いてもオッケーなので、この選択肢は正解になります。
このコードはirbなどのコンソールから打つとエラーを吐きますが、ファイルに書いてやるとエラーは起きないです。

選択肢➁

選択肢➀と同じ理由からこの選択肢も正解になります。

選択肢➂

バックスラッシュで区切る問題です。上に似たようなものが書いてありますが、行の末尾にバックスラッシュをいれることで、1行のコードとみなされるんです。そのため、この選択肢も正解になります。

選択肢➃

この問題はも正解となります。選択肢➀、➁が正解な理由と同じです。

まさかの全選択肢正解です笑イジワルですね笑
以上です。何か間違いがございましたら、ご教示いただけますと幸いです。

【参考資料】

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0