我有一个S3课程,我正试图找出如何为它设置打印功能。
这部分很好。
group by
但是,如果我在其上运行 var listItems = new List<Item>()
{
new Item(){Id=1, HeaderId=1, ItemSequence =1, Value="A"},
new Item(){Id=2, HeaderId=1, ItemSequence =2, Value="B"},
new Item(){Id=3, HeaderId=2, ItemSequence =1, Value="C"},
new Item(){Id=4, HeaderId=2, ItemSequence =2, Value="D"},
new Item(){Id=5, HeaderId=2, ItemSequence =3, Value="B"}
};
var lstGroup = (from item in listItems
group item by item.HeaderId
into gr
select new
{
HeaderId = gr.Key,
ItemSequence = 1, // it's redundant, you could remove it...
ListValue = string.Join(",", gr.Select(x => x.Value).ToList()) // return "A,B",....
}).ToDictionary(x=>new {x.HeaderId,x.ItemSequence}, x=> x.ListValue);
,我会收到以下不祥的消息:
print.webglobe <- function(wg, ...){
"it worked!"
}
我尝试添加其他代码:
devtools::check()
但是,有了这个,现在似乎永远不会访问checking S3 generic/method consistency ... WARNING
print:
function(x, ...)
print.webglobe:
function(wg, ...)
而我的S3类只是打印成某种列表。
如何正确设置?
答案 0 :(得分:2)
将wg
更改为x
。方法的形式参数必须与泛型的参数匹配,因为来自泛型调用的参数将根据名称传递给方法。这就是print()
无法正常工作的原因,因为wg
被发送到wg
而不是方法的第一个参数。