本文簡要介紹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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。