问题列表 - 第318075页

如何合并具有两个公共列的多个文件,并将添加的列命名为文件名?

我试图.bed通过识别前两列chr并start遵循此来合并多个文件,

将多个文件合并为两个公共列,并将空白替换为0

但是,我想知道如何使文件名成为新添加的列名。

$cat combineFWPS_02.sh

    BEGIN {
       for (k=1; k<ARGC; ++k)
          s = s " " 0
    }
    FNR == 1 {
       ++ARGIND
    }
    {
       key=$1 OFS $2
       if (!(key in map))
          map[key] = s
       split(map[key], a)
       a[ARGIND] = $3
       v = ""
       for (k=1; k<ARGC; ++k)
          v = v " " a[k]
       map[key]=v
    }
    END {
       for (k in map)
          print k map[k]
    }

$cat comRwps_02.sh

awkCOM="~/scripts/combineFWPS_02.sh"
## Run the jobs
time awk …
Run Code Online (Sandbox Code Playgroud)

awk bioinformatics bed

6
推荐指数
2
解决办法
195
查看次数

为什么 Rust 中实例方法可以像静态方法一样被调用?

我学习了两种在 Rust 中调用方法的方法。

第一种方式称为静态方法,它不需要实例,可以直接使用结构体调用。

第二种方式称为实例方法,它需要一个对象实例来调用它。

两种方法的区别在于第一个参数是否为self。

例子:

struct User {
    name: String,
}


impl User {
    //static method
    fn new(name: String) -> Self {
        User { name }
    }
    //instance method
    fn get_name(&self) -> String {
        self.name
    }
}
Run Code Online (Sandbox Code Playgroud)

但我发现可以这样调用一些方法:

use chrono::Local;
use chrono::TimeZone;
fn main() {
    let time = Local.with_ymd_and_hms(2024, 1, 26, 15, 0, 0).unwrap();
    println!("{}", time.format("%F %T"));
}
Run Code Online (Sandbox Code Playgroud)

我不明白。with_ymd_and_hms定义TimeZone如下:

    fn with_ymd_and_hms(
        &self,
        year: i32,
        month: u32,
        day: u32, …
Run Code Online (Sandbox Code Playgroud)

rust

4
推荐指数
1
解决办法
121
查看次数

尝试添加 Prettier 的 Git Hook 时出现问题:husky 安装错误 `install command is deprecated`

节点版本:20.11.0 pnpm 版本:8.15.0 操作系统:Windows

我按照https://prettier.io/docs/en/install.html中的说明进行操作

  • 我运行了第二个pnpm exec husky install命令
  • cmd 给我一条错误消息“install command is deprecated”

哈士奇有问题吗?如何设置更漂亮的 git hook?

感谢帮助

githooks husky prettier-eslint

3
推荐指数
1
解决办法
4305
查看次数

将每一行映射到一个列表中并收集所有

我有一个数据框:

df = pl.DataFrame(
    {
        "t_left": [0.0, 1.0, 2.0, 3.0],
        "t_right": [1.0, 2.0, 3.0, 4.0],
        "counts": [1, 2, 3, 4],
    }
)
Run Code Online (Sandbox Code Playgroud)

我想将每一行映射到一个列表中,然后收集所有值(要传递到 例如matplotlib.hist)

我可以手动完成,如下所示:

times = []
for t_left, t_right, counts in df.rows():
    times.extend(np.linspace(t_left, t_right, counts + 1)[1:])
Run Code Online (Sandbox Code Playgroud)

但这对于我的数据集来说太慢了。

我对 python 和 Polars 都是全新的,所以我想知道是否有更好的方法来实现这一点。

编辑

完整的复制粘贴示例以重现。

import polars as pl
import numpy as np

size = 1000000
df = pl.DataFrame(
    {
        "t_left": np.random.rand(size),
        "t_right": np.random.rand(size) + 1,
        "counts": [1] * size,
    }
)

times = []
for …
Run Code Online (Sandbox Code Playgroud)

python python-polars

3
推荐指数
1
解决办法
125
查看次数

Node.js 16 操作已弃用。请更新以下操作以使用 Node.js 20:actions/setup-java@v3、warchant/setup-sonar-scanner@v7

Node.js 16 操作已弃用。请更新以下操作以使用 Node.js 20:actions/setup-java@v3、warchant/setup-sonar-scanner@v7

Node.js 16 操作已弃用。请更新以下操作以使用 Node.js 20:actions/setup-java@v3、warchant/setup-sonar-scanner@v7.trying pipeline with sonar

node.js

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

在函数中返回可观察管道与分配给变量

我有一个功能代码片段,它使用 Angular 服务创建 Observable 管道。该代码使用 mergeMap、filter、map 和 shareReplay(1) 运算符来处理用户身份验证并从用户配置文件中检索加入状态。该管道旨在重复使用,以有效地观察入职状态的变化。

当我将此逻辑封装在函数中并返回生成的 Observable 或将其分配给类属性时,我观察到不同的行为。当我从函数返回 Observable 时,管道内的整个链在每个订阅上执行。另一方面,如果我将 Observable 分配给类属性,则 shareReplay(1) 运算符将按预期工作,并且整个链仅执行一次。

我对这种差异感到困惑,并怀疑这可能与新实例的创建有关。你能帮我理解为什么从函数返回 Observable 和将其分配给类属性之间的行为不同吗?如何在这两种情况下使用 shareReplay(1) 运算符实现一致的行为?

user$ = user(this.auth).pipe(shareReplay(1));

getStatus(): Observable<> {
 return this.angularService.user$.pipe(
            mergeMap(user => {
                console.log('Onboarding merge map');
                return this.angularService.getUserProfile(user?.uid || "").pipe(
                    filter(({ profile, user }) => {
                        console.log('Filter: ', profile['onboarding'])
                        return profile && profile['onboarding'];
                    }),
                    map(d => d.profile['onboarding'])
                )
            }),
            shareReplay(1)
        );
}
Run Code Online (Sandbox Code Playgroud)
user$ = user(this.auth).pipe(shareReplay(1));

readonly onboardingStatus$: Observable<> = this.angularService.user$.pipe(
            mergeMap(user => {
                console.log('Onboarding merge map');
                return this.angularService.getUserProfile(user?.uid || …
Run Code Online (Sandbox Code Playgroud)

javascript class rxjs firebase angular

2
推荐指数
1
解决办法
87
查看次数

如何使用 Bootstrap 5 设置对角线背景样式?

使用 Bootstrap 5 和 (s)css 时如何创建对角线风格的背景(如下面的屏幕截图所示)?

理想情况下与此处记录的其他 Bootstrap 后台实用程序完美配合: https ://getbootstrap.com/docs/5.3/utilities/background/

例如,当有:

<div class="bg-primary-subtle text-emphasis-primary">
  Lorem ipsum.
</div>
Run Code Online (Sandbox Code Playgroud)

或使用其他颜色、渐变和不透明度:

<div class="bg-success text-white bg-gradient bg-opacity-75">
  Lorem ipsum.
</div>
Run Code Online (Sandbox Code Playgroud)

能够轻松添加对角线效果(向上/向下任一方向)?

在此输入图像描述

或者有时:

在此输入图像描述

html css sass twitter-bootstrap bootstrap-5

0
推荐指数
1
解决办法
142
查看次数

std::format 精度必须是 constexpr?

我有一个函数,用于获取输入双精度数的固定数字字符串。

函数是:

std::string to_fixed_string(double s, size_t n) {
  char buff[64];
  snprintf(buff, sizeof(buff), ("%." + std::to_string(n) + "f").c_str(), s); 
  return buff;
}
Run Code Online (Sandbox Code Playgroud)

最近我正在使用std::format,最重要的原因是std::format比snprintf更快。

但我发现 constexpr 限制使得这个函数不起作用。

有没有更有效的方法来实现这个功能?

例子是:

func(1.123123131, 3) -> "1.123"
func(1.123123131, 5) -> "1.12312"
Run Code Online (Sandbox Code Playgroud)

c++ c++20

0
推荐指数
1
解决办法
89
查看次数

在 Perl 中,如何匹配数字 N 和接下来的 N 个字符?

我想做的事情看似简单,但我找不到一种方法来使其发挥作用。

我想匹配一个数字,捕获它,然后匹配字符串中后面的N个字符。天真地,我认为这样的事情会起作用:

$myString = "1abc3cdf\n"; 

# Capture the number, and use a back-reference in the {} to define how many characters to match
$myString =~ s/(\d+).{\1}//g;

print $myString;
Run Code Online (Sandbox Code Playgroud)

我期望得到bc,但它只返回原始字符串1abc3cdf,即没有发生替换。

我尝试使用扩展的正则表达式(即s///ge),但这没有帮助。有什么建议么?

regex perl

3
推荐指数
1
解决办法
114
查看次数

异步 fn 中的 Rust 递归

我想在异步 fn 中使用递归,就像:

async fn test(data: i32) -> i32 {
    if data == 0 {
        0
    } else {
        test(data - 1).await
    }
}
Run Code Online (Sandbox Code Playgroud)

但它说 an 中的递归async fn需要装箱。

所以我把它改成这样:

async fn test(data: i32) -> BoxFuture<'static, i32> {
    async move {
        if data == 0 {
            0
        } else {
            test(data - 1).await.await
        }
    }
    .boxed()
}

Run Code Online (Sandbox Code Playgroud)

但它再次编译错误,并显示消息:计算类型时使用的循环,test::{opaque#0} 我应该做什么来修复它?

recursion asynchronous rust

3
推荐指数
1
解决办法
58
查看次数