问题列表 - 第16432页

使用pyparsing解析单词escape-split over multiple lines

我正在尝试\\n使用pyparsing解析可以使用反斜杠 - 换行符组合(" ")在多行中分解的单词.这就是我所做的:

from pyparsing import *

continued_ending = Literal('\\') + lineEnd
word = Word(alphas)
split_word = word + Suppress(continued_ending)
multi_line_word = Forward()
multi_line_word << (word | (split_word + multi_line_word))

print multi_line_word.parseString(
'''super\\
cali\\
fragi\\
listic''')
Run Code Online (Sandbox Code Playgroud)

我得到的输出是['super'],而预期的输出是['super', 'cali', fragi', 'listic'].更好的是他们所有人都加入了一个词(我想我可以这样做)multi_line_word.parseAction(lambda t: ''.join(t)).

我尝试在pyparsing helper中查看此代码,但它给了我一个错误,maximum recursion depth exceeded.

编辑2009-11-15:后来我意识到pyparsing在空白方面有点慷慨,这导致一些不好的假设,我认为我正在解析的是松散的.也就是说,我们希望在单词的任何部分,转义和EOL字符之间看不到空格.

我意识到上面的小例子字符串不足以作为测试用例,所以我编写了以下单元测试.通过这些测试的代码应该能够匹配我直观地认为是一个逃避分裂词 - 而且只是一个逃避分裂词.它们不匹配不是转义拆分的基本单词.我们可以 - 我相信应该 - 使用不同的语法结构.这使两者分开保持整洁.

import unittest
import pyparsing

# …
Run Code Online (Sandbox Code Playgroud)

python parsing pyparsing

5
推荐指数
2
解决办法
2554
查看次数

C#:如何使用带有"out"变量的泛型方法

我想创建一个简单的泛型函数

void Assign<T>(out T result) 
{
  Type type = typeof(T);
  if (type.Name == "String")
  {
     // result = "hello";
  }
  else if (type.Name == "Int32")
  {
     // result = 100;
  } 
  else result = default(T);
}
Run Code Online (Sandbox Code Playgroud)

用法:

int value;
string text;

Assign(value); // <<< should set value to 100
Assign(text); // <<< should set text to "hello"
Run Code Online (Sandbox Code Playgroud)

我的问题是如何编写代码来设置这些值,即.评论部分中缺少的代码.

谢谢你的帮助.

c# generics out-parameters generic-method

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

应用引擎和Scala

我有一个由两部分组成的问题:

  1. 您可以将Scala与Google的App Engine一起使用而不是Java吗?
  2. (假设1回答是)是否会被建议?

谢谢

java google-app-engine scala

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

Mysql文本存储?

我想知道你在哪里有一篇文章或文章有大量文本,在为文章文本创建数据库结构时哪个更好?为什么?

如果有的话有什么优点或缺点?

我正在考虑使用下面的一种数据类型来保存MySQL数据库的文章文本.

VARCHAR
TEXT
MEDIUMTEXT
LONGTEXT
Run Code Online (Sandbox Code Playgroud)

mysql

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

通过索引引用排序地图上的java对象?

我有一个有序的地图,并希望通过它们的索引位置引用它的有序对象.这可能吗?如何在保持排序的同时将有序映射转换为数组列表,因此我可以通过索引(顺序)检索对象.这是唯一的方法吗?

理想情况下,我可以拥有这个结构,并且知道该结构中的对象的索引,并且可以通过说:

    Object nextObj = structure[4] //this structure is originally a sortedMap
//SortedMap<String, Object> sortedMap = new TreeMap<String, Object>();
Run Code Online (Sandbox Code Playgroud)

我的问题是我首先要有一个有序的地图.有没有一种已知的方法来做到这一点?

非常感谢您提出任何方法.

java sorting collections arraylist map

5
推荐指数
2
解决办法
6352
查看次数

为什么Perl中的base64字符串比较失败?

我试图比较一个encode_base64('test')包含base64字符串'test'的字符串变量.问题是它永远不会验证!

use MIMI::Base64 qw(encode_base64);

if (encode_base64("test") eq "dGVzdA==")
{
    print "true";
}
Run Code Online (Sandbox Code Playgroud)

我忘了什么吗?

perl base64

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

使用Clojure进行服务器编程

如何在Clojure中实现10k连接echo服务器?

clojure.contrib.server-socket不是答案,因为它为每个连接创建一个新的OS线程.

concurrency clojure

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

使用popen的无阻塞管道?

我想打开一个管道popen()并对其进行非阻塞"读取"访问.

我怎样才能做到这一点?

(我发现的例子都是阻塞/同步的)

c linux pipe popen

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

用户当前区域设置的货币符号

在我的应用程序中,我需要为用户的当前区域设置显示相应的货币符号.我没有显示货币值,只显示符号.

有任何想法吗?

iphone objective-c iphone-sdk-3.0

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

十六进制0x0001对比0x00000001

通常在使用权限检查的代码中,我看到一些人使用十六进制0x0001而其他人使用0x00000001.如果我没有误会,这些看起来都像是小数1的等价物.

为什么使用一个而不是另一个,只是一个偏好的问题?

hex decimal

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