Scala 列表推导式
我正在尝试根据公式在 scala 中生成一个列表:
for n > 1 f(n) = 4*n^2 - 6*n + 6 and for n == 1 f(n) = 1
目前我有:
def lGen(end: Int): List[Int] = {
for { n <- List.range(3 , end + 1 , 2) } yields { 4*n*n - 6*n - 6 }
}
对于 end = 5 这将给出列表:
List(24 , 76)
现在我一直在尝试找到一种优雅的方法来使这个函数给出
List(1 , 24 , 74)
任何建议不胜感激。
-李
I'm trying to generate a list in scala according to the formula:
for n > 1 f(n) = 4*n^2 - 6*n + 6 and for n == 1 f(n) = 1
currently I have:
def lGen(end: Int): List[Int] = {
for { n <- List.range(3 , end + 1 , 2) } yields { 4*n*n - 6*n - 6 }
}
For end = 5 this would give the list:
List(24 , 76)
Right now I'm stuck on trying to find a gracefull way to make this function give
List(1 , 24 , 74)
Any suggestions would be greatly appreciated.
-Lee
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我将从列表生成中分离出“公式”:
或
I'd separate out the "formula" from the list generation:
or
这个怎么样:
How about this: