小编emc*_*sen的帖子

MATLAB:使用列表访问多维数组的元素

我有一个d维数组,A和长度等于d的向量inds.我想在inds访问A的值.

理想情况下,我会做类似A(*inds)的东西(借用Python的解包语法).我不知道如何在MATLAB中做到这一点.

如果我做A(inds),我实际上从A得到了单独的值,这不是我想要的.我想要的是inds的元素i是函数调用A()中的第i个参数.

matlab argument-unpacking

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

比较Scala中的类型

我有两个对象,每个对象都有本地定义的类型,我想确定类型是否相同.例如,我想要编译这段代码:

trait Bar {
  type MyType
}

object Bar {
  def compareTypes(left: Bar, right: Bar): Boolean = (left.MyType == right.MyType)
}
Run Code Online (Sandbox Code Playgroud)

但是,编译失败,"值MyType不是Bar的成员".

这是怎么回事?有没有办法做到这一点?

scala

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

在Scala中执行Python的"导入"之类的操作

是否可以在import不指定对象中的main函数的情况下使用Scala ,而不package在源文件中使用您要导入的代码的关键字?

一些解释:在Python中,我可以在一些文件"Lib.py"中定义一些函数,写一下

from Lib import *
Run Code Online (Sandbox Code Playgroud)

在同一目录中的其他文件"Run.py"中,使用"运行中的Lib"中的函数,然后使用该命令运行"运行" python Run.py.此工作流程非常适合我可能在一小时内编写的小脚本.

在Scala中,似乎如果我想要包含来自另一个文件的函数,我需要开始在多余的对象中包装东西.我宁愿不这样做.

import scala include

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

使用Scala从SBT获取堆栈跟踪

上下文:在SBT管理的项目中编写Scala单元测试.

当我执行sbt test运行我的单元测试时,断言在我的代码中某处失败,我得到类似下面的内容(仅此而已):

Test com.reach.ml.test.TestLSHEasy.T0 failed: assertion failed
Run Code Online (Sandbox Code Playgroud)

这告诉我哪个单元测试导致断言失败,但没有断言它是什么.如果我直接运行相同的测试(不使用sbt),我会得到一个完整的堆栈跟踪,这对于调试非常有用.所以我的问题是:当测试崩溃时,如何让SBT打印出堆栈跟踪?

unit-testing scala stack-trace sbt

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

Scala:覆盖toString,以便在字符串周围打印引号

我想写一个"toSource"函数,它将生成基本案例类的源代码.例如,我想:

case class Person(name: String, age: Int)
val bob = Person("Bob", 20)
println(toSource(bob)) // Should print """Person("Bob", 20)"""
Run Code Online (Sandbox Code Playgroud)

"toString"函数几乎给了我想要的东西,但它会丢弃字符串的引号:

println(bob.toString) // Prints """Person(Bob, 20)"""
Run Code Online (Sandbox Code Playgroud)

任何想法如何做到这一点?

serialization scala introspection

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

Scala SBT:在本地依赖关系发生变化时触发操作

在SBT中,只要源文件发生更改,就可以使用"〜"标记触发操作.例如,

sbt> ~test
Run Code Online (Sandbox Code Playgroud)

将在源更改时运行单元测试.

当源更改本地依赖关系发生更改时,是否有任何好的方法可以触发操作?当同时开发两个项目时,这将非常有用,其中一个项目取决于另一个项目.

我知道你可以通过手动指定文件基础项目的路径来获得这种行为,但这很脆弱,而且SBT已经知道它在哪里得到它的本地工件,所以这是我想要避免的.

scala sbt

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

Scala 2.10.2可能存在错误

我用Scala隐式解决方法得到了意想不到的行为,我想知道这个bug是在我的理解中还是在Scala编译器中.这是代码:

trait Trait1[A]

implicit def trait1ToList[A](trait1: Trait1[A]): List[A] = ???

trait Trait2[C]

{
  implicit def trait2Implicit[A, C <% List[A]]: Trait2[C] = ???

  // Compiles, as expected.
  implicitly[Trait2[Trait1[Int]]]
}

{
  implicit def trait2Pimp[A, C <% List[A]](int: Int): Trait2[C] = ???

  // Compiles, as expected.
  implicitly[Int => Trait2[Trait1[Int]]]

  // Does not compile, which is unexpected.
  // This is weird, because the fact the previous line compiles
  // implies the implicit conversion is in scope.
  2: Trait2[Trait1[Int]]
}
Run Code Online (Sandbox Code Playgroud)

编译错误是:

[error] /Users/eric/Dropbox/t/2013_q1/billy/src/test/scala/billy/experiments/wideBaseline/testWideBaselineExperiment.scala:56: No implicit …
Run Code Online (Sandbox Code Playgroud)

scala implicit

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

Scala Pickling:为嵌套结构编写自定义pickler/unpickler

我正在尝试编写一个自定义SPickler/Unpickler对来解决当前scala-pickling的局限性.我试图挑选的数据类型是一个案例类,其中一些字段已经拥有自己的SPickler和Unpickler实例.我想在我的自定义pickler中使用这些实例,但我不知道如何.

这是我的意思的一个例子:

// Here's a class for which I want a custom SPickler / Unpickler.
// One of its fields can already be pickled, so I'd like to reuse that logic.
case class MyClass[A: SPickler: Unpickler: FastTypeTag](myString: String, a: A)

// Here's my custom pickler.
class MyClassPickler[A: SPickler: Unpickler: FastTypeTag](
  implicit val format: PickleFormat) extends SPickler[MyClass[A]] with Unpickler[MyClass[A]] {
  override def pickle(
    picklee: MyClass[A],
    builder: PBuilder) {
    builder.beginEntry(picklee)

    // Here we save `myString` in some custom way.
    builder.putField(
      "mySpecialPickler",
      b …
Run Code Online (Sandbox Code Playgroud)

scala scala-pickling

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

为什么__attribute __((pure))函数中的GCC强制参数不是const?

以下代码在GCC 4.2下编译时没有警告,据我所知,它实际上不应该:

#include <fstream>

__attribute__((pure))
double UnpureFunction(double* x) {
  x[0] = 42;
  return 43;
}

int main () {
  double x[] = {0};
  double y = UnpureFunction(x);
  printf("%.2f %.2f\n", x[0], y);
}
Run Code Online (Sandbox Code Playgroud)

(打印"42.00 43.00".)

据我了解,pure属性告诉编译器该函数没有外部效果(请参阅此处的 "纯"部分).但是UnpureFunction正在修改它的参数.为什么允许这种情况发生?至少,编译器可以自动使每个参数为const.

c++ attributes

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

C++:纯虚拟类型

我在C++(C++ 11)中探索模板恶作剧,我想要的一件事是抽象类中的纯虚拟类型.这就像Scala的抽象类型.在C++中,我想做类似以下的事情:

struct Base {
  // Says any concrete subclass must define Type, but doesn't
  // require that it be anything in particular.
  virtual typedef MyType; 
};

struct Derived : Base {
  // Won't compile unless this typedef exists.
  typedef int MyType;
};
Run Code Online (Sandbox Code Playgroud)

知道怎么做吗?

c++ templates scala generic-programming

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