小编Vis*_*ota的帖子

为什么`gem install rails`失败了?

作为背景,这是我的环境:

vishal@dishDell:~$ gem env
RubyGems Environment:
  - RUBYGEMS VERSION: 1.8.24
  - RUBY VERSION: 1.9.3 (2011-10-30 patchlevel 0) [x86_64-linux]
  - INSTALLATION DIRECTORY: /usr/lib/ruby/gems/1.9.1
  - RUBY EXECUTABLE: /usr/bin/ruby1.9.1
  - EXECUTABLE DIRECTORY: /usr/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86_64-linux
  - GEM PATHS:
     - /usr/lib/ruby/gems/1.9.1
     - /home/vishal/.gem/ruby/1.9.1
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - http://rubygems.org/
Run Code Online (Sandbox Code Playgroud)

这是我尝试跑步时会发生的事情gem install rails.

vishal@dishDell:~$ sudo gem …
Run Code Online (Sandbox Code Playgroud)

linux rubygems ruby-on-rails xubuntu

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

Readline:获取SIGINT的新提示

我使用readline获得了类似于以下内容的代码:

#include <errno.h>
#include <error.h>
#include <getopt.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <signal.h>
#include <readline/readline.h>
#include <readline/history.h>

void handle_signals(int signo) {
  if (signo == SIGINT) {
    printf("You pressed Ctrl+C\n");
  }
}

int main (int argc, char **argv)
{
   //printf("path is: %s\n", path_string);
  char * input;
  char * shell_prompt = "i-shell> ";
  if (signal(SIGINT, handle_signals) == SIG_ERR) {
    printf("failed to register interrupts with kernel\n");
  }

  //set up custom completer and associated data strucutres
  setup_readline();

  while (1) 
  {
    input = …
Run Code Online (Sandbox Code Playgroud)

c signals readline sigint

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

如何比较C中的两个时间戳?

我正在编写一个套接字程序来维护两个输入套接字的FIFO队列.在决定要服务的队列时,程序从每个队列中提取最新的时间戳.

我需要一种可靠的方法来比较两个timeval结构.我尝试使用timercmp(),但我的gcc版本不支持它,文档说明该功能不符合POSIX.

我该怎么办?

c sockets timestamp timeval

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

为什么我不能将方法链接到构造函数?

我正在尝试为文件设置权限.我以为我可以在处理QFile对象时保存一行代码,就像这样.

QFile("somefile.txt").setPermissions(QFile::WriteOther);
Run Code Online (Sandbox Code Playgroud)

它编译并运行,但没有做任何事情.当然,当我以正确的方式做到这一点时,它起作用了.(毫不奇怪,那里.)

QFile tempFileHandle("somefile.txt");
tempFileHandle.setPermissions(QFile::WriteOther);
Run Code Online (Sandbox Code Playgroud)

我认为这是理解C++语法的好机会.我会接受我原来的方式不起作用,但为什么呢?

c++ qt object

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

如何使用 Ansible 将大量文本附加到文件中?

我们的应用程序在/etc/services. 我们将services所有这些定义保存在一个方便的文件中,以便我们可以/etc/services像这样将它们通过管道传输:

cp /etc/services /etc/services.stock
cat /path/to/build/services >> /etc/services
Run Code Online (Sandbox Code Playgroud)

它可以工作,但它不是幂等的,即重复运行这些命令将导致服务文件再次附加信息。

当我研究我们的 Ansible 剧本时,我试图找出如何做到这一点。我可以这样:

- command: "cat /path/to/build/services >> /etc/services"
Run Code Online (Sandbox Code Playgroud)

但我不希望每次运行剧本时它都运行。

另一种选择是执行以下操作:

- name: add services
  lineinfile: 
    state: present
    insertafter: EOF
    dest: /etc/services
    line: "{{ item }}"
  with_items:
   - line 1
   - line 2
   - line 3
   - line 4
   - ...
Run Code Online (Sandbox Code Playgroud)

但这真的很慢,因为它单独执行每一行。

有没有更好的办法?模板没有帮助,因为它们会完全覆盖服务文件,这看起来有点粗鲁。

linux ansible devops

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

如何阻止 QXmlStreamWriter 转义引号?

让我首先表达我的理解,即我尝试做的事情正常,通常也不是很好的建议。我完全知道在普通的 XML 中,"字符是保留的。

我正在.vcxproj使用 Qt 应用程序生成要在 Visual Studio 2010 中使用的文件。我正在利用QXmlStreamWriter该类编写项目文件所需的 XML。但是,由于 Microsoft 不符合 XML 标准,我遇到了问题。

CustomBuild元素中,用户需要指定构建文件的命令。对于 Visual Studio 中的 Qt 项目,您最终会得到如下结果:

  <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o "..\myproj\moc_%(Filename).cpp"  -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_CORE_LIB -DQT_GUI_LIB -DQT_XML_LIB -DQT_SQL_LIB -DQT_OPENGL_LIB -DQT_QT3SUPPORT_LIB -DQT3_SUPPORT -DQT_SVG_LIB "-I." "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtXml" "-I$(QTDIR)\include\QtSql" "-I$(QTDIR)\include\QtOpenGL" "-I$(QTDIR)\include\Qt3Support" "-I$(QTDIR)\include\QtSvg" "-I$(QTDIR)\include\QtTest" "-I..\myproj"</Command>
Run Code Online (Sandbox Code Playgroud)

令人讨厌,但是c'est la vie,尤其是与 Microsoft。不幸的是,我的QXmlStreamWriter对象产生了这个(完全兼容)输出:

  <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(QTDIR)\bin\moc.exe&quot; &quot;%(FullPath)&quot; -o &quot;..\myproj\moc_%(Filename).cpp&quot;   -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_CORE_LIB -DQT_GUI_LIB -DQT_XML_LIB -DQT_SQL_LIB …
Run Code Online (Sandbox Code Playgroud)

c++ xml qt escaping

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

为什么将控件添加到窗体后,Visual C++ 设计器不起作用?

我想在面板中打开双缓冲,但我们可以DoubleBuffered打开该属性的唯一方法是创建一个继承自 的新类System::Windows::Form::Panel,如下所示:

#include "stdafx.h"

public ref class CPPIConfig: public System::Windows::Forms::Panel
{
public: CPPIConfig()
        {
            this->DoubleBuffered = true;
        }
};
Run Code Online (Sandbox Code Playgroud)

我们的表单现在看起来像这样:

#pragma once
#using <system.drawing.dll>
#include "CPPIConfig.h"

[...]

public ref class C3_User_Interface : public System::Windows::Forms::Form
    {
      [...]
      public: CPPIConfig^ pPPI;
      [...]
    }

void InitializeComponent(void)
    {
        [...]
        this->pPPI = (gcnew CPPIConfig());
        [...]
    }
[...]
Run Code Online (Sandbox Code Playgroud)

它构建并运行,没问题。但是,当我现在尝试在设计模式下查看表单时,出现以下错误:

C++ CodeDOM 解析器错误:行:144,列:15 --- 未知类型“CPPIConfig”。请确保引用了包含此类型的程序集。如果此类型是您的开发项目的一部分,请确保该项目已成功构建。

我的问题:

  1. 为什么即使代码生成并运行,设计模式也不起作用?我已经尝试了几个干净的构建,但这看起来不是问题。
  2. 有没有一种方法可以DoubleBufferedtrue不使用这种方法的情况下进行设置?

.net visual-studio-2008 visual-c++ winforms

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

为什么String.format()不会给我一个左零填充浮点输出?

我正在尝试将小数字8.6渲染到左边的零填充字符串,即08.6.

为什么以下似乎不起作用?

double number = 8.6;
String.format("%03.1f", number); //expect "08.6", get "8.6"
Run Code Online (Sandbox Code Playgroud)

格式化字符串似乎是正确的.我究竟做错了什么?

java string-formatting

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

当预期和实际外观相同时,为什么会出现AssertionError?

我正试图回答Cracking the Coding Interview中的以下问题.下面的代码是GitHub项目的一部分,在这里.

给定一个二叉搜索树,设计一个算法,创建每个深度的所有节点的链表(即,如果你有一个深度为D的树,你将有D个链表).

作为一个优秀的小开发人员,我写了一个单元测试来检查这个.

@Test
public void testGetValuesAtEachLevel() {
    Integer[] treeValues = {
            1, 2, 3, 4, 5,
            6, 7, 8, 9, 10,
            11, 12, 13, 14, 15
    };

    tree = new GenericBinaryTree<>(treeValues);

    Integer[][] expectedArray = {
            { 1 },
            { 2, 3 },
            { 4, 5, 6, 7 },
            { 8, 9, 10, 11, 12, 13, 14, 15 }
    };

    List<List<Node<Integer>>> expectedList = new ArrayList<>(4);
    for (Integer[] level : expectedArray) {
        List<Node<Integer>> list …
Run Code Online (Sandbox Code Playgroud)

java collections junit

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

sendto()崩溃错误代码"成功"

实际上,我的问题非常令人气愤.我先给你看一下代码.

/*
** listener.c -- a datagram sockets "server" demo
*/
//Original Code: Brian Hall (beej@beej.us)
//Commented and modified by Vishal Kotcherlakota (PID A07124450)

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <errno.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <netdb.h>

#define MYPORT "4960"   // the port users will be connecting to
#define YOURPORT "4961"
#define MAXBUFLEN 10000 

// get sockaddr, IPv4 or IPv6:
void *get_in_addr(struct sockaddr *sa)
{
    //If the socket address struct says it's an …
Run Code Online (Sandbox Code Playgroud)

c sockets udp sendto

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