class Prism::Pack::Format

解析 pack 模板的结果。

属性

directives[R]

模板中的指令列表。

encoding[R]

模板的编码。

公共类方法

new(directives, encoding) 点击以切换源代码

使用给定的指令和编码创建一个新的 Format

# File prism/pack.rb, line 206
def initialize(directives, encoding)
  @directives = directives
  @encoding = encoding
end

公共实例方法

describe() 点击以切换源代码

提供格式的人类可读描述。

# File prism/pack.rb, line 212
def describe
  source_width = directives.map { |d| d.source.inspect.length }.max
  directive_lines = directives.map do |directive|
    if directive.type == SPACE
      source = directive.source.inspect
    else
      source = directive.source
    end
    # @type var source_width: Integer
    "  #{source.ljust(source_width)}  #{directive.describe}"
  end

  (["Directives:"] + directive_lines + ["Encoding:", "  #{encoding}"]).join("\n")
end