如何使用管道运算符%>%链接对象$方法

时间:2017-05-18 15:56:57

标签: r oop object reference-class

我试图从

的形式链接几个方法(在引用类系统中定义)
Object_2 <- Object_1$first_method(para_a)

Object_3 <- Object_2$second_method(para_b) 

进入,像

Object_3 <- Object_1$first_method(para_a) %>% second_method(para_b)

但这不起作用,我收到错误

  

无法找到功能

我尝试了运算符%$%,结果证明它适用于对象中的字段,但不适用于方法。

所以,我想问一下如何在管道中做我想做的事情?

1 个答案:

答案 0 :(得分:1)

如果您想使用引用类进行方法链接,请执行以下操作:

var qry = from i in db.Products
                  select new
                  {
                      i.Id,
                       i.Name,
                      BusinessOwnerDepartment = i.BusinessOwnerDepartment.Acronym,
                      BusinessOwnerOffice = i.BusinessOwnerOffice.Acronym,
                      SystemOwnerDepartment = i.SystemOwnerDepartment.Acronym,
                      ApplicationType = i.ApplicationType.ToString(),
                      Status = i.IsActive.ToString()
                  };

管道操作符只是编写相同内容的另一种方式。无需混合两种符号。

事实上,你通过管道获得的内容相当于写下以下内容:

Object_3 <- Object_1$first_method(para_a)$second_method(para_b)

没有任何意义。