小编Ele*_*ios的帖子

Clap - PathBuf 的默认值

如何设置 clap PathBuf 参数的默认值?它甚至可行吗?我不断地从一个错误跳到另一个错误。

当我尝试以“结构”方式进行操作时:

use std::{env, path::PathBuf};
use clap::{Parser, Args};

fn get_default_log_path() -> PathBuf {
    let mut path = env::current_exe().unwrap();
    path.pop();
    path.push("log/debug.log");
    path
}

#[derive(Parser, Debug)]
struct Cli {
  #[arg(default_value_t=get_default_log_path())]
  log_path: PathBuf
}

fn main() {
  let args = Cli::parse();
  println!("{:?}", args);
}
Run Code Online (Sandbox Code Playgroud)

我得到:std::path::PathBuf doesn't implement std::fmt::Display...

当我用字符串尝试时:

#[arg(default_value = get_default_log_path().as_os_str())]
log_path: PathBuf
Run Code Online (Sandbox Code Playgroud)

我得到:temporary value dropped while borrowed

如果我对其执行 .to_owned() ,它会输出:the trait bound clap::builder::OsStr: From<OsString> is not satisfied

这可能吗还是我做错了什么?我知道它可以在主函数中完成Option<PathBuf>并处理它。但这可以这样完成吗?

rust clap

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

在深色模式下更改 Bootstrap 主题颜色的颜色?

如何仅在深色模式下使用 sass 更改 Bootstrap 5.X 中的主题颜色(主要、次要等)?我知道如何在浅色和深色主题模式下更改主色:

自定义.scss

... snip ...
@import "../bootstrap/scss/functions";

$primary: #0e548c;

@import "../bootstrap/scss/variables";
... snip ...
Run Code Online (Sandbox Code Playgroud)

但是如何将 $primary 颜色更改为在黑暗模式下更亮一点呢?例如:#0062cc

在当前文档(variables_dark.scss)中,我只找到了变量:

  • 主要文本深色,
  • 主要背景微妙黑暗,
  • ...

我知道如何更改这些变量值,但不知道如何分配不存在的变量值(没有原色黑暗)。

添加:

@include color-mode(dark) {    
    $primary: #0062cc;
}
Run Code Online (Sandbox Code Playgroud)

之后@import "../bootstrap/scss/root";也不起作用..

sass colors bootstrap-5 darkmode

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

标签 统计

bootstrap-5 ×1

clap ×1

colors ×1

darkmode ×1

rust ×1

sass ×1