小编aze*_*elo的帖子

理解斯卡拉:讨好

我最近开始学习Scala并且遇到了currying.从这篇文章中的答案,这段代码片段

def sum(a: Int)(b: Int) = a + b
Run Code Online (Sandbox Code Playgroud)

扩展到这个

def sum(a: Int): Int => Int = b => a + b
Run Code Online (Sandbox Code Playgroud)

然后我看到scala-lang的一个片段,它显示可以写这样的东西来模拟一个while循环

  def whileLoop (cond : => Boolean) (body : => Unit) : Unit = {
      if (cond) {
          body
          whileLoop (cond) (body)
      }
  }
Run Code Online (Sandbox Code Playgroud)

出于好奇,我试图扩展它,并得到了这个

  def whileLoop2 (cond : => Boolean) : (Unit => Unit) =
      (body : => Unit) =>
          if (cond) {
              body
              whileLoop2 (cond) (body)
          }
Run Code Online (Sandbox Code Playgroud)

但是我似乎缺少一些语法,因为我收到错误

error: identifier expected but …
Run Code Online (Sandbox Code Playgroud)

scala currying

4
推荐指数
1
解决办法
439
查看次数

确定S3 Bucket Region

我正在使用AWS Ruby SDK v2来访问几个区域中的各种存储桶.是否有可能在我访问之前确定每个存储桶的(运行时)区域,因此我可以避免下面的错误,如果我使用错误的区域配置AWS S3客户端,我会得到这个错误?

您尝试访问的存储区必须使用指定的端点进行寻址.请将以后的所有请求发送到此端点.

我知道我可以使用下面的命令并解析响应,但理想情况下,我希望保留在Ruby SDK中.

aws s3api get-bucket-location

ruby amazon-s3 amazon-web-services

4
推荐指数
1
解决办法
3787
查看次数

斯卡拉 - 密封的特质大孩子

在试验密封特性时,我发现(令我惊讶的是)如果在一个文件中,我有这个代码

sealed trait Sealed
trait SealedChild extends Sealed

在另一个文件中,我有

trait SealedGrandchild extends SealedChild

编译代码成功.

为什么SealedGranchild即使它在另一个文件中有密封的祖先类型也可以定义?除了明确声明SealedChildsealed,有没有办法防止SealedChild扩展到定义它的文件之外?

scala

4
推荐指数
1
解决办法
97
查看次数

标签 统计

scala ×2

amazon-s3 ×1

amazon-web-services ×1

currying ×1

ruby ×1