我想用宏定义一个变量ident并将其传递给派生宏,但出现错误:
错误
error: macro expansion ignores token `let` and any following
--> database/src/models.rs:15:9
|
15 | let struct_name = stringify!($name);
| ^^^
...
50 | / model!(Person {
51 | | name: String
52 | | });
| |___- caused by the macro expansion here
|
= note: the usage of `model!` is likely invalid in item context
Run Code Online (Sandbox Code Playgroud)
代码
#[macro_export]
macro_rules! model {
(
$(#[$met: meta])*
$name: ident { $($attr: ident : $typ: ty),* }
) => { …Run Code Online (Sandbox Code Playgroud) 我的工作区中有三个成员,我想将第一个成员与 一起编译musl,将其他两个成员与glibc. 我已经.cargo/config在项目根文件夹中创建了一个包含glibcconfigs 的文件。并.cargo/config在第一个成员文件夹中使用 configs 创建另一个文件musl。然而,我的第一个成员不是用musl. 我想在 alpine docker 容器中运行第一个成员,并且我正在使用第二个成员管理 docker 容器。怎么解决这个问题呢?
我正在为Android应用开发REST API。我想将base64图像另存为从应用程序发送的jpeg图像。我在laravel干预下为此编写了代码,并与邮递员进行了测试。没问题。但是,当从Android应用发送数据时,他们说我收到了500条错误消息Image intervention - Image source not readable。
之后,我看到他们的JSON包含反斜杠和\ns。所以我试图用逃避他们stripslashes,stripcslashes,utf8_encode,utf8_decode但没有运气。
在我离开laravel干预并开始尝试使用imagecreatefromstring(gd)库之后。也没有运气的imagecreatefromstring(): Data is not in a recognized format消息。
这是我的尝试。
<?php
$json_string = '{"id_city":2,"image":"UklGRpQEAABXRUJQVlA4IIgEAAAQGgCdASpyAHMAPxF+tlMsKCUiqxLrCYAiCWkRQAHDhsYwTe19\nO7uR07OS4zITzPgo\/k\/\/0J5nUNHFl64IOAxaccVoK1IldwGQzh87cuQK\/Qv6ruo6EARQuRqZXsI1\nT1a85ouI4ZYwKmvLwgnuBPnn\/HRLOOjc4GJZ2WzZhF5g+XbewWBxrDfIJEcLkLPeY8ebLZwDLcjY\nSUrgaaxHaTX1+xU8bcKt59iNx\/IMFYnpdDJvKcJwFW9rBRy\/U5DjRlo5ZQU7dKgqlxXmdu5MGOh2\n43RLSSEWILgAANfz4R4KgwnZHkZWDlHwIRGB+lbtcZ4Y4mWUjleS5JFM3KmrDaJ419MI2ZJJU\/7k\n0Z63mAmpzXw31PSx+S+HPbgOz8MxBGrN09TRKMLuJ5i5LMOQQXjtsd0idgm7djBK+5MW0EnFMuCg\nZqmSJN3GJlBDoiuUSOsJsG4iwgt3mUGcqCnlcEvqKoGoXcELjZz1mr+WCRvFdllVtLtbO3la0aKi\neKrWUJGpztH59Gub9ENSLdVbif\/ZqknZP4suXBmfEj\/aBRk13G0p+PfzPFi\/UIYaKp2E8IgRyQUY\nF+ORSC+8+BY2hvmdRlfGxk25HvsYvNj9LCiCCmwf2LY80yDOCfAES8\/Zbkcf4Sk6cWdWvZ97N2Z1\nGxIG3u\/ozL3dojnfpkFySQr1mEfzZRlK0xXRQ2uEi3A0Av6pDw\/Agti0lqVNunnw94R8jLYOrQ7M\n7vSphyGicy+oyO0K7cbUQMVFW3j\/oRJK4s8WUiekb1enKbO96EDDTzQCCdn31wG2hU\/gR5RFYK7u\nxbdqWs1lLp\/JBwrua\/v2Vj3TDXFV9a\/JuzdOWSkEa7K8TqU2AlP67mM6HM132Ywl3ia631jGli+I\nIc8bKGr94ntR134G\/hLmQ1u2yq\/v1D8JwXgtQ2IRDsZvd1Y5EguLtdUSpl6z55GkWo69GAKGaNqH\njxW9hEAnx5aiF\/MPCsn34TVQ5saH2w0nOHKASzvCpVSYVbWiGJwxu7WQxTJA0rfRtULzLM+mymOK\neZtoiI0lYiireQpXTu8feigMY48QIU5Xc1G\/xqHSeyS5\/Z5VIFdkJCp\/JWbzoDCY\/tPdXrNwAzHX\nq8VX9qJ+4z1iiqtqx3MokhP8IX63qfOitGKrI8TfqC2SPr4BY1udsJjsVyFJDrxPtOia6JaDY5Ve\nTKcH+gs9oGAAjYdNDqOWy6FQbNJWVc\/VFTrzqXP2RJ32K9DepoTj8pAujbvjBzOxaKakp1934e9E\nyNjxeDmSPCWD31mo0351iPMqyyC1k02PO0nCttrpqsgUrdXS9v0kLtpx+Dt9n5y3tgGd\/dXnQhrW\nEcamg0R4XQy2kVbQVo\/eAi5G+VZOpo1c6mBAbU9rl1JPZY2HJmfZI5EZAXTH2Idi9zSzSjcP4cT+\nTWBl1kfl\/v+cAFGUJj9vx2dhvpq7hhFBzZ9NmBHCdE8qEEpz7JkHCgVIR6SSOZoEg9CMS\/NEGm9w\nUDgX+FGlCdz94\/3XNLPbe\/kEpZ\/5C+QJJVAV27kOIl9IC8If9YGAAA==\n"}';
$data = json_decode($json_string);
var_dump($data->image);
// After copy and pasted the var_dump result to the postman it works
$base64_decoded = base64_decode($data->image);
imagecreatefromstring($base64_decoded);
?>
Run Code Online (Sandbox Code Playgroud) 我想删除运行测试用例时存在的数据库文件。所以我尝试了下面的代码,但失败了。你能告诉我这个错误的可能原因吗?
let db_path = Path::new("./tmp/data/data.mdb");
if db_path.is_file() {
dbg!(db_path.exists()); // db_path.exists() = true
dbg!(db_path.is_file()); // db_path.is_file() = true
dbg!(std::fs::metadata(db_path));
// Ok(
// Metadata {
// file_type: FileType(
// FileType {
// mode: 33152,
// },
// ),
// is_dir: false,
// is_file: true,
// permissions: Permissions(
// FilePermissions {
// mode: 33152,
// },
// ),
// modified: Ok(
// SystemTime {
// tv_sec: 1647472466,
// tv_nsec: 574985772,
// },
// ),
// accessed: Ok(
// SystemTime {
// tv_sec: …Run Code Online (Sandbox Code Playgroud) 我想找到具有多个扩展名的某些模式的文件。前任:-
some/path/**.{json,jsonc}
Run Code Online (Sandbox Code Playgroud)
但 Rust glob函数不适用于这些类型的模式。这是我的解决方法:-
some/path/**.{json,jsonc}
Run Code Online (Sandbox Code Playgroud)