Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala Can";列表理解“;被视为;函数式编程;?_Scala_Functional Programming_List Comprehension - Fatal编程技术网

Scala Can";列表理解“;被视为;函数式编程;?

Scala Can";列表理解“;被视为;函数式编程;?,scala,functional-programming,list-comprehension,Scala,Functional Programming,List Comprehension,Scala代码: for { user <- users name <- user.names letter <- name.letters } yield letter 用于{ 用户是的,这肯定是一种功能性技术,特别是假设所有这些成员都是字段或纯函数。它只是0或更多flatMaps后跟1map(将if子句转换为withFilter)的语法糖 如果最后没有yield,它的行为更像是的命令,转换为1个或多个foreachs;foreach通常用于执行其副作用的

Scala代码:

for {
   user <- users
   name <- user.names
   letter <- name.letters
} yield letter
用于{

用户是的,这肯定是一种功能性技术,特别是假设所有这些成员都是字段或纯函数。它只是0或更多
flatMap
s后跟1
map
(将
if
子句转换为
withFilter
)的语法糖

如果最后没有
yield
,它的行为更像是
的命令
,转换为1个或多个
foreach
s;
foreach
通常用于执行其副作用的语句


更详细地描述语法,用一些一元理论更深入地讨论它,并明确地描述实际的规则转换。

是的,这绝对是一种函数技术,特别是假设所有这些成员都是字段或纯函数。这只是0或更多
平面图的语法糖分
s后跟1
map
(带
if
子句,翻译成
withFilter

如果最后没有
yield
,它的行为更像是
的命令
,转换为1个或多个
foreach
s;
foreach
通常用于执行其副作用的语句


更详细地描述语法,用一些一元理论更深入地讨论它,并明确地描述实际的规则转换。

是的,这绝对是一种函数技术,特别是假设所有这些成员都是字段或纯函数。这只是0或更多
平面图的语法糖分
s后跟1
map
(带
if
子句,翻译成
withFilter

如果最后没有
yield
,它的行为更像是
的命令
,转换为1个或多个
foreach
s;
foreach
通常用于执行其副作用的语句


更详细地描述语法,用一些一元理论更深入地讨论它,并明确地描述实际的规则转换。

是的,这绝对是一种函数技术,特别是假设所有这些成员都是字段或纯函数。这只是0或更多
平面图的语法糖分
s后跟1
map
(带
if
子句,翻译成
withFilter

如果最后没有
yield
,它的行为更像是
的命令
,转换为1个或多个
foreach
s;
foreach
通常用于执行其副作用的语句


更详细地描述语法,用一些一元理论更深入地讨论它,并明确地描述实际的规则翻译。

列表理解结构在函数式编程语言中很常见,但它不是函数式编程的独特之处。如果你想一想,Python、 PHP(5.5版)和下一个Javascript版本(ES6)具有类似的结构,但这并不意味着它们是功能性的

在Scala的情况下,您的示例转换为映射和平移应用程序是正确的,但都不足以说明它是有功能的。

for {
  i <- 1 until 10
} println(i)
用于{

列表理解结构在函数式编程语言中非常常见,但它并不是函数式编程的独特之处。如果你想一想,Python、PHP(5.5版)和下一个Javascript版本(ES6)也有类似的结构,但这并不意味着它们是函数式的

在Scala的情况下,您的示例转换为映射和平移应用程序是正确的,但都不足以说明它是有功能的。

for {
  i <- 1 until 10
} println(i)
用于{

列表理解结构在函数式编程语言中非常常见,但它并不是函数式编程的独特之处。如果你想一想,Python、PHP(5.5版)和下一个Javascript版本(ES6)也有类似的结构,但这并不意味着它们是函数式的

在Scala的情况下,您的示例转换为映射和平移应用程序是正确的,但都不足以说明它是有功能的。

for {
  i <- 1 until 10
} println(i)
用于{

列表理解结构在函数式编程语言中非常常见,但它并不是函数式编程的独特之处。如果你想一想,Python、PHP(5.5版)和下一个Javascript版本(ES6)也有类似的结构,但这并不意味着它们是函数式的

在Scala的情况下,您的示例转换为映射和平移应用程序是正确的,但都不足以说明它是有功能的。

for {
  i <- 1 until 10
} println(i)
用于{
我

我们可以把这样的“列表理解”代码看作“函数编程”样式吗? 命令式/生成器句法的一元列表理解是一种相对较新的句法和语义创新

最初的列表理解(例如or)是仿照的,显然是一个声明性的构造,尽管它被转换为嵌套函数

Haskell的列表理解功能与此类似

<1>一元理解(编译成一元守恒和绑定),如果我们认为单子是一个功能结构,肯定应该被认为是有功能的。

我们可以把这样的“列表理解”代码看作“函数编程”样式吗? 命令式/生成器句法的一元列表理解是一种相对较新的句法和语义创新

最初的列表理解(例如or)是仿照的,显然是一个声明性的构造,尽管它被转换为嵌套函数