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

回答編集履歴

1

追記

2021/01/04 08:24

投稿

winterboum
winterboum

スコア23653

answer CHANGED
@@ -11,4 +11,16 @@
11
11
  「その辺りは気にしない」
12
12
  をお薦めします。
13
13
 
14
- 「何のために」が実はあるのでしたらそれを開示いただき「なるほど」と感じたら取り組み直します。
14
+ 「何のために」が実はあるのでしたらそれを開示いただき「なるほど」と感じたら取り組み直します。
15
+
16
+ 追記
17
+ def validate_each の最後の式が each なので、その結果は必ず "falseではない" となります。
18
+ 例えば value="1あ"だとすると、["1", "あ"]が返ります。
19
+ ので、最後に `count < 4` を入れましょう。
20
+
21
+ ただ、これ私の好みではないです。
22
+ `count = value.size + value.gsub(/[\t-~]/,'').size`
23
+ 文字数を数え、さらに半角を除いてから数え直して足す。
24
+
25
+ `\r\n`を一文字扱いにしたいなら `value = value.gsub(/\r\n/,"\n")` してから。
26
+ `[\t-~]` は 0x09から0x7eまでの文字。画面に入力ならこの範囲しか入らないのでこれで良いかと。