小编pr1*_*001的帖子

Scala特征和隐式转换混淆

当我在Scala REPL(2.7.7)上手动输入时,以下行有效:

trait myTrait {
  override def toString = "something"
}
implicit def myTraitToString(input: myTrait): String = input.toString
object myObject extends myTrait
val s: String = myObject
Run Code Online (Sandbox Code Playgroud)

但是,如果我尝试使用它编译文件,我会收到以下错误:

[error] myTrait.scala:37: expected start of definition
[error] implicit def myTraitToString(input: myTrait): String = input.toString
[error]          ^
Run Code Online (Sandbox Code Playgroud)

为什么?

谢谢!

scala traits implicit-conversion

7
推荐指数
1
解决办法
3500
查看次数

SBT不使用基于ssh的解析器来解析依赖关系

我的定义如下build.sbt:

libraryDependencies += "com.bubblefoundry" %% "something" % "0.1-SNAPSHOT"

resolvers += {
  val privateKeyFile = new java.io.File(sys.env("HOME") + "/.ssh/id_rsa")
  Resolver.ssh("Bubble Foundry", "bubblefoundry.com", "/usr/local/repository/") as ("peter", privateKeyFile) withPermissions("0644")
}
Run Code Online (Sandbox Code Playgroud)

当sbt尝试解析依赖关系时,它会失败:

[info] Resolving com.bubblefoundry#something_2.10;0.1-SNAPSHOT ...
[warn]  module not found: com.bubblefoundry#something_2.10;0.1-SNAPSHOT
[warn] ==== local: tried
[warn]   /Users/peter/.ivy2/local/com.bubblefoundry/something_2.10/0.1-SNAPSHOT/ivys/ivy.xml
[warn] ==== Bubble Foundry: tried
[warn] ==== public: tried
[warn]   http://repo1.maven.org/maven2/com.bubblefoundry/something_2.10/0.1-SNAPSHOT/something_2.10-0.1-SNAPSHOT.pom
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  ::          UNRESOLVED DEPENDENCIES         ::
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  :: com.bubblefoundry#something_2.10;0.1-SNAPSHOT: not found
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
Run Code Online (Sandbox Code Playgroud)

它似乎甚至没有连接到服务器来查找依赖项.这是为什么?难道我做错了什么?

已发布依赖项(使用相同的解析程序定义) /usr/local/repository/com/bubblefoundry/...

sbt

7
推荐指数
1
解决办法
655
查看次数

构建目标随机添加到Xcode方案

我正在使用Xcode 5和CocoaPods开发iPhone应用程序.我有一个计划和目标Oahu,我打算对我进行测试.因此,我不会惊讶地发现我的两个测试目标是在该方案的构建阶段构建的.但是,有一个无法删除的第四个构建目标:

在此输入图像描述

当我运行测试时,会构建所有四个目标,并且针对最后一个不正确的目标运行测试目标Ku.

关闭Xcode后,删除DerivedData目录的内容,并删除*userdata项目目录中的所有文件(find ./ | grep userdata | xargs rm -rf),我仍然有一个无关的构建目标:

在此输入图像描述

请注意,它现在包含了我的Production目标,而且我也没有选中Find Implicit Dependencies.

我已经通过我的构建设置,看起来Oahu.xcscheme,和project.pbxproj,但我找不到任何会离开这种行为.取消选中该方案的构建选项Find Implicit Dependencies无效.

这个Oahu方案是唯一一个有这个问题的方案- KuProduction方案只有相应的目标 - 虽然如果我复制Oahu方案,它也有这个问题.

这可以修复吗?

xcode ios cocoapods xcode5

6
推荐指数
1
解决办法
1672
查看次数

要聚合或不聚合,这是数据库架构设计问题

如果您正在进行min/max/avg查询,是否更喜欢使用聚合表或只是在原始表中的一系列行中进行查询?

这显然是一个非常开放的问题,没有一个正确的答案,所以我只是在寻找人们的一般性建议.假设原始数据表包含时间戳,数字外键(例如用户ID)和小数值(比如购买金额).此外,假设表中有数百万行.

我已经完成了两件事并且被撕裂了.一方面,聚合表给了我明显更快的查询,但代价是增加了额外的表.显示聚合范围的当前值要么完全退回到原始数据表,要么组合更细粒度的聚合.我发现在应用程序代码中跟踪哪个聚合表来查询何时需要更多工作,并且需要进行模式更改,因为原始聚合范围总是不够("但我想看到我们在过去3个工资期内的销售额!").

另一方面,从原始数据查询可能会非常缓慢,但让我对数据范围非常灵活.当范围边界发生变化时,我只需更改查询而不必重建聚合表.同样,应用程序代码需要更少的更新 我怀疑,如果我对我的索引更加智能(即总是具有良好的覆盖索引),我将能够减少从原始数据中选择的惩罚,但这绝不是灵丹妙药.

无论如何,我可以充分利用这两个世界吗?

sql indexing maintainability performance aggregation

5
推荐指数
1
解决办法
1006
查看次数

如何使用Scala将节点与独特节点相邻?

我正在尝试解析Apple plist文件,我需要在其中获取一个数组Node.不幸的是,它唯一的唯一标识符就是它之前的同级节点<key>ProvisionedDevices</key>.现在我最好的想法是使用Java的XPATH查询或Node.indexOf.

这是一个例子:

<plist version="1.0">
       <dict>
               <key>ApplicationIdentifierPrefix</key>
               <array>
                       <string>RP8CBF4MRE</string>
               </array>
               <key>CreationDate</key>
               <date>2010-05-10T11:44:35Z</date>
               <key>DeveloperCertificates</key>
               <array>
               ...
               <key>ProvisionedDevices</key>
               <array>
               ... // I need the Nodes here
               </array>
       </dict>
</plist>
Run Code Online (Sandbox Code Playgroud)

谢谢!

xml xpath scala plist

5
推荐指数
2
解决办法
655
查看次数

为什么Scala编译器说该副本不是我的case类的成员?

首先,这是在Scala 2.8中,所以它应该在那里!=)

我正在研究Lift的Javascript对象,我希望得到以下内容:

case class JsVar(varName: String, andThen: String*) extends JsExp {
  // ...
  def -&(right: String) = copy(andThen=(right :: andThen.toList.reverse).reverse :_*)
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,我收到以下编译器错误:

[error] Lift/framework/web/webkit/src/main/scala/net/liftweb/http/js/JsCommands.scala:452: not found: value copy
[error]     def -&(right: String) = copy(andThen=(right :: andThen.toList.reverse).reverse :_*)
[error]
Run Code Online (Sandbox Code Playgroud)

case类有属性,所以应该有一个copy方法,对吗?

如果我尝试this.copy我几乎得到相同的错误:

[error] Lift/framework/web/webkit/src/main/scala/net/liftweb/http/js/JsCommands.scala:452: value copy is not a member of net.liftweb.http.js.JE.JsVar
[error]     def -&(right: String) = this.copy(andThen=(right :: andThen.toList.reverse).reverse :_*)
[error]
Run Code Online (Sandbox Code Playgroud)

为什么这样,我如何copy在我的case类方法中使用?或者是copy在声明我的方法之后编译器添加的想法?

我应该这样做吗?

case class JsVar(varName: String, andThen: String*) extends JsExp …
Run Code Online (Sandbox Code Playgroud)

scala copy case-class

5
推荐指数
1
解决办法
1411
查看次数

仅转换Scala列表的第一个元素

有没有办法只转换列表的第一个元素而不做像超级hacky这样的事情:

val head = l1.head
val tail = l1.tail
val l2   = change(head) :: tail
Run Code Online (Sandbox Code Playgroud)

updated() 看起来它可以工作,但并没有太大的改进:

val head = l1.head
val l2   = l.update(0, change(head))
Run Code Online (Sandbox Code Playgroud)

我喜欢这样的东西:

val l2   = l1.updateHead(change(_))
Run Code Online (Sandbox Code Playgroud)

有什么相似的吗?

scala list map

5
推荐指数
3
解决办法
4108
查看次数

在SBT中并行运行ScalaTest测试(而不是套件)

我想并行运行特定套件的所有测试.显然我可以通过将ParallelTestExecution特性混合到我的套件中来做到这一点,但测试仍然按顺序运行.我怀疑这是因为Distributor没有被传递给runTests.看一下scalatest-users邮件列表,看来这是一个已知的问题,将在sbt 0.13和ScalaTest的相关版本中修复.

它是否正确?

scala sbt scalatest

5
推荐指数
0
解决办法
579
查看次数

在Heroku上启用Ruby PostGIS支持

我正在尝试在Heroku上的Rails应用程序中启用PostGIS.我Gemfileactiverecord-postgis-adapter宝石包括:

gem 'activerecord-postgis-adapter', '3.0.0'
Run Code Online (Sandbox Code Playgroud)

但是,在启动我的实例后,我没有看到启用完全支持:

$ heroku run irb
Running `irb` attached to terminal... up, run.5549
irb(main):001:0> require 'rgeo'
=> true
irb(main):002:0> RGeo::Geos.supported?
=> false
Run Code Online (Sandbox Code Playgroud)

我已经添加了Postoku 文章中指定的heroku-geo-buildpack,尽管我使用的是更新的,真正的multi-buildpack格式:

$ heroku buildpacks
=== staging Buildpack URLs
1. https://github.com/cyberdelia/heroku-geo-buildpack.git#1.3
2. https://github.com/heroku/heroku-buildpack-ruby.git#v140
Run Code Online (Sandbox Code Playgroud)

我很困惑,因为我的构建过程看起来是正确的:

-----> Multipack app detected
-----> Fetching custom git buildpack... done
-----> geos/gdal/proj app detected
       Using geos version: 3.4.2
       Using gdal version: 1.11.1
       Using proj version: 4.8.0_1
-----> Vendoring geo libraries done
-----> Fetching …
Run Code Online (Sandbox Code Playgroud)

postgis ruby-on-rails heroku

5
推荐指数
1
解决办法
581
查看次数

如何在OS X上轻松安装arm-elf-gcc?

如果这应该是服务器故障,请告诉我...

我有一些我想编译的代码需要arm-elf-gcc.我不是嵌入式程序员,所以这对我来说都是新手.我的开发机器是Mac,我经常使用fink,所以我很乐意以这种方式安装它.但是,fink不知道任何具有该名称的包.我看到gnuarm.org有一些OS X的二进制文件,但它们的软件包似乎也包含了我已经拥有的一堆东西(例如gcc).我是否相信我需要安装 binutils,newlib还有一个名为t-arm-elf的文件?

compiler-construction macos arm gnu

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