🚀
[Feature #20792] 指定したエンコードが String#force_encoding で有効かどうかを判定する提案
[Feature #20792] String#forcible_encoding?
- 指定したエンコーディングが
String#force_encodingで有効かどうかを判定するString#forcible_encoding?を追加する提案 - イメージとしては以下のような挙動になる想定
def forcible_encoding?(enc)
original = encoding
# 一度 force_encoding で変化し、それが有効かどうか判定する
result = force_encoding(enc).valid_encoding?
# その後また戻す
force_encoding(original)
result
end
- インターフェースをどうするのかとパフォーマンスの面で議論が進んでいるみたいですね
- インターフェースに関しては
Stringに生やすのかEncoding::UTF_8.valid_sequence?(str)みたいにEncodingから呼び出せるようにするのか - パフォーマンスに関しては
.dupするあたりの話がされている
- インターフェースに関しては
Discussion