我正在拉动并安装具有依赖项的包,并且编译失败,在这种情况下找不到文件magic.h.如何查看编译命令和标志是什么?该-v选项没有帮助.(我不想要从哪里获取magic.h的想法,这只是一个例子.)
$ go get -u github.com/presbrey/magicmime
# github.com/presbrey/magicmime
../../../src/github.com/presbrey/magicmime/magicmime.go:20:11: fatal error: 'magic.h' file not found
#include <magic.h>
Run Code Online (Sandbox Code Playgroud)
例如,我如何找到它在哪里寻找包含文件,它究竟是在编译什么来源?(在这种情况下,我看到的源文件$GO_PATH/src已#include注释掉了,/usr/local/include/match.h无论如何都存在.)
我使用windows xp x86,wamp,apache2,php 5.3 x86,eclipse php和xdebug,在localhost上运行同时作为虚拟主机和https虚拟主机
eclipse版本信息
Eclipse for PHP Developers版本:Helios发布版本号:20100617-1415
我不知何故成功地设置了eclipse和xdebug,一切都很顺利.
然后我必须创建我的项目的svn分支,并使用2个新的虚拟主机重新配置apache,并更新我的Windows主机文件.
现在,当我在eclipse中启动调试模式时,一切都会消失.
具体来说,如果我没有设置断点,应用程序运行正常,除了我试图首先调试的问题.
如果我设置断点,应用程序会在断点处停止,而eclipse似乎正在控制球.但是现在,当我按下继续,或者跳过,或者进入或打喷嚏时,eclipse告诉我执行已经恢复,但是应用程序继续挂起,我必须重新启动apache.
我怀疑eclipse和xdebug之间的通信有一些中断,因为它看起来像eclipse正在发送我的继续或步骤命令,但xdebug没有收到它.
但即便如此,我也不知道如何应对.我应该在哪里看?
更新:
我已经成功地使用notepad ++,其xdebug插件进行调试,并且像一个穴居人一样,在URL中输入&XDEBUG_SESSION_START = session_name.然而,尽管我喜欢npp,但它的调试插件却非常错误......
所以我注意到了一个名为"phpstorm"的stackoverflow上的广告,它声称是一个轻量级但功能齐全的php ide,具有本机xdebug支持.该演示需要重新启动以使其工作,并且感觉有点像在摇摆的草稿表上工作,但它设法调试我的小测试应用程序和真正的应用程序非常好,这比我可以说的更多的日食那一刻,即使它可能是我的错.
我可能应该早些发布这个:/这是我的phpinfo()xdebug部分
xdebug
xdebug support enabled
Version 2.1.0
Supported protocols Revision
DBGp - Common DeBuGger Protocol $Revision: 1.145 $
Directive Local Value Master Value
xdebug.auto_trace Off Off
xdebug.collect_assignments Off Off
xdebug.collect_includes On On
xdebug.collect_params 0 0
xdebug.collect_return Off Off
xdebug.collect_vars Off Off
xdebug.default_enable On On
xdebug.dump.COOKIE no value no value
xdebug.dump.ENV no value no value
xdebug.dump.FILES …Run Code Online (Sandbox Code Playgroud) 我想制作一个在python终端中打印颜色的程序,但我不知道如何.我听说你可以使用某些转义序列来打印彩色文本,但我不确定这一点.如何使用python终端打印特定颜色的字符串?
旁注:我运行的是Linux版本.
我一直试图找出我设计的语言的基本骨架,并且我正在尝试使用Parsimonious来为我解析.截至目前,我已经宣布了以下语法:
grammar = Grammar(
"""
program = expr*
expr = _ "{" lvalue (rvalue / expr)* "}" _
lvalue = _ ~"[a-z0-9\\-]+" _
rvalue = _ ~".+" _
_ = ~"[\\n\\s]*"
"""
)
Run Code Online (Sandbox Code Playgroud)
当我尝试输出简单输入字符串的结果AST时"{ do-something some-argument }":
Run Code Online (Sandbox Code Playgroud)print(grammar.parse("{ do-something some-argument }"))
Parsimonious决定拒绝它,然后给我这个有点神秘的错误:
Run Code Online (Sandbox Code Playgroud)Traceback (most recent call last): File "tests.py", line 13, in <module> print(grammar.parse("{ do-something some-argument }")) File "/usr/local/lib/python2.7/dist-packages/parsimonious/grammar.py", line 112, in parse return self.default_rule.parse(text, pos=pos) File "/usr/local/lib/python2.7/dist-packages/parsimonious/expressions.py", line 109, in parse raise IncompleteParseError(text, …
我有一个包含值的列表:
['1', '3', '4', '4']
Run Code Online (Sandbox Code Playgroud)
我有一个if语句,它将检查列表中是否包含值然后输出一个语句:
if "1" and "2" and "3" in columns:
print "1, 2 and 3"
Run Code Online (Sandbox Code Playgroud)
考虑到列表不包含值"2",它不应该打印语句,但它是:
输出:
1, 2 and 3
Run Code Online (Sandbox Code Playgroud)
有人可以解释为什么会这样吗?这是Python读取列表的方式吗?
在特定情况下,选择在给定类中实现哪些内容的一般经验法则是什么?
我已经阅读了文档,因此理解它们之间的区别.相反,我正在寻找关于如何最好地将他们的使用集成到我的工作流程中的指导,方法是更好地注意到使用它们的更微妙的机会,以及何时使用它们.那种事.有问题的方法是(据我所知):
## fallback
__getattr__
__setattr__
__delattr__
Run Code Online (Sandbox Code Playgroud)
## full control
__getattribute__
##(no __setattribute__ ? What's the deal there?)
Run Code Online (Sandbox Code Playgroud)
## (the descriptor protocol)
__get__
__set__
__delete__
Run Code Online (Sandbox Code Playgroud) 我(现在)尝试使用ANTLR4和C#来设计一种语言,到目前为止,我一直在努力摆弄它.在这个过程中,我决定尝试创建一个简单的数学表达式求值器.在这个过程中,我为它创建了以下ANTLR语法:
grammar Calculator;
@parser::members
{
protected const int EOF = Eof;
}
@lexer::members
{
protected const int EOF = EOF;
protected const int HIDDEN = Hidden;
}
program : expr+ ;
expr : expr op=('*' | '/') expr
| expr op=('+' | '-') expr
| INT
| '(' expression ')'
;
INT : [0-9]+ ;
MUL : '*' ;
DIV : '/' ;
ADD : '+' ;
SUB : '-' ;
WS : (' ' | '\r' | '\n') -> …Run Code Online (Sandbox Code Playgroud) 假设我有以下正则表达式,其匹配的字符串结尾处是分号:
\".+\";
Run Code Online (Sandbox Code Playgroud)
它会匹配除空字符串以外的任何字符串,例如以下字符串:
"";
Run Code Online (Sandbox Code Playgroud)
我尝试使用此:
\".+?\";
Run Code Online (Sandbox Code Playgroud)
但这没有用。
我的问题是,如何使.+部分成为可选部分,以便用户不必在字符串中放入任何字符?
如何限制用户可以输入的字符数量raw_input?我的问题可能有一些简单的解决方案,但我无法弄清楚.
python ×6
if-statement ×2
parsing ×2
antlr ×1
antlr4 ×1
apache ×1
c# ×1
debugging ×1
eclipse ×1
go ×1
list ×1
parsimonious ×1
peg ×1
php ×1
python-2.7 ×1
python-3.x ×1
raw-input ×1
regex ×1
terminal ×1
xdebug ×1