小编Has*_*yed的帖子

Lua迭代器到数组

在Lua的说法中,是否有任何语法糖用于将迭代器函数转换为数组(重复调用结果存储在升序索引中),也许是标准库中的某些内容?

我正在对属于协议的字符串进行标记,并且需要对字符串开头的元素进行位置访问,并且字符串的结尾是变量集合.

代码(特定于我的用例)如下,我发现很难相信它不在标准库中:d

local array_tokenise = function (line)
    local i = 1;
    local array = {};

    for item in string.gmatch(line,"%w+") do
      array[i] = item;
      i = i +1
    end

    return array
  end
Run Code Online (Sandbox Code Playgroud)

lua

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

同一台机器Erlang通信

我需要回答以下问题,以帮助理解我应该采取什么方法来与Erlang交互.SMP UNIX机箱上的AFAIK Erlang使用多进程方法.在这种情况下,它应该做同一台机器IPC.

  1. Erlang是否为UNIX使用UNIX域套接字?
  2. 它是否使用命名管道的窗口?

  3. 如果它没有实现上面的两个结构 - 即没有用于windows的命名管道; 它必须要回退到Windows上的套接字.

  4. 如何实现上述原则,它们是使用面向消息的,每个通道的单线程,异步构造还是其他什么?

  5. 如果上面的推理路线不正确,它是否使用主子树,所有其他进程间接通过主机进行通信?

- 编辑1 -

链接到erlang二进制格式文档.

普遍的共识是Unix Domain Sockets优于TCP/IP.我想我会尝试扩展Erlang以使用提供的更好的原语.我也强烈怀疑在TCP/IP事件循环中没有使用epol和windows IOPC - 我会在审核代码后回发.

断言Erlang的另一个SO帖子确实不支持TCP和UDP以外的任何其他内容.

有用于通信的两个二郎库Erlang node -> c_nodec_node -> Erlang_node

套接字的Erlang 模块允许在UNIX下打开Unix Dom套接字.

erlang multithreading portability asynchronous ipc

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

boost :: asio:线程本地异步事件

我将在我的服务器应用程序中创建x个线程.x将是计算机上的核心数量,这些线程将是(非超线程)核心绑定.自然地,通过这种方案,我希望在线程之间分配传入连接,目的是确保一旦将连接分配给线程,它将仅在该特定线程之外提供.这是如何在boost :: asio中实现的?

我在想:一个socket绑定到多个共享的地址io_service,每个线程都有自己的地址io_service.这种推理是否正确?

编辑:看起来我将不得不自己回答这个问题.

c++ sockets network-programming boost-asio

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

提升asio receive()vs read()

有两种类型的从流读取功能boost::asio::ip::tcp::socket.我假设他们的语义各不相同.有人可以概述一下,我看过的文件并没有澄清这一点.

c++ tcp boost-asio

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

Boost-asio在单个(TCP)接收器上侦听多个IP地址

可以使用端点构造函数连接一个boost TCP接受器,该构造函数只接受端口号作为其参数,在这种情况下,它将侦听所有IP地址/ NIC.

是否有可能让接受者听取选择的IP地址?或者我是否必须为我感兴趣的每个IP地址创建一个接受器?通过文档查看我无法找到任何可能的迹象.

我已经好几年没看过套接字API了,但我想API并没有直接允许这个.

c++ network-programming tcp boost-asio

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

关于C/C++静态库的推理

我从来没有想过下面的问题,但由于我现在不得不在我的代码中处理一堆依赖项,我认为我最好直接了解我的事实.让我们将其限制为现代Linux版本,例如ubuntu amd64.

由于静态库不包含动态库引用,如何在静态库中解析未定义的符号?依赖二进制文件可以动态加载未定义的符号,还是编译时必须由另一个静态库或目标文件解析符号?

编译器是否可以通过链接动态库来解析(依赖于静态库的应用程序)的依赖关系,如果是这样,代码文本会通过静态解析为生成的二进制文件,还是存在动态引用?

例如,静态库L使用mallocfrom libc6.so,它将由应用程序使用A.将LA两者动态地使用libc6.so中的malloc吗?

c++ build-process abi dynamic-linking static-libraries

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

psycopg2将INSERT语句的Python:“字典列表”映射到Postgres:“复合类型数组”

Postgres版本:9.1.x。

说我有以下架构:

DROP TABLE IF EXISTS posts CASCADE;
DROP TYPE IF EXISTS quotes CASCADE;

CREATE TYPE quotes AS
(
  text  CHARACTER VARYING,
  is_direct CHARACTER VARYING
);

CREATE TABLE posts
(
    body  CHARACTER VARYING,
    q     quotes[]
);
Run Code Online (Sandbox Code Playgroud)

我希望执行以下插入操作(以SQL所示),但是要从Python Psycopg2执行。

insert into posts(body,q) VALUES('ninjas rock',ARRAY[ ROW('I AGREE',True)::quotes, ROW('I DISAGREE',FALSE)::quotes ]);
Run Code Online (Sandbox Code Playgroud)

实现此目的的语法是什么(没有循环等)。我确信这是可能的,因为该文档说 “在2.4.3版中进行了更改:增加了对复合类型数组的支持”。该文档仅显示SELECT语句示例。

注意:我的客户端代码中有一系列字典,这些字典在概念上映射到上面的psuedo模式。

编辑:

嗯,我一定从文档中错过了这一点:“相反,从Python元组到复合类型的自适应是自动的,不需要适配器注册。” 。现在找出阵列部分。

编辑2:

%s当传递的数据类型为list(tuple)或时,psycopg2的占位符应起作用list(dict)。要测试一下:D

edit3: 好的,在这种情况下,字典不起作用,列表起作用,而元组起作用。但是,我需要将元组字符串表示形式转换为复合记录类型。

这个 :

quote_1 = ("monkeys rock", "False")
quote_2 = ("donkeys rock",  "True") …
Run Code Online (Sandbox Code Playgroud)

python postgresql orm psycopg2 relational-database

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

HTML <td> 元素中的 Qt Qlabel 文本自动换行

介绍:

我正在尝试在 QT 中绘制分页论坛帖子。我最初的一些努力导致了带有嵌套标签的结果(此处QFrame显示了屏幕截图)。从那时起,我不得不将引号与常规文本混合在一起,并且在我当前的方法中我需要动态标签来做到这一点(即,一个帖子实例可能有 5 个引号和 7 个常规文本 = 13 s,每次我绘制一个新的帖子实例时我重新创建了所有s)。创建和销毁 QLabels 的成本相当高,而且我看到了视觉滞后。QLabelQLabel

所以我决定尝试在一次QLabel使用中完成它HTML我选择了此处概述的方法,使用模拟垂直线分隔帖子元数据和帖子正文。

垂直线工作正常,但是我无法让帖子正文进行文本换行。我怀疑 QT 的 html 引擎很难强制执行,而且我不是 HTML 专家。

问题:

如何将以下代码自动换行为固定宽度(即垂直增长)。

from PyQt4.QtGui import QApplication, QLabel
import sys


html = '''
<table cellspacing="5" border="0" cellpadding="0">
<tr valign="top" align="left">
<td style="padding-right: 10px;" width="100">
  <p>#%s<br>
  <b>User:</b> %s<br>
  <b>posted at:</b> %s </p>
</td>
<td width="1" bgcolor="#00FFFF"><BR></td>
<td style="padding-left: 10px;" width="100" valign="top" align="left">
  <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, …
Run Code Online (Sandbox Code Playgroud)

html python word-wrap pyqt4 qlabel

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

在不创建临时表的情况下加入数组 unnest 的输出

我在 UDF 中有一个查询(如下所示),它unnest()是一个整数数组并对其进行连接,我在 pgplsql UDF 中创建了一个本地临时表,因为我知道这有效。是否可以unnest直接在查询中使用来执行连接而不必创建临时表?

CREATE OR REPLACE FUNCTION search_posts(
    forum_id_ INTEGER,
    query_    CHARACTER VARYING,
    offset_ INTEGER DEFAULT NULL,
    limit_ INTEGER DEFAULT NULL,
    from_date_ TIMESTAMP WITHOUT TIME ZONE DEFAULT NULL,
    to_date_ TIMESTAMP WITHOUT TIME ZONE DEFAULT NULL,
    in_categories_ INTEGER[] DEFAULT '{}'
    )
RETURNS SETOF forum_posts AS $$
DECLARE
    join_string CHARACTER VARYING := ' ';
    from_where_date CHARACTER VARYING := ' ';
    to_where_date CHARACTER VARYING := ' ';
    query_string_ CHARACTER VARYING := ' ';
    offset_str_ CHARACTER VARYING …
Run Code Online (Sandbox Code Playgroud)

postgresql plpgsql postgresql-9.1 unnest set-returning-functions

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

Scalaz在预应用程序构建周围翻转嵌套的存在/验证单一文本

我有以下内容:

gt.map(_.singleVal) |@| lt.map(_.singleVal)
Run Code Online (Sandbox Code Playgroud)

它们属于类型,Option(Validation(T))但它们应该是Validation(Option(T))

某些东西不存在是可以的,但是存在无效的东西是不行的.换句话说,我希望None被解释为Success(None)

这让我感到非常普遍.scalaz中有没有这样做的糖吗?

validation scala scalaz applicative

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