写了多年程序,突然想知道为什么函数可以连着用啊

2018-09-12 11:56:54 +08:00
 pinews
就是 a(b(c()))这样,虽然经常这样用,总觉得怪怪的,不知道在哪里是否有专门的说明?
15358 次点击
所在节点    PHP
148 条回复
gesse
2018-09-12 13:26:57 +08:00
楼主真的是“写了多年程序”的样子吗?
jeffersonpig
2018-09-12 13:43:12 +08:00
写了多年程序?
somebody
2018-09-12 13:44:07 +08:00
看帖子的回复,还是有不少人不懂的
jeffersonpig
2018-09-12 13:45:01 +08:00
@lihongjie0209 linux 管道对于写了多年程序的人来说可能比函数嵌套调用更难理解吧
SeanChense
2018-09-12 13:46:11 +08:00
跟函数式啥关系?

`exit(main(argc, argv));`

也是函数式编程么?
maichael
2018-09-12 13:59:15 +08:00
这跟函数式、柯里化有什么关系……又不是传函数进去。

上面的人是没看清楚还是咋地。
orange1818
2018-09-12 14:03:29 +08:00
估计是 java 写多了没见过函数式编程
nervdy
2018-09-12 14:07:16 +08:00
上面的楼全被点了个感谢
tourist2018
2018-09-12 14:07:55 +08:00
num := getNum()
fmt.Println(num)

---------------------
fmt.Println(getNum())


楼主真的。。。
shapimai
2018-09-12 14:10:26 +08:00
写了多年程序?
geelaw
2018-09-12 14:10:43 +08:00
@reus #26 左边是被乘数(这和左边是被除数是一致的)。
XXneet
2018-09-12 14:12:40 +08:00
抽象数据类型
bumz
2018-09-12 14:25:22 +08:00
c() = 2
b(x) = 3 * x
a(x) = 4 * x

a(b(c())) = a(b(2)) = a(6) = 24

这和数学不是一样的嘛?学名叫 applicative order

和柯里化、函数式、链式调用有个毛关系

至于为什么可以这样做?因为等式两边的东西是同一个东西,用哪一个都是一样的。
merin96
2018-09-12 14:27:48 +08:00
xuanbg
2018-09-12 14:31:22 +08:00
这个就是简单的等价替换而已
jianleer
2018-09-12 14:33:21 +08:00
因为栈
falcon05
2018-09-12 14:36:44 +08:00
人的悟性可以差别很大…
neptuno
2018-09-12 14:41:31 +08:00
指针的指针。。。。
leeho
2018-09-12 14:41:59 +08:00
多年=2 年?
DOLLOR
2018-09-12 14:45:24 +08:00
btoa(encodeURIComponent(JSON.stringify({result:'牛逼牛逼'})))
>"JTdCJTIycmVzdWx0JTIyJTNBJTIyJUU3JTg5JTlCJUU5JTgwJUJDJUU3JTg5JTlCJUU5JTgwJUJDJTIyJTdE"

JSON.parse(decodeURIComponent(atob("JTdCJTIycmVzdWx0JTIyJTNBJTIyJUU3JTg5JTlCJUU5JTgwJUJDJUU3JTg5JTlCJUU5JTgwJUJDJTIyJTdE")))
>{result: "牛逼牛逼"}

不过这样写很蛋疼,如果有管道操作符就好了
{result:'牛逼牛逼'} |> JSON.stringify |> encodeURIComponent |> btoa
>"JTdCJTIycmVzdWx0JTIyJTNBJTIyJUU3JTg5JTlCJUU5JTgwJUJDJUU3JTg5JTlCJUU5JTgwJUJDJTIyJTdE"

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/488475

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX