小编pyt*_*hon的帖子

如何使用pycharm通过编码样式的模板自动缩进选择区域

好吧,在eclipse中,我可以设置代码样式的模板,当代码完成时,我可以通过模板缩进它.例如,

在编码样式模板中,我设置的样式如下:

aDict = {1: 'a', 2: 'b'} ##即每个变量前面都有一个空格

如果我写这样的代码

aDict = {1:'a',2:      'b'}
Run Code Online (Sandbox Code Playgroud)

我在编写代码后如何缩进代码?

我尝试了"代码 - 自动缩进行",它绑定到热键"Ctrl + Alt + I",但它似乎不起作用

pycharm

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

与C++/C相比,Golang内存布局

在golang中,似乎没有构造函数,但建议您使用函数分配结构类型的对象,通常以"New"+ TypeName命名,例如

func NewRect(x,y, width, height float) *Rect {
     return &Rect(x,y,width, height)
}
Run Code Online (Sandbox Code Playgroud)

但是,我不确定Go的内存布局.在C/C++中,这种代码意味着您返回一个指向临时对象的指针,因为该变量是在堆栈上分配的,并且该函数在函数返回后可能是一些垃圾.在Golang,我是否必须担心这种事情?因为似乎没有标准显示将在堆栈上分配什么类型的数据与将在堆上分配什么类型的数据.

就像在Java中一样,似乎有一个特定的指出,基本类型如int,float将在堆栈上分配,从该对象派生的其他对象将在堆上分配.在golang,有没有具体谈论这个?

memory layout go

16
推荐指数
1
解决办法
5329
查看次数

如何在javascript中获取对象“地址”?

好吧,我不确定我是否清楚地描述了问题,目前我正在使用 ExtJS 进行一些开发,我看到一些对象是“单例”的,例如“Ext.Viewport”,在 C++ 中,我可以获取对象来查看它们是否实际上是同一个对象,在Python中,我可以使用“id”函数来获取对象的哈希码,在Java中我有类似的内置函数“hashCode”来检查对象是否真的相同对象,javascript中有类似的方法吗?因此,如果 javascript 中有一些函数或运算符,那么我可以判断 ExtJS 中定义为“单例”的对象是否真的引用同一个对象。

javascript extjs

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

使用jetbrains设置golang环境

我使用idea(13.1社区版)设置了golang开发环境.SDK似乎得到了认可.但是,我无法通过右键单击源文件夹下的"新建"来创建GO文件.("go"项目为灰色)目前我必须手动将文件扩展名设置为".go"并编辑文件,但自动完成功能正常.这只存在于我的Mac上(版本10.9.4)我已将GOPATH目录访问模式设置为777,但仍无效.这在windows7上工作正常.所以我该怎么做 ?在此输入图像描述

这就是它在windows中的样子 在此输入图像描述

Thanks VonC, I already tried the /Users/Tom/go setting, this doesn't work and I switch to this root path.
here's my previous setting

 macbook:home root# go env
GOARCH="amd64"
GOBIN=""
GOCHAR="6"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/mac/go"
GORACE=""
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
CC="clang"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fno-common"
CXX="clang++"
CGO_ENABLED="1"
Run Code Online (Sandbox Code Playgroud)

这就是/ Users/Tom/Go中的样子在此输入图像描述

但是,感谢VonC,这不起作用.我不确定是什么原因.这是使用GOCODE的环境设置 在此输入图像描述 这是几个步骤! 步骤1

第2步

第三步:

第4步

STEP5

这是环境保护

顺便说一句,我注意到在这一步创建一个新的Go项目时,mac和windows有所不同,windows平台将显示"project sdk",而mac则不会. mac和windows并不完全在这一步

intellij-idea go

7
推荐指数
1
解决办法
6448
查看次数

C/C++处理程序SIGFPE是什么?

好吧,我搜索了有关SIGFPE的文章,然后我写了一些测试,但它的行为很奇怪.然后我必须在这里发帖寻求帮助.GCC/G ++或ISO C++是否明确定义了如果除以零会发生什么?

1)我搜索了这篇文章: 除零之后不会抛出SIGFPE 同样输出是inf

2)如果我重写如下:

void signal_handler (int signo) {
    if(signo == SIGFPE) {
      std::cout << "Caught FPE\n";
    }
}

int main (void) {
  signal(SIGFPE,(*signal_handler));

  int b = 1;
  int c = 0;
  int d = b/c;
  //fprintf(stderr,"d number is %d\n,d);
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

然后signal_handler将不会发生.但如果我取消注释该行

//fprintf(stderr,"d number is %d\n,d);
Run Code Online (Sandbox Code Playgroud)

然后signal_handler继续打电话.

有人可以解释一下吗?

c++ signals sigfpe

6
推荐指数
1
解决办法
7695
查看次数

使用GDB进行Golang调试?

我有2个关于GDB + golang的问题?

1) Go build GCC flags 
Run Code Online (Sandbox Code Playgroud)

当我运行"go build"时,Go构建器使用哪个gcc标志来构建程序?构建值与go环境中设置的"GOGCCFLAGS"相同吗?

GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fno-common"
Run Code Online (Sandbox Code Playgroud)

因为我没有看到任何用于添加代码符号的"-g"或"-g3"标志.如果是,编译符号表怎么样?

2)如何在GDB中打印一个值我按照GDB调试教程中的教程,但似乎值不是我设置的.

值打印1,而实际值为1024

顺便说一句,我注意到有关于它的帖子gdb调试go 但是,对我来说也不起作用. 价值不是我设定的

gdb go

6
推荐指数
3
解决办法
9765
查看次数

pyparsing空白匹配问题

我试图使用pyparsing来解析机器人框架,这是一个基于文本的DSL.sytnax就像跟随(抱歉,但我认为在BNF中描述它有点困难).机器人框架中的单行可能如下所示:

Library\tSSHClient    with name\tnode
Run Code Online (Sandbox Code Playgroud)

\ t是标签,在机器人框架中,它被透明地转移到2""(事实上,它只是调用str.replace('\ t','')来替换标签,但它会修改每个标签的实际长度line,len('\ t')为1但len('')为2.).在机器人中,使用2个或更多的空格和'\ t'来分割标记,如果单词之间只有1个空格,则这些单词被认为是标记组.

Library\tSSHClient    with name\tnode
Run Code Online (Sandbox Code Playgroud)

如果正确解析,实际上会拆分为以下标记:

 ['Library', 'SSHClient', 'with name', 'node']
Run Code Online (Sandbox Code Playgroud)

由于"with"和"name"之间只有1个空格,因此解析器认为它属于组语法标记.

这是我的代码:

ParserElement.setDefaultWhitespaceChars('\r\n\t ')
source = "Library\tSSHClient    with name\tnode"
EACH_LINE = Optional(Word(" ")).leaveWhitespace().suppress() + \
            CaselessKeyword("library").suppress() + \
            OneOrMore((Word(alphas)) + White(max=1).setResultName('myValue')) +\
            SkipTo(LineEnd())

res = EACH_LINE.parseString(source)
print res.myValue
Run Code Online (Sandbox Code Playgroud)

问题:

1)我已经设置了WhiteSpaces,如果我想要完全匹配2个或更多Whitespaces或一个或多个Tab,我认为代码需要:White(ws ='',min = 2)| 白色(ws ='\ t',min = 1)但这会失败,所以我无法指定空白值?

2)有没有办法获得匹配的结果索引?我尝试了setParseAction,但似乎我无法通过此回调获取索引.我需要开始和结束索引来突出显示单词.

3)LineStart和LineEnd是什么意思?我打印这些值,似乎它们只是正常的字符串,我是否必须在一行前面写一些东西,如:LineStart()+ balabala ... + LineEnd()?

但是,谢谢,我有一个限制,我无法将'\ t'替换为'''

from pyparsing import *

source = "Library\tsshclient\t\t\twith name    s1"

value = Combine(OneOrMore(Word(printables) | White(' ', max=1) …
Run Code Online (Sandbox Code Playgroud)

python pyparsing

6
推荐指数
1
解决办法
3495
查看次数

Java有没有办法获取当前文件名和当前行号?

在C++中,源代码的文件和当前行号是由FILEINLINE决定的,这是在编译时决定的,Java中有没有任何方法可以做类似的事情?文件和行号是在编译时而不是运行时决定的?这样对于日志来说会很方便。我有点怀疑使用运行时方法来检测这些信息会降低性能。

java logging file

6
推荐指数
1
解决办法
2972
查看次数

像erlang一样可以透明地跨多个主机生成进程吗?

据说如果配置erlang并设置了cookie,那么erlang的进程可以在不同的机器上运行,这对调用者来说是透明的.这样的goroutine可能会运行吗?

erlang go goroutine

5
推荐指数
1
解决办法
867
查看次数

配置PhpStorm/WebStorm以支持ExtJS

我知道PhpStorm/WebStorm已经内置了最新的ExtJs库.在preference->javascript->libraries,我已经安装了最新的ExtJs 4,它看起来像这样:

在此输入图像描述

当我编码时,即使我没有指定src,自动完成似乎也很好

<!DOCTYPE html>
<html>
<head>
    <title>hello</title>
</head>
<script type="text/javascript">
    Ext.onReady(function()
    {
        Ext.alert("hello","world");
    })
</script>
<body>

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

但是,当我使用浏览器(来自WebStorm调试)看到效果时,浏览器说无法找到"Ext".所以我的问题是:

  1. 如果PhpStorm无法将"ExtJs"添加到"PATH",那为什么它仍然内置了这些库?
  2. 在我的情况下,我是否必须<script src="">.html文件中添加指定要加载的extjs?

extjs webstorm

3
推荐指数
1
解决办法
3196
查看次数