我不明白这个错误cannot move out of borrowed content.我收到了很多次,我总是解决它,但我从来没有理解为什么.
例如:
for line in self.xslg_file.iter() {
self.buffer.clear();
for current_char in line.into_bytes().iter() {
self.buffer.push(*current_char as char);
}
println!("{}", line);
}
Run Code Online (Sandbox Code Playgroud)
产生错误:
error[E0507]: cannot move out of borrowed content
--> src/main.rs:31:33
|
31 | for current_char in line.into_bytes().iter() {
| ^^^^ cannot move out of borrowed content
Run Code Online (Sandbox Code Playgroud)
我通过克隆解决了这个问题line:
error[E0507]: cannot move out of `*line` which is behind a shared reference
--> src/main.rs:31:33
|
31 | for current_char in line.into_bytes().iter() {
| ^^^^ …Run Code Online (Sandbox Code Playgroud) 我想知道如何从宏中读取类(及其方法)中的元数据.
我试图修改这个例子.我添加了:以查看没有它们的元数据是否仅在生成的代码中可用,但没有.我在所有三种情况下都有一个空结果..任何想法?
@:author("Nicolas")
@debug
class MyClass {
@:range(1, 8)
var value:Int;
@broken
@:noCompletion
static function method() { }
}
class Boot {
static public function main() {
test();
}
macro public static function test() {
trace(haxe.rtti.Meta.getType(MyClass)); // { author : ["Nicolas"], debug : null }
trace(haxe.rtti.Meta.getFields(MyClass).value.range); // [1,8]
trace(haxe.rtti.Meta.getStatics(MyClass).method); // { broken: null }
return haxe.macro.Context.makeExpr({}, haxe.macro.Context.currentPos());
}
}
Run Code Online (Sandbox Code Playgroud) 我正在编写一个宏,需要打开一个与我的宏类位于同一文件夹中的目录.问题是我需要能够做同样的事情,而不需要了解宏的文件夹.
我的问题很简单,有没有办法在宏中打开当前目录中的FileSystem.
例如:a(b(Macro.hx,c(...)))
当我从"Macro.hx"运行宏方法时,我需要直接打开"c"
如果你有个主意,谢谢:)
我对这个问题很迷茫,我不知道问题出在哪里,所以,我希望你能帮助我。
我有一个带有 symfony 的 HTTP BASIC 身份验证,我正在尝试访问受此身份验证保护的 URL,在 Drupal 页面中带有一个标记。每个请求都发送到 Varnish
我在 url 中提供用户名和密码,如下所示:
<esi:include src="http://admin:adminpass@api.dev:8081/app.php/next"/>
Run Code Online (Sandbox Code Playgroud)
在我的 varnish 配置文件中,我只有 auth.http 的那几行:
if (req.http.Authorization) {
return (pass);
}
Run Code Online (Sandbox Code Playgroud)
我的 Symfony 后端在没有 http 身份验证的情况下运行良好,并且当没有 Varnish 和 esi 标签时,http 身份验证运行良好。
如果有人知道这个问题,请告诉我,即使是错误的 =)
我正在尝试为我的haxe库创建一些命令,但我遇到了问题.实际上,我想在haxelib run <mylib> <command>发送命令的目录中生成一些文件和目录.
但是,当它运行时,它会在我的lib目录中生成数据(run.n所在的位置).我的路径如下:
Sys.getCwd() + "/myfile.txt"
Run Code Online (Sandbox Code Playgroud)
我也试过了
"myfile.txt"
Run Code Online (Sandbox Code Playgroud)
总是一样的.也许那是因为我安装了我的图书馆haxelib git?
flixel-tools有一个命令可以生成一些东西,但是直接用它flixel tpl -n 'name'.他们不使用haxelib run flixel.这就是为什么它适合他们?
谢谢你,如果你有一个想法.