小编Gre*_*con的帖子

什么是Perl的$; 变量为?

$;在下面的代码片段中是否有任何1知道什么是(第一个拆分函数参数):

      local(@a) = ();
      local($i) = 0;
      for ($i = 0; $i < $d; $i++) {
         @a = split($;, @b[$i]);
         $c     = @a[0];
      }
Run Code Online (Sandbox Code Playgroud)

除了for循环之外,脚本中没有找到标量.

任何帮助表示赞赏.

perl scalar

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

确保文件立即关闭

我正在编写一个守护进程,它从一个小文件中读取内容,修改它,然后将其写回同一个文件.在尝试写入之前,我需要确保每个文件在阅读后立即关闭.我还需要确保每个文件在写完后立即关闭,因为我可能偶尔会立即再次阅读它.

我已经研究过使用二进制严格而不是二进制,但似乎只提供严格的Get,而不是严格的Put.与System.IO.Strict相同的问题.从阅读二进制严格的文档,我不确定它真的解决了我确保文件被迅速关闭的问题.处理这个问题的最佳方法是什么?DeepSeq?

这是一个高度简化的示例,可以让您了解我的应用程序的结构.此示例以.结尾

*** Exception: test.dat: openBinaryFile: resource busy (file is locked)

原因很明显.

import Data.Binary ( Binary, encode, decode )
import Data.ByteString.Lazy as B ( readFile, writeFile )
import Codec.Compression.GZip ( compress, decompress )

encodeAndCompressFile :: Binary a => FilePath -> a -> IO ()
encodeAndCompressFile f = B.writeFile f . compress . encode

decodeAndDecompressFile :: Binary a => FilePath -> IO a
decodeAndDecompressFile f = return . decode . decompress =<< B.readFile f

main = do
  let i = …
Run Code Online (Sandbox Code Playgroud)

io haskell file strict

9
推荐指数
2
解决办法
774
查看次数

不允许在git中删除Master分支

我正在尝试设置一个git钩子,禁止任何人删除我们的存储库的master,alpha和beta分支.有人能帮忙吗?我从来没有做过一个git hook,所以我不想在没有一点帮助的情况下尝试自己开发自己的运气.

提前致谢.

git perl hook github githooks

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

PhpUnderControl持续集成设置中的Git日志错误

所以我为我的PHP项目设置了以下内容:

  • 包含所有代码的Git存储库.
  • 一个Cruisecontrol实例,其上运行PhpUnderControl.

我在cruisecontrol项目目录中创建了一个新项目,并设置了一个轮询器,每2分钟检查一次git repo上的更改.我在这个Cruisecontrol实例中运行了2个项目,我设置的第一个项目运行得很好.

我在Platform项目中遇到的问题在错误日志中如下所示:

2010-02-04 06:07:27,076 [Thread-14061] INFO  Project           - Project platform:  bootstrapping  
2010-02-04 06:07:27,077 [Thread-14061] INFO  ProjectController - platform Controller: build progress event: bootstrapping  
2010-02-04 06:07:27,496 [Thread-14061] INFO  GitBootstrapper   - Already up-to-date.  
2010-02-04 06:07:27,500 [Thread-14061] INFO  Project           - Project platform:  checking for modifications  
2010-02-04 06:07:27,500 [Thread-14061] INFO  ProjectController - platform Controller: build progress event: checking for modifications  
2010-02-04 06:07:27,583 [Thread-14063] WARN  Git               - warning: Log for '' only goes back to Tue, 26 Jan 2010 13:43:11 -0500. …

git continuous-integration cruisecontrol phpundercontrol

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

使用Git显示所有第一级后代分支

如何获得当前HEAD的第一级后代的分支列表?

我可以得到整个树的列表:

git log --graph --abbrev-commit --pretty=decorate --branches
Run Code Online (Sandbox Code Playgroud)

这使

* 2eff4a7... (refs/heads/issue-8351) Added a factory factory factory.
* 2e387aa... Refactored all of the factory factories.
| * b3fad52... (refs/heads/issue-8354) Moved the baz out of the constructor.
|/
| * f4cf3fe... (refs/heads/experimental) quuz looking good
| * 1d276b9... Risky fix to replace the quux with the quuz.
| * d6b0222... (refs/heads/issue-7559) Fixed the quux in the foo.
|/
| * 3f4cfff... (refs/heads/dev) wip
|/
* 76f493f... (refs/heads/master) SVN 30192
Run Code Online (Sandbox Code Playgroud)

但是我想得到当前分支的第一级子级的简单列表,如下例所示master …

git perl branch

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

在Vim的quickfix列表的errorformat中,错误类型是什么?

我不确定%tVim的quickfix列表中的格式说明符.它如何影响quickfix缓冲区的行为/显示?

我试着用以下测试文件找到它:

$ cat test.out
foo              Error         1 foo.h            foobar
bar              Error         2 foo.h            foobar
foobar           Warning       3 foo.h            foobar
barfoo           Warning       4 foo.h            foobar
Run Code Online (Sandbox Code Playgroud)

以下是errorformat第一个:

set errorformat+=%.%#%*\\s%.%#%*\\s%l\ %f%*\\s%m
Run Code Online (Sandbox Code Playgroud)

有了这个errorformat,我可以使用:cgetfile test.out并跳转到行号foo.h,但具有以下内容errorformat:

set errorformat+=%.%#%*\\s%t%.%#%*\\s%l\ %f%*\\s%m
Run Code Online (Sandbox Code Playgroud)

所有改变的是,现在我在quickfix缓冲区中的行号后面看到一些空格,例如我看到(1之后的两个空格)

foo.h|1  | foobar
Run Code Online (Sandbox Code Playgroud)

代替

foo.h|1| foobar
Run Code Online (Sandbox Code Playgroud)

所以我有两个问题:

  1. 我有什么问题errorformat
  2. 如果可以提取错误类型,我应该看到什么?

vim types errorformat

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

为什么一个Jasmine间谍认为它没有被召唤,即使它返回了andReturn值?

我正在尝试调试没有触发的jQuery.post上的间谍,所以作为一个完整性检查,我试过

spyOn(this.viewModel.requests, 'submitRequest').andReturn('fooz');

var ret = this.viewModel.requests.submitRequest();
expect(ret).toEqual('foo');

expect(this.viewModel.requests.submitRequest).toHaveBeenCalled();
Run Code Online (Sandbox Code Playgroud)

这失败了

期待'fooz'等于'foo'.

但是,当我改变'fooz',以'foo'在参数andReturn,测试失败

已经调用了submitRequest上的预期间谍.

间谍正在返回固定值,为什么会toHaveBeenCalled失败?

javascript unit-testing jasmine

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

在#!/ usr/bin/perl中-T或-w的意义是什么?

我google了#!/usr/bin/perl,但我找不到任何满意的答案.我知道这是一个非常基本的东西,但仍然可以解释我#!/usr/bin/perl在Perl中有什么意义?此外,是什么-w-T表示#!/usr/bin/perl什么?我是Perl的新手,所以请耐心等待.

perl shebang taint

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

为什么Num类型类有abs方法?

我正在考虑功能语言的标准库(或前奏).

如果我有Ord实例n,那么实现它是微不足道的abs:

abs n = if n > 0 then n else (-n)
Run Code Online (Sandbox Code Playgroud)

在向量空间的情况下,向量的绝对值(长度)非常重要.但是类型不匹配,因为向量的绝对值不是向量:它是实数.

abs(或signum)作为Num类型类的一部分背后的设计原理是什么?

haskell typeclass

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

与HEAD,HEAD ^和HEAD~1有什么区别?

在git中,以下是什么区别?

  • HEAD
  • HEAD^
  • HEAD~1
  • HEAD~2

它们与它们有master什么关系?那么,有没有MASTER^,MASTER~1

git

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