在R中(多亏了magrittr/dplyr),您现在可以调用没有括号的函数了,但是您可以用管道来代替它们。
这意味着,与其对以下内容进行编码,不如:
> as.character((sqrt(12)^2)
> as.Date("2014-01-01")你也可以这样做:
> 12 %>% sqrt %>% .^2 %>% as.character
> "2014-01-01" %>% as.Date R广泛地使用它来编辑数据格式。除了dataframes之外,我觉得这种语法对于创建功能脚本来说是非常可读的和强大的。
朱莉娅语言支持类似的语言吗?
发布于 2015-02-02 22:39:07
是的,有两种感觉。
首先是|>。
12 |> sqrt |> x->x^2 |> string # 11.999999999999998
using Dates # needed in 0.3, baked in to 0.4
"2014-01-1" |> d->Date(d,"yyyy-mm-dd") |> year |> iseven # true我不会说它是非常惯用的朱莉娅(或者R,除了使用dplyr对数据进行操作)。There is a discussion about enhancing this type of thing and making the syntax better.,你现在可以用Lazy.jl做很多整洁的事情!
特别是对于DataFrames,它是一个WIP,但是有一个DataFramesMeta.jl与Lazy.jl相结合,它允许您做诸如dplyr和LINQ这样的事情,比如(摘自他们的自述文件):
x_thread = @> begin
df
@transform(y = 10 * :x)
@where(:a .> 2)
@by(:b, meanX = mean(:x), meanY = mean(:y))
@orderby(:meanX)
@select(:meanX, :meanY, var = :b)
endhttps://stackoverflow.com/questions/28287705
复制相似问题