Spec-Zone.ru › Ruby 3.4

класс Prism::StringQuery

Родитель:
Объект

Здесь мы собираемся исправить StringQuery, чтобы добавить методы на уровне класса, чтобы он мог поддерживать согласованный интерфейс

Методы запроса, которые позволяют категоризировать строки на основе их контекста, где они могут быть валидными в дереве синтаксического анализа Ruby.

Атрибуты

строка [R]

Строка, которую оборачивает этот запрос.

Публичные методы класса

константа? (строка)
Исходный код
# File lib/prism/ffi.rb, line 518
def constant?(string)
  query(LibRubyParser.pm_string_query_constant(string, string.bytesize, string.encoding.name))
end

Отражает метод C-расширения StringQuery::constant?.

локальная? (строка)
Исходный код
# File lib/prism/ffi.rb, line 513
def local?(string)
  query(LibRubyParser.pm_string_query_local(string, string.bytesize, string.encoding.name))
end

Отражает метод C-расширения StringQuery::local?.

имя_метода? (строка)
Исходный код
# File lib/prism/ffi.rb, line 523
def method_name?(string)
  query(LibRubyParser.pm_string_query_method_name(string, string.bytesize, string.encoding.name))
end

Отражает метод C-расширения StringQuery::method_name?.

новый (строка)
Исходный код
# File lib/prism/string_query.rb, line 11
def initialize(string)
  @string = string
end

Инициализирует новый запрос заданной строкой.

Приватные методы класса

запрос (результат)
Исходный код
# File lib/prism/ffi.rb, line 530
def query(result)
  case result
  when :PM_STRING_QUERY_ERROR
    raise ArgumentError, "Invalid or non ascii-compatible encoding"
  when :PM_STRING_QUERY_FALSE
    false
  when :PM_STRING_QUERY_TRUE
    true
  end
end

Парсит результат перечисления и возвращает соответствующий булево значение.

Публичные методы экземпляра

константа? ()
Исходный код
# File lib/prism/string_query.rb, line 21
def constant?
  StringQuery.constant?(string)
end

Является ли эта строка допустимым именем константы.

локальная? ()
Исходный код
# File lib/prism/string_query.rb, line 16
def local?
  StringQuery.local?(string)
end

Является ли эта строка допустимым именем локальной переменной.

имя_метода? ()
Исходный код
# File lib/prism/string_query.rb, line 26
def method_name?
  StringQuery.method_name?(string)
end

Является ли эта строка допустимым именем метода.

Ruby Core © 1993–2024 Yukihiro Matsumoto
Licensed under the Ruby License.
Ruby Standard Library © contributors
Licensed under their own licenses.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API