小编アレッ*_*ックス的帖子

函数签名上缺少生命周期说明符[E0106]

我很困惑这个简单代码(Playground)的错误:

fn main() {
    let a = fn1("test123");
}

fn fn1(a1: &str) -> &str {
    let a = fn2();
    a
}

fn fn2() -> &str {
    "12345abc"
}
Run Code Online (Sandbox Code Playgroud)

这些是:

error[E0106]: missing lifetime specifier
  --> <anon>:10:13
   |
10 | fn fn2() -> &str {
   |             ^ expected lifetime parameter
   |
   = help: this function's return type contains a borrowed value, but there is no value for it to be borrowed from
   = help: consider giving it a 'static lifetime …
Run Code Online (Sandbox Code Playgroud)

rust

8
推荐指数
1
解决办法
6614
查看次数

从未完成的未来

需要测试一些可能导致超时的方法,我想为此创建一个辅助函数.它应该返回一个Future从来没有完成:

def neverCompletes[T]: Future[T] = { ... }
Run Code Online (Sandbox Code Playgroud)

但我想知道,我怎么能这样做?我可能喜欢以下内容:

def neverCompletes[T]: Future[T] = {
  val p = Promise[T]()
  future {
    while(true) { }
  } onComplete {
    case x => 
      p complete x // needed?
      println("something went wrong!!!") // something is wrong...
  }

  p.future
}
Run Code Online (Sandbox Code Playgroud)

但应该有更好的方法来实现这一目标.我也不确定p complete x // needed?那里是否需要.

concurrency scala future

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

在能够处理其他一些消息之前初始化一个actor

我有一个演员创造另一个:

class MyActor1 extends Actor {
  val a2 = system actorOf Props(new MyActor(123))
}
Run Code Online (Sandbox Code Playgroud)

第二个actor必须在创建后自行初始化(bootstrap),并且只有在此之后它必须能够完成其他工作.

class MyActor2(a: Int) extends Actor {
  //initialized (bootstrapped) itself, potentially a long operation 
  //how?
  val initValue = // get from a server

  //handle incoming messages
  def receive = {
    case "job1" => // do some job but after it's initialized (bootstrapped) itself
  }
}
Run Code Online (Sandbox Code Playgroud)

因此,首先MyActor2必须做的是做一些初始化自己的工作.这可能需要一些时间,因为它是对服务器的请求.只有在成功完成后,它必须能够处理传入的消息receive.在那之前 - 它不能那样做.

当然,对服务器的请求必须是异步的(最好是使用Future,不是async,await或其他高级别的东西AsyncHttpClient).我知道如何使用Future,但这不是问题.

我该如何确保?

ps我的猜测是它必须首先向自己发送消息.

asynchronous scala future akka

7
推荐指数
2
解决办法
2610
查看次数

从原点拉出所有分支

我可以这样说:

git push --all origin
Run Code Online (Sandbox Code Playgroud)

它会将所有分支推向原点.但如果我这样做:

git pull --all origin
Run Code Online (Sandbox Code Playgroud)

然后它不会原点拉出所有分支,它只返回一个错误:

fatal: fetch --all does not take a repository argument
Run Code Online (Sandbox Code Playgroud)

好的,我这样做:

git pull --all
Run Code Online (Sandbox Code Playgroud)

买还是说:

You asked to pull from the remote '--all', but did not specify
a branch. Because this is not the default configured remote
for your current branch, you must specify a branch on the command line.
Run Code Online (Sandbox Code Playgroud)

那么如何从原点拉出所有分支(就像我所有分支送到原点git push --all origin)?

git

7
推荐指数
2
解决办法
3558
查看次数

如何在Sublime Text 3中构建Scala应用程序?

我希望能够在Mac 10.9.3上的Sublime Text 3中构建Scala应用程序.我安装了Scala 2.11.1和sbt 0.13.5,它们都运行良好.我用自制软件安装它们.

但是,我似乎无法找到如何为Scala项目创建构建系统.例如,这个不起作用:

{
    "cmd": ["sbt", "test"],
    "selector": "source.scala",
    "working_dir": "${project_path}"
}
Run Code Online (Sandbox Code Playgroud)

我发现了几个不同的,但它们也不适合我.你的意见?

更新:

[Errno 2] No such file or directory: 'sbt'
[cmd: ['sbt', 'test']]
[dir: /Users/alex/Documents/projects/scala/dir1]
[path: /usr/bin:/bin:/usr/sbin:/sbin]
[Finished]
Run Code Online (Sandbox Code Playgroud)

UPDATE2:

{
    "cmd": ["/usr/local/bin/sbt", "test"],
    "selector": "source.scala",
    "working_dir": "${project_path}"
}
Run Code Online (Sandbox Code Playgroud)

一款应用:

class MainTest extends App {
  println("Hellowa!")     
}
Run Code Online (Sandbox Code Playgroud)

输出:

 [0m[[0minfo[0m] [0mSet current project to scala (in build file:/Users/alex/Documents/projects/scala/)[0m
[0m[[0minfo[0m] [0mCompiling 1 Scala source to /Users/alex/Documents/projects/scala/target/scala-2.10/classes...[0m
[0m[[32msuccess[0m] [0mTotal time: 4 s, completed Jun 16, 2014 4:51:38 …
Run Code Online (Sandbox Code Playgroud)

scala sbt sublimetext3

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

通过不完全id来查找元素

有一个id如下的元素:

some_id_123456_some_id_id_id
Run Code Online (Sandbox Code Playgroud)

其中123456是未知的任意的数.我如何通过id找到这个元素?

javascript jquery

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

将任何字符串转换为Int

我有一个类型的变量,Any其运行时类型String我想要转换为Int:

val a: Any = "123"
Run Code Online (Sandbox Code Playgroud)

如果我尝试转入Int,我会得到一个例外java.lang.ClassCastException:

val b = a.asInstanceOf[Int]
Run Code Online (Sandbox Code Playgroud)

那我该怎么办?

scala

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

Fmap和地图,我看不出差别

我试图了解这些算子是什么,但到目前为止我不能.这两者之间有什么区别:

Prelude> fmap (+1) [1..9]
[2,3,4,5,6,7,8,9,10]

Prelude> map (+1) [1..9]
[2,3,4,5,6,7,8,9,10]
Run Code Online (Sandbox Code Playgroud)

haskell

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

在Django 1.7中启动时执行代码

似乎Django允许在启动时执行代码 - 当应用程序启动时,但是,它不清楚我应该把代码放在哪里.那么如何在Django 1.7中启动时执行代码呢?

python django

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

在pandas中展平数组

DataFrame中的一列是一个数组.我该如何压扁它?

column1 column2 column3
var1     var11   [1, 2, 3, 4]
var2     var22   [1, 2, 3, 4, -2, 12]
var3     var33   [1, 2, 3, 4, 33, 544]
Run Code Online (Sandbox Code Playgroud)

展平后应该是:

column1 column2 column3
var1     var11   1
var1     var11   2
var1     var11   3
var1     var11   4
var2     var22   1
var2     var22   2
var2     var22   3
var2     var22   4
var2     var22   -2
......
var3     var33   544
Run Code Online (Sandbox Code Playgroud)

我似乎unstack可以帮助我,但我无法理解究竟是怎么回事.

python pandas

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