config -> {Symbol => object}Ruby 3.4 から[permalink][rdoc][edit]config(hash) -> {Symbol => object}-
GC の設定を取得、変更します。
引数を省略すると現在の設定を返します。 hash を指定すると、その内容を現在の設定にマージしてから設定を返します。設定に無いキーは無視されます。
hash を指定したときの返り値は、Ruby 3.4 では指定したキーだけを含む Hash で、 Ruby 4.0 以降では設定全体を含む Hash です。
このメソッドは処理系依存 (CRuby 特有) です。設定できる項目は GC の実装ごとに異なり、予告なく変更される可能性があります。
すべての実装に共通する項目は
:implementationだけです。これは実装の名前を表す読み取り専用の項目で、Ruby の既定の実装では"default"です。既定の実装では
:rgengc_allow_full_markを設定できます。 false を指定すると、フルマークを行う GC (major GC) が実行されなくなります。- [PARAM]
hash: - 変更する設定を Hash で指定します。キーは Symbol で指定します。
- [RETURN]
- 設定を Hash で返します。
- [EXCEPTION]
ArgumentError: - hash が Hash でない場合に発生します。
p GC.config # => {rgengc_allow_full_mark: true, implementation: "default"} GC.config(rgengc_allow_full_mark: false) p GC.config # => {rgengc_allow_full_mark: false, implementation: "default"} # 設定に無いキーは無視される GC.config(unknown_key: 1) p GC.config # => {rgengc_allow_full_mark: false, implementation: "default"} - [PARAM]