温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Python函数式和Ruby的相关技术的比较过程

发布时间:2021-10-28 16:36:13 来源:亿速云 阅读:101 作者:柒染 栏目:编程语言

这期内容当中小编将会给大家带来有关Python函数式和Ruby的相关技术的比较过程,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

Python函数式在平时的使用中有很多有意思的事情。下面我们就详细的看看Python函数式和Ruby之间的技术比较。下面我们就来看看如何进行应用。希望大家有所收获。

Python函数式编程到底有什么用呢? 我想实际的好处就是可以将更好的描述问题本身,而不是描述解决问题的操作步骤。看一个具体的例子:

问题:一个列表;对每一个元素平方;将平方后的数如果除3的余数为1则从列表中除去。

看解决的方法:

1. 传统过程式(Python函数式)

>>> s = [1,2,3]  >>> d = []  >>> for i in s:  if i * i % 3 != 1:  d.append(i * i)  >>> d  [9]  >>>

2. 传统函数式(Lisp)

(remove-if (lambda (n) (= (mod n 3) 1))  (mapcar (lambda (n) (* n n))  '(1 2 3)))


可以看出,函数式的程序很好的对应了我们所提问题的两个步骤,分别用 mapcar, remove-if来实现。不过Lisp的程序确实不太好读,我们用python 和 ruby 来改进一下:

3. Python函数式:

>>> filter(lambda n: n % 3 != 1, map(lambda n:n*n, [1,2,3]))  [9]

4. Ruby 函数式:

[1,2,3].map {|n| n * n}.reject{|n| n % 3 == 1}  => [9]

经过比较,ruby的最为简洁,而且与问题描述对应的最自然。

上述就是小编为大家分享的Python函数式和Ruby的相关技术的比较过程了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI