在 Scala 中使用 Currying 建立你的职业生涯
已发表: 2020-07-06目录
斯卡拉简介
Scala 是一种编程语言,由 Martin Odersky 及其研究小组于 2003 年开发。Scala 的发展是大数据世界的一场革命。 它是一种极其坚固且值得称道的语言,它将为子孙后代改变世界。 它是基于编译器的,这使得它非常快速和熟练。
Scala 的重要余地是Java 虚拟机 (JVM) 。 Scala 代码首先由 Scala 编译器累积,并创建等效的字节代码,然后将其移动到 Java 虚拟机以产生产量。 沿着这些思路,Scala 变成了处理大量大数据的方法。
为什么 Scala 在编程界如此受青睐?
Scala 受到各种程序员的青睐不仅仅是几个原因。 让我们在这里讨论其中的几个。
它是一种多范式语言
Scala 足以支持两种编程范式,即函数式编程 (FP) 和面向对象编程 (OOP)。
简洁的语法
Scala 中的编译器(也称为 Scala)非常强大,可以执行超出您预期的性能。 仅举几例,它可以产生 hasCode()、equals()、toString() 等等。
简单易学
由于 Scala 支持面向对象的编程,因此与 Java 相比,它对程序员来说相对容易学习。 随着在线社区的快速发展,Scala 论坛变得越来越频繁。 其中一个主要部分是因为它具有良好的库和简洁的语法。 虽然程序员通过函数式编程和学习来操纵自己的方式,但他们仍然可以使用他们预先存在的面向对象编程技能并在 Scala 中构建东西。

学习: Python 是面向对象的语言吗?
新的职业机会
由于其巨大的可扩展性,Scala 现在在行业中的需求越来越大。 随着 Twitter、Quora、LinkedIn 等一流品牌迁移到 Scala,很明显他们会寻找精通 Scala 的编码人员。 Scala 成为其他行业的其他主要公司的时下需要只是时间问题。
静态输入
Scala 编译器最大限度地使用其类型推断,因此,尽管感觉是动态的,但 Scala 是有条不紊地静态类型化的。 这可以在 Scala 中对变量和函数进行类型推断。
现在我们已经了解了 Scala 是什么,让我们继续前进并了解Scala 中的柯里化。
在 Scala 中进行柯里化
Currying 以美国数学家 Haskell Curry 的名字命名,他以在组合逻辑方面的工作而闻名。
Scala中的柯里化可以定义为解释函数评估背后的策略,该函数接受各种参数以评估一组函数,每个函数都有一个单独的函数。
在数学上,我们可以这样写——
f1 = f(a)
f2 = f1(b)
结果 = f2(c)
而且,它的伪代码将是 -
结果 = f(a)(b)(c)

柯里化的语法
在 Scala中用于执行柯里化的语法如下所述:
def 乘法(a:Int)(b:Int) = a*b
也可以这样写:
def 乘法(a:Int) = (b:Int) => a*b
阅读:印度的 Java 开发人员薪水:适合新手和有经验的人
如何调用柯里化函数
为了在 Scala 中调用柯里化函数,我们必须为上述等式中提到的变量“ a”和“ b”赋值。
什么是部分应用函数?
资源
当一个函数被调用时,它是为了将该函数应用于一组参数而完成的。 如果您传递了所有预期的参数,您最终会完全应用该函数。 当你只发送几个参数时,你会得到一个部分应用的函数。 这为您提供了限制一些参数并稍后填写其余参数的便利。
部分应用函数的示例 –
第 1 步:定义具有多个参数的函数
scala> def plus(a: int)(b: int) = a + b
加:(a:int)(b:int)int
第 2 步:仅给出变量“ scala> def X = X(2)(_)
X: 整数 => 整数
这里的输出创建了一个 int => int 类型的新函数“X”。
这里,X可以写成如下
定义 X(b:int) = 2 + b
上面的等式描述的是,当 X 以初始 int 值 2 播种时,它会坐在那里等待它可以添加的另一个 int 值。
作为一个纲要,部分应用的功能提供以下能力
- 你编写一个通用函数。
- 您可以从通用功能中创建特定功能。
- 不管怎样,您都可以使用这两个功能。
- 您无需复制粘贴代码即可创建新函数,因此您可以保持代码干燥。
阅读:初学者的前 27 个 Scala 面试问题和答案
比较柯里化函数和部分应用函数 (PAF)
Currying 和 PAF 密切相关。 柯里化和部分应用的函数可能看起来是等价的——两者都将你的函数转换为具有更少参数的函数。 但是,它们之间是有区别的。
- Scala 中的柯里化始终创建嵌套的一元或一元函数。 因此改变的功能在很大程度上仍然与第一个类似。
- 部分应用程序创建了主观数量的参数的功能。 更改后的函数与第一个函数并不完全相同——与第一个函数相比,它需要更少的参数。
- Scala中的柯里化不是部分应用程序,但在利用部分应用程序时可以很好地执行。 如果函数不采用固定数量的参数,则不能将 curry 应用于函数。 否则将无法成功运行。
Scala 框架
以下是一些卓越的 Scala 框架,您可以查看以更好地了解 Scala——
播放框架
提升网
保龄球框架

这是历史上每一扇门都向当代人敞开,让他们学习和追求他们想要的东西的时代。 有各种各样的机构、导师、服务等,以实现学习并以学位和证书的形式提供验证。
更重要的是,它现在可以在舒适的卧室中完成。 u pGrad是该行业的佼佼者,它彻底改变了教育体系,一次一门课程。 从 MBA 到法律到保险再到数据科学,upGrad 成功打破了当代教育的所有桎梏,在教育领域掀起了一场革命浪潮。
包起来
要查看我们广泛的课程或了解我们的工作方式,请随时请求回电或查看我们的网站。
如果您有兴趣了解有关大数据计划的更多信息,请查看我们的大数据软件开发专业化 PG 文凭计划,该计划专为在职专业人士设计,提供 7 多个案例研究和项目,涵盖 14 种编程语言和工具,实用的手-在研讨会上,超过 400 小时的严格学习和顶级公司的就业帮助。
从世界顶级大学在线学习软件开发课程。 获得行政 PG 课程、高级证书课程或硕士课程,以加快您的职业生涯。
