小编Tha*_*tos的帖子

将Git子模块更新为最新的原始提交

我有一个带有Git子模块的项目.它来自ssh:// ... URL,并且在提交A.提交B已被推送到该URL,我希望子模块检索提交,并更改为它.

现在,我的理解是git submodule update应该这样做,但事实并非如此.它没有做任何事情(没有输出,成功退出代码).这是一个例子:

$ mkdir foo
$ cd foo
$ git init .
Initialized empty Git repository in /.../foo/.git/
$ git submodule add ssh://user@host/git/mod mod
Cloning into mod...
user@host's password: hunter2
remote: Counting objects: 131, done.
remote: Compressing objects: 100% (115/115), done.
remote: Total 131 (delta 54), reused 0 (delta 0)
Receiving objects: 100% (131/131), 16.16 KiB, done.
Resolving deltas: 100% (54/54), done.
$ git commit -m "Hello world."
[master (root-commit) 565b235] Hello world.
 2 …
Run Code Online (Sandbox Code Playgroud)

git git-pull git-submodules

799
推荐指数
10
解决办法
54万
查看次数

如何用Python解决一对非线性方程?

使用Python解决一对非线性方程的最佳方法是什么?(Numpy,Scipy或Sympy)

例如:

  • x + y ^ 2 = 4
  • e ^ x + xy = 3

解决上述配对的代码片段会很棒

python numpy sympy scipy

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

在zsh中等价$ {BASH_SOURCE [0]}?

标题应该说明一切.我正在寻找与${BASH_SOURCE[0]}zsh 相当的东西.

注意:我一直在互联网上找到" $0等同于${BASH_SOURCE[0]}",但这似乎是错误的:$0似乎是执行命令的名称.(这是argv[0],这是有道理的.)在我的剧本呼应$ 0( .zshrc)给出zsh$0,这是不一样的东西${BASH_SOURCE[0]}是.事实上,除了内部文件之外,${BASH_SOURCE[0]}似乎可以工作.zsh.zshrc

我真正在做什么.zshrc(那是行不通的):

echo ${BASH_SOURCE[0]}
source `dirname $0`/common-shell-rc.sh
Run Code Online (Sandbox Code Playgroud)

源失败($0zsh),echo输出为空行.

编辑: 显然,为了$0工作,我需要选项FUNCTION_ARGZERO选项集.有没有办法测试是否在脚本中设置了这个?(所以我可以暂时设置它)除非你设置nofunction_argzero,它显然是打开的,它在我的shell中.仍然无济于事$0.(我想b/c我不是一个功能.)

shell zsh

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

设置创建或更改时间戳

使用utimes,futimes,futimens等,也可以设置一个文件的访问和修改时间戳.

修改时间是文件数据更改的最后时间.同样,"ctime"或更改时间是最后一次更改文件上的属性(如权限).(Linux/POSIX维护三个时间戳:mtime和ctime,已经讨论过,'atime'或访问时间.)

是否有设置更改时间戳的功能?(其中"更改"是属性修改或'ctime',而不是修改时间'mtime'.)(我理解想要更改更改时间戳的循环性质,但想想归档软件 - 确切地恢复文件会很好因为它是.)

创建时间戳是否有任何功能?(我意识到这ext2不支持这个,但我想知道Linux是否支持,对于那些支持它的文件系统.)

如果不可能,那背后的原因是什么呢?

linux posix timestamp

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

C#最终执行的时间

拿这个代码:

using System;

namespace OddThrow
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                throw new Exception("Exception!");
            }
            finally
            {
                System.Threading.Thread.Sleep(2500);
                Console.Error.WriteLine("I'm dying!");
                System.Threading.Thread.Sleep(2500);
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这给了我这个输出:

Unhandled Exception: System.Exception: Exception!
   at OddThrow.Program.Main(String[] args) in C:\Documents and Settings\username
\My Documents\Visual Studio 2008\Projects\OddThrow\OddThrow\Program.cs:line 14
I'm dying!
Run Code Online (Sandbox Code Playgroud)

我的问题是:为什么未处理的异常文本出现在finally之前?在我看来,在我们甚至不知道这个异常未处理之前,最终应该在堆栈展开时被执行.注意对Sleep()的调用 - 这些是在打印出未处理的异常之后发生的,就像它执行以下操作一样:

  1. 未处理的异常文本/消息
  2. 最后块.
  3. 终止申请

根据C#标准,§8.9.5,这种行为是错误的:

  • 在当前函数成员中,将检查包含抛出点的每个try语句.对于每个语句S,从最里面的try语句开始,以最外层的try语句结束,评估以下步骤:
    • 如果S的try块包含抛出点,并且如果S有一个或多个catch子句,则按外观顺序检查catch子句以找到异常的合适处理程序.指定异常类型的第一个catch子句或异常类型的基本类型被视为匹配.一般的catch子句(第8.10节)被认为是任何异常类型的匹配.如果找到匹配的catch子句,则通过将控制转移到该catch子句的块来完成异常传播.
    • 否则,如果try块或S的catch块包含抛出点,并且如果S具有finally块,则控制转移到finally块.如果finally块抛出另一个异常,则终止当前异常的处理.否则,当控制到达finally块的结束点时,继续处理当前异常.
  • 如果当前函数成员调用中未找到异常处理程序,则终止函数成员调用.然后对函数成员的调用者重复上述步骤,其中抛出点对应于调用函数成员的语句.
  • 如果异常处理终止当前线程中的所有函数成员调用,指示该线程没有该异常的处理程序,则该线程本身终止.这种终止的影响是实现定义的.

我哪里错了?(我有一些自定义控制台错误消息,这是在路上.轻微,只是烦人,让我质疑语言......)

c# exception finally

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

Google协议缓冲区:ZigZag编码

来自编码的 "签名类型" - 协议缓冲区 - Google代码:

ZigZag编码将有符号整数映射到无符号整数,因此具有较小绝对值(例如,-1)的数字也具有较小的varint编码值.它通过正负整数来回"zig-zags"的方式做到这一点,因此-1被编码为1,1被编码为2,-2被编码为3,依此类推,就像你一样可以在下表中看到:

Signed Original  Encoded As
0                0
-1               1
1                2
-2               3
2147483647       4294967294
-2147483648      4294967295
Run Code Online (Sandbox Code Playgroud)

换句话说,使用编码每个值n

(n << 1) ^ (n >> 31)

对于sint32s,或

(n << 1) ^ (n >> 63)

对于64位版本.

如何(n << 1) ^ (n >> 31)什么表中的平等吗?我明白这对积极因素有用,但是这怎么说呢,-1?不会-1 1111 1111,(n << 1)1111 1110吗?(在任何语言中形成的负片都有点转移吗?)

尽管如此,使用公式和做(-1 << 1) ^ (-1 >> 31),假设一个32位的int,我得到1111 1111,这是40亿,而表认为我应该有1.

bit-shift protocol-buffers zigzag-encoding

19
推荐指数
2
解决办法
6523
查看次数

在python中嵌入bash

我正在写一个Python脚本,我的时间已经不多了.我需要做一些我在bash中非常熟悉的事情,所以我只是想知道如何将一些bash行嵌入到Python脚本中.

谢谢

python bash interop language-interoperability

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

Mysql中"IS NULL"和"ISNULL()"之间的差异

操作员IS NULL和功能之间的性能有何不同ISNULL()

mysql performance null

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

如何遍历fd_set

我想知道是否有一种简单的方法来迭代fd_set?我想这样做的原因是不必遍历所有连接的套接字,因为select()改变这些fd_sets只包括我感兴趣的那些.我也知道使用一种不打算直接访问的类型的实现通常是一个坏主意,因为它可能在不同的系统中有所不同.但是,我需要一些方法来做到这一点,而且我的想法已经不多了.所以,我的问题是:

如何遍历fd_set?如果这是一个非常糟糕的做法,除了循环所有连接的套接字之外,还有其他方法可以解决我的"问题"吗?

谢谢

c c++ select file-descriptor

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

Python:继续迭代for循环异常

for在Python中有一个简单的循环,即使异常块包含一个异常块,也会退出异常continue.当它击中IndexError并退出for循环时,仍有大约10行可供阅读.我在这里错过了什么?

for row in hkx:  ##'hkx' are rows being read in from 'csv.open'
    try:
        print row[2],row[4]
    except IndexError, e:
        print 'Error:',e
        print 'Row Data:',len(row),row
        continue  ## I thought this would just move on to the next row in 'hkx' 
Run Code Online (Sandbox Code Playgroud)

(对不起,这里的Python新手......)提前致谢!

python for-loop exception

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