Spec-Zone.ru › Ruby 3.4
  1. Prism::
  2. StringQuery

class Prism::StringQuery

Родительский класс:
Object

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

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

Атрибуты

string [R]

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

Открытые методы класса

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

Соответствует методу StringQuery::constant? из C-расширения.

local? (string) Показать исходный код
# File lib/prism/ffi.rb, line 541
def local?(string)
  query(LibRubyParser.pm_string_query_local(string, string.bytesize, string.encoding.name))
end

Соответствует методу StringQuery::local? из C-расширения.

method_name? (string) Показать исходный код
# File lib/prism/ffi.rb, line 551
def method_name?(string)
  query(LibRubyParser.pm_string_query_method_name(string, string.bytesize, string.encoding.name))
end

Соответствует методу StringQuery::method_name? из C-расширения.

new (string) Показать исходный код
# File lib/prism/string_query.rb, line 12
def initialize(string)
  @string = string
end

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

Закрытые методы класса

query (result) Показать исходный код
# File lib/prism/ffi.rb, line 558
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

Разбирает результат enum и возвращает соответствующее логическое значение.

Открытые методы экземпляра

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

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

local? () Показать исходный код
# File lib/prism/string_query.rb, line 17
def local?
  StringQuery.local?(string)
end

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

method_name? () Показать исходный код
# File lib/prism/string_query.rb, line 27
def method_name?
  StringQuery.method_name?(string)
end

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

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

Spec-Zone.ru

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