小编pro*_*eek的帖子

使用关系数据库表示图形

我需要用关系数据库表示图形信息.

比方说,a连接到b,c和d.

a -- b
|_ c
|_ d

我可以有a,b,c和d的节点表,我也可以有一个链接表(FROM,TO) - >(a,b),(a,c),(a,d).对于其他实现,可能有一种方法将链接信息存储为(a,b,c,d),但表中的元素数量是可变的.

  • Q1:有没有办法在表中表示变量元素?
  • Q2:有没有使用关系数据库表示图结构的一般方法?

database graph

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

C#有(直接)flex/yacc端口吗?或者lexer/parser用于C#的是什么?

我可能错了,但看起来到目前为止C#/ .NET没有直接的flex/bison(lex/yacc)端口.

对于LALR解析器,我找到了GPPG/GPLEX,对于LL解析器,有着名的ANTLR.但是,我想尽可能多地重用我的flex/bison语法.

  • 对于C#,有没有直接的flex/bison端口?
  • 人们通常使用哪些词法分析器/解析器来进行C#?这个选择有什么理由吗?

.net c# parsing lexer

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

如何在Python中将元组更改为数组?

假设我有一个元组t = (1,2,3,4).将其更改为Array的简单方法是什么?

我可以做这样的事情,

array = []
for i in t:
    array.append(i)
Run Code Online (Sandbox Code Playgroud)

但我更喜欢像x.toArray()之类的东西.

python arrays tuples

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

如何在Visual Studio 2010中执行单元测试之前不构建

每当我运行单元测试时,即使我在代码中没有修改任何内容,Visual Studio也可以构建dll和exes.

如何在运行单元测试之前没有进行任何更改时,如何构建Visual Studio?

c# unit-testing visual-studio-2010

18
推荐指数
1
解决办法
7401
查看次数

使用Python反向映射字典

可能重复:
反向字典查找 - Python

如果我有一个名为ref的字典如下

ref = {}
ref["abc"] = "def"
Run Code Online (Sandbox Code Playgroud)

我可以从"abc"获得"def"

def mapper(from):
    return ref[from]
Run Code Online (Sandbox Code Playgroud)

但是,我如何才能从"def"变为"abc"?

def revmapper(to):
    ??????
Run Code Online (Sandbox Code Playgroud)

python dictionary

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

为什么有四个单声道C#编译器?

本页介绍了四种不同的单声道编译器--mcs/gmcs/smcs/dmcs.

对我来说,有四个C#编译器有点奇怪.通常,较新版本的编译器保持向后兼容性.

我认为这是因为运行时支持问题,但Microsoft的C#有一个支持所有运行时版本的csc.exe.

mono

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

如何使用F#中的C#对象?

我有以下C#代码.

namespace MyMath {
    public class Arith {
        public Arith() {}
        public int Add(int x, int y) {
            return x + y;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我想出了名为testcs.fs的F#代码来使用这个对象.

open MyMath.Arith
let x = Add(10,20)
Run Code Online (Sandbox Code Playgroud)

当我运行以下命令

fsc -r:MyMath.dll testcs.fs

我收到此错误消息.

/Users/smcho/Desktop/cs/namespace/testcs.fs(1,13): error FS0039: The namespace 'Arith' is 
not defined

/Users/smcho/Desktop/cs/namespace/testcs.fs(3,9): error FS0039: The value or constructor 
'Add' is not defined

可能有什么问题?我在.NET环境中使用mono.

c# f#

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

Python中的迭代器(iter())函数.

对于字典,我可以iter()用来迭代字典的键.

y = {"x":10, "y":20}
for val in iter(y):
    print val
Run Code Online (Sandbox Code Playgroud)

当我有迭代器如下,

class Counter:
    def __init__(self, low, high):
        self.current = low
        self.high = high

    def __iter__(self):
        return self

    def next(self):
        if self.current > self.high:
            raise StopIteration
        else:
            self.current += 1
            return self.current - 1
Run Code Online (Sandbox Code Playgroud)

为什么我不能这样使用它

x = Counter(3,8)
for i in x:
    print x
Run Code Online (Sandbox Code Playgroud)

也不

x = Counter(3,8)
for i in iter(x):
    print x
Run Code Online (Sandbox Code Playgroud)

但这样呢?

for c in Counter(3, 8):
    print c
Run Code Online (Sandbox Code Playgroud)

功能的用途是iter()什么?

添加

我想这可能是如何iter() …

python iterator

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

如何使用Visual Studio设置$(OutDir),$(TargetName),$(TargetExt)和%(Lib.OutputFile)?

我正在尝试在Visual Studio 2010上构建gtest.转换解决方案文件后,我尝试构建,并收到以下警告消息.

Warning 1   warning MSB8012: 
TargetPath(C:\Users\sucho\Desktop\gtest-1.5.0\msvc\gtest/Debug\gtest.lib) does not match
the Library's OutputFile property value (C:\Users\sucho\Desktop\gtest-1.5.0\msvc\gtest\
Debug\gtestd.lib).

This may cause your project to build incorrectly. 
To correct this, please make sure that $(OutDir), $(TargetName) and $(TargetExt) property
values match the value specified in %(Lib.OutputFile).  
C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets
Run Code Online (Sandbox Code Playgroud)

消息说我需要设置变量$(OutDir),$(TargetName)以及中$(TargetExt)指定的属性值%(Lib.OutputFile).

我怎么能用Visual Studio(特别是VS 2010)做到这一点?

unit-testing googletest visual-studio

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

是否可以从同一包中的模块访问__init__.py中的变量?

我有一个包含good.py模块的hello1包.

hello1
??? __init__.py
??? good.py
Run Code Online (Sandbox Code Playgroud)

初始化模块有一个变量A = 1,我需要访问的变量hello1.A在good.py.

import hello1

class Good(object):
    def __init__(self):
        print hello1.A

if __name__ == "__main__":
    g = Good()
Run Code Online (Sandbox Code Playgroud)

问题是,当我执行python脚本时,我收到了ImportError: 'No module named hello1'错误.我可以import sys; sys.path.append("..")在第一行添加good.py快速修复.

但是,good.py位于hello1包中__init__.py也在其中,所以我想知道是否有办法从同一个包中的模块访问__init__.py中的变量.

python package

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