Scala的产量是多少?

Scala的产量是多少?

我理解Ruby和Python的产量。Scala的收益是什么?



偶然的你
浏览 482回答 3
3回答

幕布斯6054654

它用于序列理解(就像Python的列表-理解和生成器,您可以在其中使用yield)。它是结合应用的。for并将一个新元素写入结果序列。简单示例(来自斯卡拉朗)/**&nbsp;Turn&nbsp;command&nbsp;line&nbsp;arguments&nbsp;to&nbsp;uppercase&nbsp;*/object&nbsp;Main&nbsp;{ &nbsp;&nbsp;def&nbsp;main(args:&nbsp;Array[String])&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;val&nbsp;res&nbsp;=&nbsp;for&nbsp;(a&nbsp;<-&nbsp;args)&nbsp;yield&nbsp;a.toUpperCase &nbsp;&nbsp;&nbsp;&nbsp;println("Arguments:&nbsp;"&nbsp;+&nbsp;res.toString) &nbsp;&nbsp;}}F#中的相应表达式是[&nbsp;for&nbsp;a&nbsp;in&nbsp;args&nbsp;->&nbsp;a.toUpperCase&nbsp;]或from&nbsp;a&nbsp;in&nbsp;args&nbsp;select&nbsp;a.toUpperCase在林克。鲁比氏yield有不同的效果。

有只小跳蛙

是的,就像厄威克说的,这和LINQ差不多select和Ruby和Python没有什么关系yield..基本上,在C#中你会写什么from&nbsp;...&nbsp;select&nbsp;???而在Scala中for&nbsp;...&nbsp;yield&nbsp;???同样重要的是要明白for-理解不仅适用于序列,而且适用于定义某些方法的任何类型,就像LINQ:如果您的类型定义了map,它允许for-由单个生成器组成的表达式。如果它定义flatMap以及map,它允许for-由几个发电机组成的表达式。如果它定义foreach,它允许for-没有产量的回路(包括单发电机和多台发电机)。如果它定义filter,它允许for-从if在for表情。
打开App,查看更多内容
随时随地看视频慕课网APP