Fra*_*ice 3 ruby haskell functional-programming
我是Ruby的编程新手,并且已经看到它具有一些功能.想知道是否有一种方法可以在阵列上进行模式匹配; 我希望完成以下任务:
split_string = str.split("_", 2)
fst = repo_branch_split.first
snd = repo_branch_split.second
Run Code Online (Sandbox Code Playgroud)
以类似Haskell的方式:
split_string@(fst : snd) = str.split("_", 2)
Run Code Online (Sandbox Code Playgroud)
红宝石中是否有类似的东西?
这是Ruby中的并行赋值.您可以通过这种方式为变量分配数组:
fst, snd = str.split("_", 2)
Run Code Online (Sandbox Code Playgroud)
您还可以通过将数组的其余部分分配给单个变量来实现Haskell的头/尾行为:
head, *tail = "foo_bar_baz".split("_")
# head => "foo"
# tail => ["bar", "baz"]
Run Code Online (Sandbox Code Playgroud)
如果没有星标tail,它将只分配bar字符串并baz"消失".
| 归档时间: |
|
| 查看次数: |
774 次 |
| 最近记录: |