gpt4 book ai didi

r - 为什么不使用 UseMethod 调度默认值?

转载 作者:行者123 更新时间:2023-12-04 15:14:56 24 4
gpt4 key购买 nike

试图理解为什么 rownames = FALSE 没有从 Test 传递到 Test.list?

Test = function( object , rownames = FALSE , ... )
{
UseMethod( "Test" )
}

Test.list = function( object , rownames , ... )
{
browser()
# rownames is missing!
}

Test( list() )

最佳答案

只有实际参数传递给方法。每个 S3 方法都可以有自己不同的默认值(虽然这将是一个非常糟糕的设计)。

您应该努力使参数与泛型函数具有相同的默认值,最后可能还有一些额外的参数。

# Bad design, but possible to have defaults be different...
Test.list = function( object , rownames = TRUE , ... )
{
browser()
# rownames is TRUE!
}

Test( list() )

关于r - 为什么不使用 UseMethod 调度默认值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7801198/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com