我很困惑这个简单代码(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) 需要测试一些可能导致超时的方法,我想为此创建一个辅助函数.它应该返回一个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?
那里是否需要.
我有一个演员创造另一个:
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我的猜测是它必须首先向自己发送消息.
我可以这样说:
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
)?
我希望能够在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) 有一个id如下的元素:
some_id_123456_some_id_id_id
Run Code Online (Sandbox Code Playgroud)
其中123456
是未知的任意的数.我如何通过id找到这个元素?
我有一个类型的变量,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)
那我该怎么办?
我试图了解这些算子是什么,但到目前为止我不能.这两者之间有什么区别:
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) 似乎Django允许在启动时执行代码 - 当应用程序启动时,但是,它不清楚我应该把代码放在哪里.那么如何在Django 1.7中启动时执行代码呢?
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
可以帮助我,但我无法理解究竟是怎么回事.
scala ×4
future ×2
python ×2
akka ×1
asynchronous ×1
concurrency ×1
django ×1
git ×1
haskell ×1
javascript ×1
jquery ×1
pandas ×1
rust ×1
sbt ×1
sublimetext3 ×1