类 Prism::StringQuery
这里我们将修补 StringQuery
,放入类级别的方法,以便它可以保持一致的接口
查询方法,允许根据字符串在 Ruby 语法树中可能有效的位置对其进行分类。
属性
string[R]
此查询包装的字符串。
公共类方法
constant?(string) 点击以切换源代码
镜像 C 扩展的 StringQuery::constant?
方法。
# File prism/ffi.rb, line 518 def constant?(string) query(LibRubyParser.pm_string_query_constant(string, string.bytesize, string.encoding.name)) end
local?(string) 点击以切换源代码
镜像 C 扩展的 StringQuery::local?
方法。
# File prism/ffi.rb, line 513 def local?(string) query(LibRubyParser.pm_string_query_local(string, string.bytesize, string.encoding.name)) end
method_name?(string) 点击以切换源代码
镜像 C 扩展的 StringQuery::method_name?
方法。
# File prism/ffi.rb, line 523 def method_name?(string) query(LibRubyParser.pm_string_query_method_name(string, string.bytesize, string.encoding.name)) end
new(string) 点击以切换源代码
使用给定的字符串初始化一个新的查询。
# File prism/string_query.rb, line 11 def initialize(string) @string = string end
私有类方法
query(result) 点击以切换源代码
解析枚举结果并返回适当的布尔值。
# File 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
公共实例方法
constant?() 点击以切换源代码
此字符串是否为有效的常量名称。
# File prism/string_query.rb, line 21 def constant? StringQuery.constant?(string) end
local?() 点击以切换源代码
此字符串是否为有效的局部变量名称。
# File prism/string_query.rb, line 16 def local? StringQuery.local?(string) end
method_name?() 点击以切换源代码
此字符串是否为有效的方法名称。
# File prism/string_query.rb, line 26 def method_name? StringQuery.method_name?(string) end