小编Joh*_*den的帖子

如何找出我在git中检出的版本?

可能重复:
如何在Git中检索当前提交的哈希值?

即什么是git相当于hg parentsvn info.

我可以在脚本中使用的答案的额外分数,即它给出'bbh653ad'而不是包含版本号的单词的负载

git parent

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

如何抽象三个bash脚本之间的通用代码?

我在三个不同的同级目录中有三个bash脚本。

每一行的前几行进行一些设置,各行之间有所不同。

脚本的最后二十行左右是相同字符,用于处理和比较在第一位中构造的文件。

我想做的是将最后20行输入,然后说../common.bash,做类似的事情

#include "../common.bash" 
Run Code Online (Sandbox Code Playgroud)

在这三个脚本中分别使用,以避免每次我摆弄时都必须在三个地方进行相同的更改。

到目前为止,我最好的猜测是使用cat从四个道德独立的片段中构建脚本。

有没有更好的办法?

bash scripting

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

如何让emacs正确处理错误扩展名的文件?

所以,(我们不要为什么假惺惺)我有一个的.emacs被称为文件dotemacs.bashrc中被称为文件dotbashrc.

当我加载dotemacs时,我没有语法高亮(除其他外).如果我做Mx lisp-mode那么一切都很好.

在不更改文件名的情况下,如何让emacs自动识别出dotemacs是一个lisp文件并进入lisp模式?类似地,对于bash脚本,实际上任何其他类型的文件具有错误(或没有)扩展名.

emacs file-type

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

在Maxima中,如何表示Hermite多项式的递归?

我试图告诉maxima有关hermite多项式的递归关系:

我的第一个表达是这样的:

phi[0]:exp(-1/2*x^2);

phi[1]:sqrt(2)*x*phi[0];

wxplot2d([phi[0],phi[1]], [x,-5,5]);
Run Code Online (Sandbox Code Playgroud)

到目前为止一切顺利,但我现在要通过以下方式定义所有其他内容:

phi[n]:sqrt(2/n)*x*phi[n-1] - sqrt((n-1)/n)*phi[n-2];
Run Code Online (Sandbox Code Playgroud)

这只是炸弹(堆栈溢出).我真的想这么说

wxplot2d(phi [10],[x,-5,5])会给我一个明智的图片吗?

recurrence maxima hermite polynomials

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

如何在python中删除?

我有一个数字列表,例如:

l=[0.01,0.02,0.01,-0.01,0,0,0,0,0,0,0,0,0,0]
Run Code Online (Sandbox Code Playgroud)

我想知道的是,为了获得全零的列表,我需要删除多少个主要值?

所以这里的答案是4.

我正在考虑,反转列表,然后使用for循环和计数器运行列表,直到我找到第一个非零元素,然后减去计数器和列表长度,但它似乎有点难看.

有一个很好的"pythonic"方式吗?

(为清晰起见编辑:

l=[0.01,0.02,0.01,-0.01,0,0,0,0,0,0,1,0,0,0]
Run Code Online (Sandbox Code Playgroud)

应该去11,所以我不能只使用过滤器.我想知道生产者花了多长时间才能稳定到输出连续为零的程度

python

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

emacs:在区域上搜索和替换

所以,我有这个出色的功能(有人为我制作的)用于在整个缓冲区上进行多次搜索和替换。

(defun accent-replace-whole-buffer ()
  "Corrects macrons from badly scanned latin"
  (interactive "*")
  (dolist (ele (list ?â ?ä ?ê ?ë ?î ?ô ?ü ?ï))
    (setq elt (char-to-string ele))
    (goto-char (point-min))
    (while (search-forward elt nil t 1)
      (replace-match
       (char-to-string
        (pcase ele
          (`?â ??)
          (`?ä ??)
          (`?ê ??)
          (`?ë ??)
          (`?î ??)
          (`?ô ??)     
          (`?ü ??)
          (`?ï ??)))))))
Run Code Online (Sandbox Code Playgroud)

我想制作另一个功能,它只在选定的区域上执行此操作。

我该怎么办?任何地方都有不错的教程吗?

emacs search region

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

是否有一个C预处理器宏来打印出一个结构?

据我所知,没有办法在C中打印出一个struct值.

即,这不会飞:

typedef struct {
    int a;
    double b;
} stype

stype a;

a.a=3;
a.b=3.4;

printf("%z", a);
Run Code Online (Sandbox Code Playgroud)

相反,你必须说:

printf("a: %d\n", a.a);
printf("b: %f\n", a.b);
Run Code Online (Sandbox Code Playgroud)

这似乎是一个完美的地方,你可以使用宏来保存任意结构的大量输入.

C预处理器是否足够强大以执行此转换?

c macros struct c-preprocessor

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

如何使Web服务器进行定时多项选择测试?

我想制作一个网络应用程序,询问人们多项选择问题,以及他们需要多长时间来回答.

我希望那些想要能够创建帐户的人,以及存储他们已经完成的数据以及他们的表现如何增加的数据.

我之前从未编写任何类型的Web应用程序,虽然我是一名优秀的程序员,并了解http的工作原理.

我假设(没有证据)使用"框架"比从头开始一起破解某些东西更好,我很欣赏人们认为哪种框架最合适的建议.

我希望它会受到欢迎,但我宁愿得到一些有用的东西,而不是花时间在开始时担心缩放.这样理智吗?

我希望能够在我自己的机器上开发和测试它,然后将其部署到虚拟服务器或其他托管解决方案.

我更喜欢使用像Clojure或Lisp或Haskell这样的语言,但是如果使用Python或Ruby这样的优点会超过我用更多数学语言更喜欢它的事实,那么我喜欢这两种语言那些也是.

我可能在perl上划线,但如果perl甚至像Java或C这样的东西都具有引人注目的优势,那么我对它们也很满意.他们似乎不适合这种事情.

lisp python haskell web-applications clojure

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

如何让 Kivy 在 Linux 上使用 sdl2?

我遇到一个问题,Kivy 在 android 上使用 sdl2,并且工作正常,但在 Linux 上它使用 ffpyplayer,但不能。

所以我想让Kivy也在linux上使用sdl2,但是sdl2似乎根本无法在linux上工作。

$ KIVY_AUDIO=sdl2 python min_audio_example.py 

[INFO   ] [Audio       ] Providers: audio_sdl2 (audio_ffpyplayer ignored)
[CRITICAL] [AudioSDL2   ] Unable to open mixer: b'No such audio device'
Run Code Online (Sandbox Code Playgroud)

这是一个演示问题的最小示例。

#!/usr/bin/env python

# works with:
# export KIVY_AUDIO=ffpyplayer
# fails with:
# export KIVY_AUDIO=sdl2

from kivy.app import App 

from kivy.core.audio import SoundLoader

def playsound(dummy):
    sound = SoundLoader.load("440Hz_44100Hz_16bit_05sec.ogg")

    if sound:
        print("Sound found at %s" % sound.source)
        print("Sound is %.3f seconds" % sound.length)
        print("sound state", sound.state)
        sound.play()
        print("sound state", …
Run Code Online (Sandbox Code Playgroud)

python kivy sdl-2

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

如何生成x的前20个幂?

所以,我有X,一个300乘1的矢量,我想要[1,X,X*X,X*X*X,......,X*X*...*X],一个300乘20的矩阵.

我该怎么做?

X=[2;1]
[X,X.*X,X.*X.*X]

ans =

   2   4   8
   1   1   1
Run Code Online (Sandbox Code Playgroud)

这是有效的,但我无法打字输出整个事情.当然我不必写一个for循环?

matlab vectorization octave

0
推荐指数
2
解决办法
109
查看次数

bash引用如何与大括号{}扩展一起工作?

我正在尝试编写一个bash脚本来重现失败的测试.

最初的命令是(说我们正在测试回声)

echo aa @p{0,1}=port bb
Run Code Online (Sandbox Code Playgroud)

打印:

aa @p0=port @p1=port bb
Run Code Online (Sandbox Code Playgroud)

我在变量中得到了参数

TESTCASE='aa @p{0,1}=port bb'
Run Code Online (Sandbox Code Playgroud)

所以我构建了命令行

CMD='echo '${TESTCASE}
Run Code Online (Sandbox Code Playgroud)

然后执行它

${CMD}
Run Code Online (Sandbox Code Playgroud)

我得到:

aa @p{0,1}=port bb
Run Code Online (Sandbox Code Playgroud)

即花括号不会像在命令行上那样扩展

发生了什么,我该如何解决?

bash quoting

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

如何处理不规则间隔时间序列?

我有一个包含各种传感器读数的CSV文件.

它看起来好像代表四个不同的时间序列,温度,运动,功率和电池,每个读数在稍微不同的时间进行.

dat <- read.csv(text = "id,device_id,type,value,timestamp
1432,4,temperature,21,2015-06-01T00:00:00Z
1433,4,motion,0,2015-06-01T00:00:15Z
1434,4,power,0,2015-06-01T00:00:30Z
1435,4,battery,4.16,2015-06-01T00:00:46Z
1448,4,temperature,21,2015-06-01T00:17:00Z
1449,4,motion,0,2015-06-01T00:17:15Z
1450,4,power,0,2015-06-01T00:17:30Z
1451,4,battery,4.16,2015-06-01T00:17:45Z
1464,4,temperature,21,2015-06-01T00:33:57Z")

str(dat)

'data.frame':   9 obs. of  5 variables:
 $ id       : int  1432 1433 1434 1435 1448 1449 1450 1451 1464
 $ device_id: int  4 4 4 4 4 4 4 4 4
 $ type     : Factor w/ 4 levels "battery","motion",..: 4 2 3 1 4 2 3 1 4
 $ value    : num  21 0 0 4.16 21 0 0 4.16 21
 $ timestamp: …
Run Code Online (Sandbox Code Playgroud)

r

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