所以我的分支机构以bugtracker票号命名,类似"issue-1234",我们有一个约定,总是在提交消息中写下票号.我想知道当我正在处理issue-*分支时,是否可以自动将票号附加在提交消息中,而我没有明确地输入它.
我查看了git commit hooks,即pre-commit,prepare-message和post-commit,但它们似乎都没能做我想做的事情.提交后挂钩很接近,但您无法修改使用-m提交的消息.
重申一下,我想知道这是否可行:
在分支上:issue-1234
git commit -a -m"fixed this pesky issue"
Run Code Online (Sandbox Code Playgroud)
提交后,在git log中,它将消息显示为:
fixed this pesky issue. ticket number: #1234
Run Code Online (Sandbox Code Playgroud) 我正在玩Python可调用.基本上,您可以定义python类并实现__call__方法,以使此类的实例可调用.例如,
class AwesomeFunction(object):
def __call__(self, a, b):
return a+b
Run Code Online (Sandbox Code Playgroud)
模块检查有一个函数getargspec,它为您提供函数的参数规范.但是,我似乎无法在可调用对象上使用它:
fn = AwesomeFunction()
import inspect
inspect.getargspec(fn)
Run Code Online (Sandbox Code Playgroud)
不幸的是,我得到了一个TypeError:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.6/inspect.py", line 803, in getargspec
raise TypeError('arg is not a Python function')
TypeError: arg is not a Python function
Run Code Online (Sandbox Code Playgroud)
我认为你不能将任何可调用对象视为函数是非常不幸的,除非我在这里做错了什么?
我有这个带有命名空间的XML文档,我想用XPath提取一些节点.
这是文件:
<ArrayOfAnyType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://tempuri.org/">
<anyType xsi:type="Document">
<Id>5</Id>
<Title>T1</Title>
</anyType>
<anyType xsi:type="Document">
<Id>15</Id>
<Title>T15</Title>
</anyType>
</ArrayOfAnyType>
Run Code Online (Sandbox Code Playgroud)
如果我想用xsi:type ="Document"提取所有"anyType"元素,XPath表达式会是什么?
我试过这个:
//anyType[@xsi:type="Document"]
Run Code Online (Sandbox Code Playgroud)
它不起作用:
我想知道有没有办法检索与defrecord声明的属性相关联的类型提示.例如,如果我有以下记录定义:
(defrecord Foo [^Integer id ^String description])
Run Code Online (Sandbox Code Playgroud)
我想检索一个Foo类型的地图,它给出了属性和它们的暗示类型.我知道我可以通过反射获得声明属性的列表:
(->> record .getDeclaredFields (remove #(java.lang.reflect.Modifier/isStatic (.getModifiers #))))
Run Code Online (Sandbox Code Playgroud)
这确实给了我一个声明字段列表,但它们的类型是Object.我知道Clojure是一种动态语言,但是当我需要它们时,它会很好地回馈给我.
使用Maven进行编译时不断出现此错误:
type parameters of <X>X cannot be determined; no unique maximal instance exists for type variable X with upper bounds int,java.lang.Object
Run Code Online (Sandbox Code Playgroud)
泛型类型干扰不能应用于原始类型.但我认为自Java5以来,装箱/拆箱机制在原始类型和包装类之间无缝地工作.
无论如何,奇怪的是Eclipse没有报告任何错误并愉快地编译.我正在使用JDK1.6.0_12.这可能是什么问题?
有没有办法实现相当于
git branch --merged
使用git管道命令?
我知道有一些命令git for-each-ref可以提供提交哈希值和相应的引用名称.是否有一个命令来判断是否可以从另一个提交中获取提交(这基本上是--merged做什么的)?
使用LIKE运算符中使用的MySQL模式转义令人沮丧.
root@dev> create table foo(name varchar(255));
Query OK, 0 rows affected (0.02 sec)
root@dev> insert into foo values('with\\slash');
Query OK, 1 row affected (0.00 sec)
root@dev> insert into foo values('\\slash');
Query OK, 1 row affected (0.00 sec)
root@dev> select * from foo where name like '%\\\\%';
Empty set (0.01 sec)
root@dev> select * from foo;
+------------+
| name |
+------------+
| with\slash |
| \slash |
+------------+
2 rows in set (0.00 sec)
root@dev> select * from foo where name …Run Code Online (Sandbox Code Playgroud) 我正在学习编写一个简单的解析器组合器.我正在自下而上编写规则并编写单元测试来验证我的工作.但是,我阻止使用带有空格的repsep()作为分隔符.
object MyParser extends RegexParsers {
lazy val listVal:Parser[List[String]]=elem('{')<~repsep("""\d+""".r,"""\s+""".r)~>elem('}')
}
Run Code Online (Sandbox Code Playgroud)
简化了规则以说明问题.当我用"{1 2 3}"提供解析器时,它总是抱怨它不匹配:
[1.4]失败:'}'预期但发现2
我想知道正如我所描述的那样编写规则的正确方法是什么?
谢谢
因此,我们项目的开发工作流程是这样的:我们创建一个任务/错误票据,然后我们分离master以处理任务/错误,并最终将其合并回master.我们希望master上的提交有很好的消息.在任务分支上提交的人可能没有好的提交消息,这没关系,但是如果要合并分支,那些带有不干净消息的提交将进入主服务器.
解决此问题的一种方法是始终使用--squash与master合并.这样,您就有机会提供良好的提交消息,并将整个提交范围视为一个.我想知道是否有办法强制执行?意思是,如果我们可以让git服务器拒绝不被压缩的合并?
对Scala 2.8收集行为感到非常沮丧.这是问题:我正在创建一个数独板.我将单元格从A1标记为I9(字母为行,数字为列).我想得到一块板上的单位,即9行,夜间列和夜间象限.
这是我的scala类:
class Square(val row:Char, val column:Int) extends Pair[Char, Int](row, column) {
override def toString() = "" + row + column
}
object Board {
private val rows = "ABCDEFGHI"
private val cols = 1 to 9
private lazy val units = unitList(rows, cols)
private def cross(rows:Iterable[Char], columns:Iterable[Int]):Iterable[Square] = {
for (row <- rows; col <- columns)
yield new Square(row, col)
}
private def unitList(rows:Iterable[Char], cols:Iterable[Int]) = {
val u1 = (for (col <- cols) yield cross(rows, List(col)))
val …Run Code Online (Sandbox Code Playgroud) Java中的泛型有时会很吵.编译后,编译器抛出参数化类型,所以我的问题是,忽略它们是否真的有任何缺点,只要我声明包含参数化类型的引用类型?例如,
Map<String, Map<Integer, String>> myMap = new HashMap<String, Map<Integer,String>>();
Run Code Online (Sandbox Code Playgroud)
太吵了.如果我写的怎么办:
@SuppressWarnings("unchecked")
Map<String, Map<Integer, String>> myMap = new HashMap();
Run Code Online (Sandbox Code Playgroud)
它是如此清晰,除了Eclipse将在它下面放一个令人作呕的波浪线.把@SuppressWarning放到Eclipse会很开心,但很多人(包括我)都不喜欢在代码中使用@SuppressWarning.忽略"new HashMap()"中的类型参数真的那么糟糕吗?
在 python 脚本中,我启动了一堆线程,每个线程使用 time.sleep(interval) 按一定时间间隔提取一些资源。我有另一个线程正在运行,它使用 cmd 模块来监视用户输入。当用户输入“q”时,我调用
sys.exit(0)
Run Code Online (Sandbox Code Playgroud)
但是,当脚本运行并且我输入“q”时,线程用户输入监视线程将退出,但休眠线程仍然存在。(意味着程序不会退出)
我想知道我这样做是否正确?