小编Jua*_*rro的帖子

如何在sh中的字符串中添加换行符?

这个

STR="Hello\nWorld"
echo $STR
Run Code Online (Sandbox Code Playgroud)

产生输出

Hello\nWorld
Run Code Online (Sandbox Code Playgroud)

代替

Hello
World
Run Code Online (Sandbox Code Playgroud)

如何在字符串中添加换行符?

注意:这个问题不是关于回声. 我知道echo -e,但我正在寻找一种解决方案,允许将一个字符串(包括换行符)作为参数传递给其他命令,这些命令没有类似的选项来解释\n为换行符.

sh

303
推荐指数
7
解决办法
27万
查看次数

如何将CPAN用作非root用户?

我想在我没有root访问权限的共享服务器上安装perl模块.我怎样才能做到这一点?它们似乎也有旧版本的CPAN(它在运行命令时会抱怨),是否可以更新我帐户中使用的CPAN命令而无需root访问权限?

perl cpan

76
推荐指数
3
解决办法
4万
查看次数

如何将字符串解析为Perl中的DateTime对象?

我知道DateTimePerl模块,以及许多DateTime::Format::解析特定日期/时间格式的模块.但是,考虑到日期/时间字符串的一些示例,我如何计算(在编码/设计时,而不是在运行时)我应该使用哪个特定模块?

例如,我想解析字符串,如: October 28, 2011 9:00 PM PDT

是否有一个最常见的日期/时间格式的列表,我可以查看它,找到哪个是最合适的模块?

我也知道一些模块试图在运行时"猜测"每个给定字符串的格式并尽力而为.但是,对于敏感应用程序,我想在设计应用程序时首先确定(尽可能严格)格式,然后使用一个模块,如果字符串与指定的格式不匹配,它将发出警告.

我该怎么办呢?

perl datetime parsing

32
推荐指数
3
解决办法
4万
查看次数

如何让Python优雅地格式化None和不存在的字段

如果我用Python写:

data = {'n': 3, 'k': 3.141594, 'p': {'a': 7, 'b': 8}}
print('{n}, {k:.2f}, {p[a]}, {p[b]}'.format(**data))
del data['k']
data['p']['b'] = None
print('{n}, {k:.2f}, {p[a]}, {p[b]}'.format(**data))
Run Code Online (Sandbox Code Playgroud)

我明白了:

3, 3.14, 7, 8
Traceback (most recent call last):
  File "./funky.py", line 186, in <module>
    print('{n}, {k:.2f}, {p[a]}, {p[b]}'.format(**data))
KeyError: 'k'
Run Code Online (Sandbox Code Playgroud)

而不是错误消息,我如何让Python更优雅地格式化None和不存在的字段?

举个例子,我想在输出中看到更像:

3, 3.14, 7, 8
3, ~, 7, ~
Run Code Online (Sandbox Code Playgroud)

当然,理想情况下,我希望能够指定使用的字符串而不是那些缺少的值.

python string-formatting missing-data

28
推荐指数
3
解决办法
2万
查看次数

如何使用AppleScript写入文本文件?

就是这样了.如何使用AppleScript写入文本文件?

我试过谷歌搜索,但答案似乎已经岁了几年,我不确定这几天应该是什么样的首选成语.

io applescript

19
推荐指数
4
解决办法
4万
查看次数

将先前证明的定理作为假设引入

假设我已经在coq中证明了一些定理,后来我想在另一个定理的证明中作为假设引入它.有简洁的方法吗?

当我想要通过案例进行证明时,通常会出现对此的需求.而且我发现这样做的一种方法是对assert定理的陈述,然后立即证明它,但这看起来有点麻烦.例如,我倾向于写下这样的东西:

Require Import Arith.EqNat.

Definition Decide P := P \/ ~P.

Theorem decide_eq_nat: forall x y: nat, Decide (x = y).
Proof.
  intros x y. remember (beq_nat x y) as b eqn:E. destruct b.
    left. apply beq_nat_eq. assumption.
    right. apply beq_nat_false. symmetry. assumption. Qed.

Theorem silly: forall x y: nat, x = y \/ x <> y.
Proof.
  intros x y.
  assert (Decide (x = y)) as [E|N] by apply decide_eq_nat.
    left. assumption.
    right. assumption. Qed.
Run Code Online (Sandbox Code Playgroud)

但有没有比输入整个 …

coq

18
推荐指数
1
解决办法
3361
查看次数

有限地图示例

对于我的应用程序,我需要在Coq中使用和推理有限映射.谷歌搜索我发现FMapAVL似乎完全符合我的需要.问题是文档很少,我还没弄清楚我应该如何使用它.

作为一个简单的例子,考虑使用对列表的有限映射的以下愚蠢的实现.

Require Export Bool.
Require Export List.
Require Export Arith.EqNat.

Definition map_nat_nat: Type := list (nat * nat).

Fixpoint find (k: nat) (m: map_nat_nat) :=
match m with
| nil => None
| kv :: m' => if beq_nat (fst kv) k 
                then Some (snd kv)
                else find k m'
end.

Notation "x |-> y" := (pair x y) (at level 60, no associativity).
Notation "[ ]" := nil.
Notation "[ p , .. , r ]" := (cons …
Run Code Online (Sandbox Code Playgroud)

dictionary coq

9
推荐指数
1
解决办法
1308
查看次数

使用隐式$ _变量在while循环上"修改只读值"

我真的不明白为什么下面这段perl代码

#!/usr/bin/perl -w

use strict;
use warnings;

strange($_) for qw(a b c);

sub strange {
  open FILE, '<', 'some_file.txt' or die;
  while (<FILE>) { } # this is line 10
  close FILE;
}
Run Code Online (Sandbox Code Playgroud)

抛出以下错误

Modification of a read-only value attempted at ./bug.pl line 10.
Run Code Online (Sandbox Code Playgroud)

这是一个错误吗?或者我应该知道魔术/隐含变量的用法$_

perl

8
推荐指数
2
解决办法
2657
查看次数

Jekyll中一个帖子的YAML前端的预期日期格式是什么?

根据Jekyll的前端文档,date变量可用于指定发布帖子的日期和时间.Jekyll期待的日期格式是什么?我见过的一些例子表明,例如:

date: 2010-09-15 14:40:45
Run Code Online (Sandbox Code Playgroud)

但是否也可以包含时区信息?Jekyll如何解析这个字符串?

datetime jekyll

8
推荐指数
1
解决办法
2676
查看次数

如何过滤匹配时如何通过数组grep?

是否有一种快速简便的方法来查找数组,找到满足某些测试的元素从原始数组中删除它们?

比如我想

@a = (1, 7, 6, 3, 8, 4);
@b = grep_filter { $_ > 5 } @a;

# now @b = (7, 6, 8)
# and @a = (1, 3, 4)
Run Code Online (Sandbox Code Playgroud)

换句话说,我想将一个数组拆分成两个数组:匹配的数组和不符合某个条件的数组.

arrays perl

5
推荐指数
2
解决办法
698
查看次数

舍入Math :: BigFloat编号

从我理解阅读文档的内容来看Math::BigFloat,以下内容应该是将数字四舍五入的代码,但它似乎不起作用.

#!/usr/bin/perl

use strict;
use warnings;
use Math::BigFloat;

my $x = Math::BigFloat->new('2.3');
$x->ffround(0, '+inf');
print "$x\n"; # -> 2
Run Code Online (Sandbox Code Playgroud)

我应该怎么做才能始终将数字向上舍入,例如,在此示例中将数字3作为输出.

perl rounding

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