当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Ruby UnboundMethod.to_s用法及代码示例


本文简要介绍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-lang.org大神的英文原创作品 UnboundMethod.to_s。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。