Ruby 4.0 リファレンスマニュアル

instance method Prism::Source#code_units_cache

code_units_cache(encoding) -> Prism::CodeUnitsCacheRuby 3.4 から[permalink][rdoc][edit]

指定したエンコーディングでのコード単位のオフセットを高速に計算するためのキャッシュを生成します。

Prism::Locationcached_start_code_units_offset などのメソッドに、多数の位置に対して繰り返し使うためのキャッシュとして渡します。

[PARAM] encoding:
コード単位の基準となるエンコーディングを指定します。
require "prism"

result = Prism.parse("x = \"あい\" + 1\n")
cache = result.source.code_units_cache(Encoding::UTF_16LE)
p cache.class # => Prism::CodeUnitsCache
p cache[9]    # => 7

[SEE_ALSO] Prism::Location#cached_start_code_units_offset, Prism::Result#code_units_cache