本文简要介绍ruby语言中 UnboundMethod.to_s
的用法。
用法
to_s → string
别名:inspect
返回底层方法的人类可读说明。
"cat".method(:count).inspect #=> "#<Method: String#count(*)>"
(1..3).method(:map).inspect #=> "#<Method: Range(Enumerable)#map()>"
在后一种情况下,方法说明包括原始方法的“owner”(Enumerable
模块,包含在Range
中)。
inspect
还尽可能提供方法参数名称(调用顺序)和源位置。
require 'net/http'
Net::HTTP.method(:get).inspect
#=> "#<Method: Net::HTTP.get(uri_or_host, path=..., port=...) <skip>/lib/ruby/2.7.0/net/http.rb:457>"
参数定义中的...
表示参数是可选的(具有一些默认值)。
对于用 C(语言核心和扩展)定义的方法,无法提取位置和参数名称,只能以 *
(任意数量的参数)或 _
(一些位置参数)的形式提供通用信息。
"cat".method(:count).inspect #=> "#<Method: String#count(*)>"
"cat".method(:+).inspect #=> "#<Method: String#+(_)>""
相关用法
- Ruby UnboundMethod.original_name用法及代码示例
- Ruby UnboundMethod.bind用法及代码示例
- Ruby UnboundMethod.parameters用法及代码示例
- Ruby UnboundMethod.inspect用法及代码示例
- Ruby UnboundMethod.owner用法及代码示例
- Ruby UnboundMethod.clone用法及代码示例
- Ruby UnboundMethod.arity用法及代码示例
- Ruby UnboundMethod类用法及代码示例
- Ruby UndefinedConversionError.source_encoding用法及代码示例
- Ruby UncaughtThrowError类用法及代码示例
- Ruby UnwindDetails.all_requirements用法及代码示例
- Ruby UnwindDetails.reversed_requirement_tree_index用法及代码示例
- Ruby UncaughtThrowError.new用法及代码示例
- Ruby UnwindDetails.unwinding_to_primary_requirement?用法及代码示例
- Ruby UnpackCommand.get_path用法及代码示例
- Ruby UnwindDetails.sub_dependencies_to_avoid用法及代码示例
- Ruby UndefinedConversionError.error_char用法及代码示例
- Ruby URI.parse用法及代码示例
- Ruby UID.change_privilege用法及代码示例
- Ruby Util.unescape用法及代码示例
- Ruby Util.url_encode用法及代码示例
- Ruby UNIXSocket.new用法及代码示例
- Ruby UNIXSocket.addr用法及代码示例
- Ruby URI模块用法及代码示例
- Ruby UNIXServer.accept用法及代码示例
注:本文由纯净天空筛选整理自ruby-lang.org大神的英文原创作品 UnboundMethod.to_s。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。