JuliaLang/julia

replace: allow transform function as first argument?

Open

#24,598 建立於 2017年11月13日

在 GitHub 查看
 (17 留言) (6 反應) (0 負責人)Julia (48,709 star) (5,773 fork)batch import
good first issuehelp wantedstrings

描述

The replace function allows a string, an s"..." replacement specifier or a function as its third argument. For the sake of do syntax, it might make sense to support the function as the first argument, like so:

julia> replace("Hello, world.", r"\w+") do word
           n = 0
           for c in word
               n += lowercase(c) in "aeiou"
           end
           return n
       end
"2, 1."

If someone decides to do this, while they're at it, an explanation of replacement patterns – i.e. s"..." strings and some more examples in the replace docs wouldn't hurt. E.g.:

julia> replace("Hello, world.", r"(\w+)(\W+)(\w+)", s"\3\2\1")
"world, Hello."

貢獻者指南