質問するログイン新規登録

回答編集履歴

2

tap

2016/12/29 14:53

投稿

mpyw
mpyw

スコア5223

answer CHANGED
@@ -18,4 +18,13 @@
18
18
  sample = [""] if sample.empty?
19
19
  ```
20
20
 
21
- です。
21
+ です。
22
+
23
+ ----
24
+
25
+ 【追記】
26
+ 2行になるのが嫌であれば,1行に収めることもできます。
27
+
28
+ ```ruby
29
+ sample = num[i].split(" ").tap{|x| break [""] if x.empty?}
30
+ ```

1

訂正

2016/12/29 14:53

投稿

mpyw
mpyw

スコア5223

answer CHANGED
@@ -7,13 +7,15 @@
7
7
  で十分ですが, `num[i]` が空文字列のときの動作が異なるので,これを考慮するなら
8
8
 
9
9
  ```ruby
10
- sample = num[i].split(" ") || ""
10
+ sample = num[i].split(" ")
11
+ sample = [""] if sample.empty?
11
12
  ```
12
13
 
13
14
  です。さらに `num` は存在するが `num[i]` が存在しない場合の動作も同じにするなら
14
15
 
15
16
  ```ruby
16
- sample = (num[i] || "").split(" ") || ""
17
+ sample = (num[i] || "").split(" ")
18
+ sample = [""] if sample.empty?
17
19
  ```
18
20
 
19
21
  です。