小编Ste*_*fan的帖子

强制git stash覆盖添加的文件

我有一些文件在git中未被跟踪.我做了一些更改并希望提交它们,但意识到我忘记了先检查未修改的文件.所以我隐藏了文件,然后添加了未修改的版本.

然后,当我将存储应用于存储库时,由于已经添加了文件,我会收到冲突.

如何应用存储,并强制使用存储库中的版本优先于存储库中的原始文件?

谢谢

git

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

在Linux上使用Bash将所有输出重定向到文件?

我试图将命令行程序的所有输出重定向到文件.我正在使用Bash.一些输出被定向到文件,但是一些仍然出现在终端中并且不存储到文件中.

这里描述了类似的症状:

将所有输出重定向到文件

但是我尝试了所提出的解决方案(捕获stderr)但没有成功:

<cmd> <args> > stdout.txt 2> stderr.txt
Run Code Online (Sandbox Code Playgroud)

文件stderr.txt已创建但为空.

可能的线索是命令行程序是与同一台机器上的服务器通信的客户端.可能有些输出来自服务器.

有没有办法捕获终端的所有输出,无论其来源如何?

编辑:

我已经确认缺少的输出是由服务器生成的.在单独的终端中运行命令会在两个终端中产生一些输出,我可以将命令终端的所有输出传输到文件.这引发了有关如何捕获服务器输出的问题,但这是一个不同的问题.

linux bash stdout stderr

71
推荐指数
5
解决办法
11万
查看次数

在列表推导语法中避免重复的函数调用

我有一个列表理解,近似于:

[f(x) for x in l if f(x)]
Run Code Online (Sandbox Code Playgroud)

其中l是列表,f(x)是返回列表的昂贵函数.

我想避免对f(x)的每次非空出现进行两次f(x)求值.有没有办法在列表理解中保存其输出?

我可以删除最终条件,生成整个列表然后修剪它,但这似乎是浪费.

python list-comprehension code-readability

54
推荐指数
7
解决办法
6707
查看次数

Javascript请求全屏是不可靠的

我正在尝试使用JavaScript FullScreen API,从此处使用当前非标准实现的变通方法:

https://developer.mozilla.org/en/DOM/Using_full-screen_mode#AutoCompatibilityTable

可悲的是,它表现得非常不稳定.我只关心Chrome(使用v17),但由于我遇到问题,我在Firefox 10中进行了一些测试以进行比较,结果相似.

下面的代码尝试将浏览器设置为全屏,有时它可以工作,有时不工作.它始终调用警报以指示它正在请求全屏.这是我发现的:

  • 它通常设置全屏.它可以进入停止工作的状态,但仍然会发出警报,即它仍在请求FullScreen,但它不起作用.
  • 如果从keypress处理程序(document.onkeypress)调用它,它可以工作,但在页面加载(window.onload)上调用时则不行.

我的代码如下:

function DoFullScreen() {

    var isInFullScreen = (document.fullScreenElement && document.fullScreenElement !==     null) ||    // alternative standard method  
            (document.mozFullScreen || document.webkitIsFullScreen);

    var docElm = document.documentElement;
    if (!isInFullScreen) {

        if (docElm.requestFullscreen) {
            docElm.requestFullscreen();
        }
        else if (docElm.mozRequestFullScreen) {
            docElm.mozRequestFullScreen();
            alert("Mozilla entering fullscreen!");
        }
        else if (docElm.webkitRequestFullScreen) {
            docElm.webkitRequestFullScreen();
            alert("Webkit entering fullscreen!");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

javascript

36
推荐指数
3
解决办法
5万
查看次数

Ruby:创建日期范围

我正在寻找一种优雅的方式来制作一系列日期时间,例如:

def DateRange(start_time, end_time, period)
  ...
end

>> results = DateRange(DateTime.new(2013,10,10,12), DateTime.new(2013,10,10,14), :hourly)
>> puts results
2013-10-10:12:00:00
2013-10-10:13:00:00
2013-10-10:14:00:00
Run Code Online (Sandbox Code Playgroud)

该步骤应该是可配置的,例如每小时,每天,每月.

我想要times包容,即包括end_time.

其他要求是:

  • 应保留原始时区,即如果它与当地时区不同,则应保留原始时区.
  • 应该使用适当的高级方法,例如Rails :advance,来处理诸如几个月的可变天数之类的事情.
  • 理想情况下,性能会很好,但这不是主要要求.

有优雅的解决方案吗?

ruby ruby-on-rails

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

构建后Gem中缺少文件

TL; DR:

不要在现有的git存储库中运行bundle.奇怪的事情将发生没有任何错误消息.

原始问题:

我通过调整本教程中的步骤构建了一个gem:

http://net.tutsplus.com/tutorials/ruby/gem-creation-with-bundler/

作为最后一步,我运行了gem build .gemspec

这成功了,但是当我安装gem时,我发现关键文件,包含我的代码的文件,不在gem中.同一(lib)目录中的另一个文件"version.rb"确实存在于gem中.

我不知道如何开始调试这个... bundler/gem build如何决定在gem中包含哪些文件?

编辑:

我的工作流程是:

gem build <project_name>.gemspec
gem unpack <project_name>
=> confirm file does not exist in <unpacked>/lib/

gem install <project name>
=> confirm file structure in ~/home/stefan/.rvm/... contains gem, but does not contain desired file
Run Code Online (Sandbox Code Playgroud)

编辑2 /决议:

我终于能够通过将我的所有代码提交到远程存储库,创建一个干净的克隆以及构建gem来实现这一目标.新的gem包含了所有必需的文件.

一点历史...我最初创建代码并在考虑制作宝石之前提交了它(这是我的第一个宝石).然后我用包的原始资料库,这并没有抱怨,但也许对古怪的原因.

ruby gem bundler

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

如何遍历可枚举的第一个元素

我运行以下代码:

> a = [1,2,3].collect
 => #<Enumerator: [1, 2, 3]:collect> 
> b = a.next
 => 1 
> a.each do |x| puts x end
1
2
3
=> [nil, nil, nil] 
Run Code Online (Sandbox Code Playgroud)

我希望结果do2, 3因为我已经阅读了第一个元素a.我如何实现2, 3优雅的结果?

编辑:

为了澄清,我不想跳过第一个条目,我只是想以不同的方式处理它.所以我想要两个b和循环.

ruby

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

如何提取 Dart/Flutter 视频元数据

我正在开发一个颤振演示应用程序。我想在手机存储中使用有关视频的元数据。我能够提取该视频的路径,但不知道如何在 dart/flutter 中提取其元数据。

我需要以下元数据:

  1. 视频时长
  2. 影片名称
  3. 视频大小
  4. 拍摄视频时

dart flutter

11
推荐指数
2
解决办法
6708
查看次数

如何在Tcl中打印数组的内容

我想在Tcl中打印数组的内容(用于调试).订单不重要,我只想要打印每一个价值.

我该怎么做?

tcl

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

在内存中创建文件而不是文件系统

我正在使用.NET库函数将文件上传到服务器,并将参数作为文件的路径.我想发送的数据很小,并在运行时构建.我可以将它保存到临时文件然后上传.

由于我的应用程序将部署在各种环境中,并且我不知道我是否能够可靠地创建临时文件,因此最好能够将路径传递到内存中的虚拟文件.

我无法改变图书馆; 我知道它在文件上执行以下操作:

LibraryUploadFunction(string filename) {
    fileName = Path.GetFullPath(fileName);
    FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);
    ...
}
Run Code Online (Sandbox Code Playgroud)

是否可以避免将文件写入磁盘?

谢谢

编辑:

库调用是Webclient.UploadFile,正如答案中指出的那样,有许多可行的解决方法,包括使用替代库,其中有很多.

.net c# file

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