class Prism::Token
Представляет токен из исходного кода Ruby.
Атрибуты
Объект Source, представляющий источник, из которого получен этот токен.
Тип этого токена.
Срез байтов источника, который представляет этот токен.
Открытые методы класса
# File lib/prism/parse_result.rb, line 829 def initialize(source, type, value, location) @source = source @type = type @value = value @location = location end
Создаёт новый объект токена с заданными типом, значением и местоположением.
Открытые методы экземпляра
# File lib/prism/parse_result.rb, line 864
def ==(other)
Token === other &&
other.type == type &&
other.value == value
end Возвращает true, если указанный другой токен равен этому токену.
# File lib/prism/parse_result.rb, line 837
def deconstruct_keys(keys)
{ type: type, value: value, location: location }
end Реализует интерфейс сопоставления с образцом для хешей в Token.
# File lib/prism/parse_result.rb, line 877 def deep_freeze value.freeze location.freeze freeze end
Замораживает этот объект и содержащиеся в нём объекты.
# File lib/prism/parse_result.rb, line 871 def inspect location super end
Возвращает строковое представление этого токена.
Object#inspect # File lib/prism/parse_result.rb, line 842 def location location = @location return location if location.is_a?(Location) @location = Location.new(source, location >> 32, location & 0xFFFFFFFF) end
Объект Location, представляющий местоположение этого токена в источнике.
# File lib/prism/parse_result.rb, line 849
def pretty_print(q)
q.group do
q.text(type.to_s)
self.location.pretty_print(q)
q.text("(")
q.nest(2) do
q.breakable("")
q.pp(value)
end
q.breakable("")
q.text(")")
end
end Реализует интерфейс красивой печати для Token.
Ruby Core © 1993–2025 Yukihiro Matsumoto
Licensed under the Ruby License.
Ruby Standard Library © contributors
Licensed under their own licenses.