Sun~sun~Flower's

〜ITエンジニアとして日々前向きに生きていくノウハウブログ〜

MENU

【初心者向け】【Railsアプリケーション】ワンライナーに書き換える方法

f:id:mTakata:20200430222558j:plain

こんにちは。

当ページにアクセスしてくださり、ありがとうございます。

 

この記事は、プログラミング言語「Ruby」のフレームワーク「Rails」についての記事になります。

問題

同じ結果を得るためにも、様々なコードの記述方法が、プログラミングにはあります。


以下のコードをワンライナーに書き換える方法について、2パターン以上のコードを記述してください。

```Rails(Ruby)

1 array = [1, 2, 3, 4, 5].map do |el|
2 if el.odd?
el
4 end
5 end.compact!
```

模範回答

```Rails(Ruby)
   
1個目
array = [1, 2, 3, 4, 5].map { |el| el if el.odd? }.compact!

2個目 array = (1..5).to_a.delete_if { |el| el.even? }

3個目 array = (1..5).to_a.delete_if(&:even?)

4個目 array = [1, 2, 3, 4, 5].select{ |el| el.odd?}
```

他にも方法があるかもですが、ひとまずは上記の通りです。

 

ちなみにワンライナーとはざっくり言いますと、

 

何行にも書かれたコードを、一つにまとめる方法です。

 

例えば、

```Rails(Ruby)
   
1
if message == "プログラミング楽しい"
2  puts "その調子で頑張れ!"
3 end
```

 

上記のように3行のコードで成り立つif文でも、「ワンライナー」という方法をとると

```Rails(Ruby)
   
1 puts "その調子で頑張れ!" if message == "プログラミング楽しい"

```

このように書き方は変わりますが、1行で書けるようになります。

 

メリットは、

❗️コードが、スッキリして読みやすくなる

一つしか思いつきませんでしたが(すみません)、職場で開発になると何百行ものコードが書かれていることもあるので、このメリットは大きいと思います。

 

以上となります、参考になれば幸いです。

 

最後まで読んでいただき、ありがとうございました。