🚀
[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