问题列表 - 第16423页

为什么psycopg2不执行我的任何SQL函数?(IndexError:元组索引超出范围)

我将以最简单的SQL函数为例:

CREATE OR REPLACE FUNCTION skater_name_match(INTEGER,VARCHAR)
RETURNS BOOL AS
$$
    SELECT $1 IN (SELECT skaters_skater.competitor_ptr_id FROM skaters_skater
    WHERE name||' '||surname ILIKE '%'||$2||'%' 
    OR surname||' '||name ILIKE '%'||$2||'%');
$$ LANGUAGE SQL;
Run Code Online (Sandbox Code Playgroud)

如果我将其复制并粘贴到psql(PostgreSQL的shell)中,那么它会毫无问题地执行.

如果我像这样编写一段Python代码(当然是真正的数据库名称和用户):

import psycopg2

sql_function_above = '''CREATE OR REPLACE FUNCTION skater_name_match(INTEGER,VARCHAR)
RETURNS BOOL AS
$$
    SELECT $1 IN (SELECT skaters_skater.competitor_ptr_id FROM skaters_skater
    WHERE name||' '||surname ILIKE '%'||$2||'%' 
    OR surname||' '||name ILIKE '%'||$2||'%');
$$ LANGUAGE SQL;'''

try:
    connection = psycopg2.connect("dbname='x' user='x' host='localhost' password='x'");
except:
    print "I am unable to connect to …
Run Code Online (Sandbox Code Playgroud)

python sql django postgresql psycopg2

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

如何在Java中按字母顺序对枚举成员进行排序?

我有一个类似以下的枚举类:

public enum Letter {
    OMEGA_LETTER("Omega"), 
    GAMMA_LETTER("Gamma"), 
    BETA_LETTER("Beta"), 
    ALPHA_LETTER("Alpha"), 

    private final String description;

    Letter() {
      description = toString();
    }

    Letter(String description) {
      this.description = description;
    }

    public String getDescription() {
      return description;
    }
}
Run Code Online (Sandbox Code Playgroud)

稍后我的代码我基本上迭代了字母枚举并将其成员打印到控制台:

for (Letter letter : Letter.values()) {
System.out.println(letter.getDescription());
}
Run Code Online (Sandbox Code Playgroud)

我认为values()方法会给我一个enum的有序视图(如这里所提到的),但这不是这里的情况.我只是按照我在Letter枚举类中创建它们的顺序获取枚举成员.有没有办法按字母顺序输出枚举值?我需要一个单独的比较器对象,还是有内置的方法来做到这一点?基本上我希望根据getDescription()文本按字母顺序对值进行排序:

Alpha
Beta
Gamma
Omega
Run Code Online (Sandbox Code Playgroud)

java sorting enums alphabetical comparator

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

在C++中重载子类中的方法

假设我有一些像这样的代码:

class Base {
    public:
      virtual int Foo(int) = 0;
};

class Derived : public Base {
    public:
      int Foo(int);
      virtual double Foo(double) = 0;
};

class Concrete : public Derived {
    public:          
      double Foo(double);
};
Run Code Online (Sandbox Code Playgroud)

如果我有一个Concrete类型的对象,为什么我不能调用Foo(int)?
如果我更改Foo的名称(double)以便它不会重载Foo,那么一切都很好并且两种方法都可以访问,但这不是我想要的.
类似地,如果我在Derived中删除Concrete类并实现Foo(double),那么两者都是可访问的,但同样,不是我想要的.

c++ inheritance overloading

10
推荐指数
2
解决办法
5651
查看次数

R - 将R输出的元素捕获到文本文件中

我试图通过命令行调用R运行分析,如下所示:

R --no-save < SampleProgram.R > SampleProgram.opt
Run Code Online (Sandbox Code Playgroud)

例如,考虑下面的简单R程序:

mydata = read.csv("test.txt", header=T)
attach(mydata)
summary(Variable1)
q()
Run Code Online (Sandbox Code Playgroud)

输出显示在SampleProgram.opt中(仅部分显示):

> mydata = read.csv("test.txt", header=T)
> attach(mydata)
> summary(Variable1)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.
   1.00    1.00    2.00    2.47    3.00    4.00
> q()
Run Code Online (Sandbox Code Playgroud)

这个简单的R程序将由需要使用为Variable1显示的摘要统计信息的脚本执行.

问题是:R中是否有任何方法可以捕获摘要(Variable1)的输出并将结果写入输出文件?换句话说,我需要R来运行Variable1的摘要统计信息,捕获"Min","Median"和"Max"值,并将它们单独写入输出文本文件.在此示例中,输出文件应仅包含一行,其值为"1.00,2.00,4.00"(即"最小","中值"和"最大"值).

上面的例子讨论了汇总函数.但是,我也需要使用其他命令(例如glm)

我是R的新手,想知道R中是否有办法可以做到这一点?

谢谢您的帮助.

command-line r

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

在Gtk中,如何使用股票图标制作按钮?

我想创建一个按钮,上面有"删除"图标,但没有"删除"文本.如果我使用Button button = new Button(Stock.Remove);,我会得到相反的结果:只是文本,没有图标.我将有许多这些按钮,文本使它看起来混乱.我如何获得图标?

注意:这些是常规按钮,而不是工具栏按钮.

编辑:这是它目前的样子:

凌乱

我想用小而不引人注意的仅图标按钮替换这些按钮.

c# gtk gtk#

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

限制boost :: options_description中std :: cout默认值的精度

当我构造一个boost :: options_description实例时

options.add_options()
  ("double_val", value(&config.my_double)->default_value(0.2), "it's a double");
Run Code Online (Sandbox Code Playgroud)

然后想要自动输出我的程序可用的选项,然后放

std::cout << options << std::endl;
Run Code Online (Sandbox Code Playgroud)

默认值0.2显示的精度太高,当我有长变量名时,这有效地混淆了我的输出:

--double_val (=0.20000000000000001) it's a double
Run Code Online (Sandbox Code Playgroud)

不幸的是,先前调用std :: cout.precision没有帮助:

cout.precision(5);
std::cout << options << std::endl;
Run Code Online (Sandbox Code Playgroud)

这仍然导致相同的输出:/

您对如何将默认值的显示限制在较少的位置有任何想法吗?

最诚挚的问候,基督

c++ precision cout boost-program-options

10
推荐指数
1
解决办法
1574
查看次数

比较字符串C++末尾的字符

该程序应该找到在Unix上输入的以".exe"结尾的命令行参数.由于某种原因,它不起作用.这是代码:

 int main( int argc, char* argv[] )
{
    for ( int i = 1; i < argc; i++)
    if( findExe( argv[i] ) )
      cout << argv[i] << endl;

  return 0;
}
bool findExe( char* argument )
{
  if ( strlen( argument ) >= 4 )
    {
      string testExe = ".exe";
      string initialWord=argument; //converts c-string to string
      string temp( initialWord,( initialWord.size() - 4 ),4 );//creates temp with last four characters from initialWord

      if ( !temp.compare(testExe) )
        return true;
    }
  else …
Run Code Online (Sandbox Code Playgroud)

c++ unix

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

Linux管道作为输入和输出

我想在Linux操作系统上的C程序中执行以下操作:

  • 使用系统调用(或2)创建PIPE
  • 使用exec()执行新进程
  • 将进程的STDIN连接到先前创建的管道.
  • 将流程的输出连接到另一个PIPE.

我们的想法是为了性能目的绕开任何驱动器访问.

我知道使用PIPE系统调用创建管道非常简单,并且我可以使用popen来创建用于输入或输出目的的管道.

但是你会如何为输入和输出做这个呢?

c linux ipc pipe

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

RSA密码系统

你好我试图建立一个RSA密码.我除了d选择质数中的所有值:p=1889,q=2003,n=3783667,phi=3779776,e= 61

我被困了发现d有人能帮我搞清楚吗?

设置RSA密码系统

  • 两个不同的大素数pq被选择,n = pq?(n) = (p ? 1)(q ? 1)进行计算.
  • e选择整数,以便计算gcd(?(n), e) = 1乘法逆d = e^(?1)in Z?(n),即

    ed≡1(modΦ(n)).

  • 然后丢弃数字p,q?(n).

  • 该对(e, n)作为公共加密密钥发布
  • 该号码d是秘密解密密钥.

security computer-science cryptography discrete-mathematics

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

数学溢出 - 处理大数字

我在处理大数字时遇到问题.

我需要计算一个非常大的数字的日志.这个数字是一系列数字的乘积.例如:log(2x3x66x435x444)虽然我的实际系列更长.

我得到数学溢出因为产品变得非常大,非常快.

是否有特殊的数学库来处理大数字?我有什么想法可以解决这个问题?

math

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