🐥
[Feature #21389] Set#inspect を Set[1, 2, 3] のようなフォーマットにする提案
[Feature #21389] Simplify Set#inspect output
-
Set#inspectをSet[1, 2, 3]のようなフォーマットにする提案- 現状だと
#<Set: {1, 2, 3}>のようなフォーマットになっている
- 現状だと
- モチベーションとしては
Setがコアクラスに移動したことで『コアクラスの#inspectをevalに適したものであるべき』みたいな話みたいですね
set = Set[1, 2, 3]
eval(set.inspect) == set # true になるべき
- こちらでもサブクラスを参照するかどうか、みたいな話がでていますね
- matz 的には
Set[1, 2, 3]のほうが好ましい + サブクラスの名前で出力する必要がある、とコメントしている - と、いうことで開発版の Ruby 3.5-dev では
Set#inspectはSet[1, 2, 3]のような形式になるように取り込まれました
set = Set[1, 2, 3]
puts set.inspect
# Ruby 3.4 => #<Set: {1, 2, 3}>
# Ruby 3.5 => Set[1, 2, 3]
Discussion