小编dre*_*ves的帖子

Cocoa/Objective-C中的简单字符串解析:将命令行解析为命令和参数

这是一段代码,用于获取input表示命令行的字符串(NSString或NSAttributedString),并将其解析为两个字符串,即命令cmd和参数args:

NSString* cmd = [[input mutableCopy] autorelease];
NSString* args = [[input mutableCopy] autorelease];
NSScanner* scanner = [NSScanner scannerWithString:[input string]];
[scanner scanUpToCharactersFromSet:[NSCharacterSet 
                                    whitespaceAndNewlineCharacterSet] 
                        intoString:&cmd];
if (![scanner scanUpToString:@"magicstring666" intoString:&args]) args = @"";
Run Code Online (Sandbox Code Playgroud)

这似乎有效,但魔术字符串是一个非常荒谬的黑客.而且,我完全不确定我是否正确使用自动释放功能.

补充:解决方案对初始空格也应该是健壮的.另外,我最初的输入字符串叫做both inputinStr.对不起,这个混乱.

补充:我相信上面的代码有一点是正确的,到目前为止答案不是args不应该有任何初始空格.

regex cocoa command-line parsing objective-c

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

"stringWithString"vs"alloc ... initWithString ... autorelease"

我已经看到它声称以下"非常相同":

foo([NSString stringWithString:@"blah"])                       # version 1
foo([[[NSString alloc] initWithString:@"blah"] autorelease])   # version 2
Run Code Online (Sandbox Code Playgroud)

事实上,上述字面上是等同还是有任何微妙的差异?选择其中一个的原因是什么?

memory string cocoa objective-c

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

为什么看起来Perl正则表达式中的*不是贪婪的?

我希望这打印,"[b]"但它打印"[]":

$x = "abc";
$x =~ /(b*)/;
print "[$1]";
Run Code Online (Sandbox Code Playgroud)

如果用加号替换星号,它就像我期望的那样.是不是加号和明星都应该贪婪?

补充:感谢大家指出(在几秒钟内,似乎!)"b*"匹配空字符串,第一次出现在字符串开始之前.所以贪婪根本不是问题.它甚至在到达第一个'b'之前匹配空字符串.

regex perl

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

相当于LaTeX的\ label和HTML中的\ ref

我有一个HTML(例子)中的常见问题解答,其中的问题相互引用很多.这意味着无论何时插入/删除/重新排列问题,编号都会发生变化.LaTeX使用\ label和\ ref非常优雅地解决了这个问题 - 你给项目简单的标签和LaTeX担心在最终文档中转换为数字.

人们如何处理HTML中的问题?

增加:请注意,如果您不必按编号实际引用项目,则不会有问题,在这种情况下,您可以设置标记

<a name="foo">

然后链接到它

<a href="#foo">some non-numerical way to refer to foo</a>.

但我假设"foo"有一些自动生成的数字,比如从<ol>列表中说出来,我想用这个数字来引用并链接到它.

html documentation latex documentation-generation

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

有没有办法在没有运行浏览器的情况下测试Comet应用程序?

我正在尝试连接到使用Comet的应用程序,并且对Javascript和Comet非常重视.我已经走了尽可能远的Firebug,HTTP Header检查,并试图通过使用Ruby Mechanize编写一些内容来查看线路上的内容.

但是,由于我没有客户端运行时,我的方法是模仿来回的HTTP请求(使用Ruby Mechanize执行此操作).我正在查看日志并将它们与LiveHTTPHeader输出进行比较,它非常相似,但服务器没有响应(我无法访问服务器端代码).

有没有可以提供帮助的工具?有没有人尝试使用像Rhino这样的东西模拟DOM和Javascript运行时,还是只是要求痛苦?

ruby comet mechanize rhino

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

在PHP中解析属性/值列表

给定具有属性/值对的字符串,例如

attr1="some text" attr2 = "some other text" attr3= "some weird !@'#$\"=+ text"
Run Code Online (Sandbox Code Playgroud)

目标是解析它并输出一个关联数组,在这种情况下:

array('attr1' => 'some text',
      'attr2' => 'some other text',
      'attr3' => 'some weird !@\'#$\"=+ text')
Run Code Online (Sandbox Code Playgroud)

请注意等号周围的不一致间距,输入中的转义双引号以及输出中的转义单引号.

php regex parsing

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


网格中n个项目的平衡布局

我有一个要在网格中显示的n个徽标列表,每行最多3个.什么算法决定每行显示多少,以便每行的徽标数尽可能平衡而不使用超过最小可能行数?

例如:

 n -> number in each row
 1 -> 1
 2 -> 2
 3 -> 3
 4 -> 2, 2
 5 -> 3, 2
 6 -> 3, 3
 7 -> 3, 2, 2
 8 -> 3, 3, 2
 9 -> 3, 3, 3
10 -> 3, 3, 2, 2
Run Code Online (Sandbox Code Playgroud)

algorithm math

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

从Hold'd表达式中提取事物的Diciness

假设我有一个param-> value规则列表,其中params是可能赋值给它们的符号.例如:

{a, b, c} = {1, 2, 3};
x = Hold[{a->1, b->2, c->3}];
Run Code Online (Sandbox Code Playgroud)

我需要包含在Hold中的列表,否则它将评估为{1-> 1,2-> 2,3-> 3}.(如果能让其余部分变得更容易的话,我愿意接受任何替代方案.)

现在假设我想将x转换为:

{"a"->1, "b"->2, "c"->3}
Run Code Online (Sandbox Code Playgroud)

以下函数将执行此操作:

f[h_] := Block[{a,b,c}, ToString[#[[1]]]->#[[2]]& /@ ReleaseHold@h]
Run Code Online (Sandbox Code Playgroud)

我的问题:你能写一个f的版本,其中符号列表{a,b,c}不必明确提供吗?

wolfram-mathematica

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

显示具有指定有效位数的数字

我使用以下函数将数字转换为字符串以供显示(不要使用科学记数法,不要使用尾随点,指定圆形):

(* Show Number. Convert to string w/ no trailing dot. Round to the nearest r. *)
Unprotect[Round];   Round[x_,0] := x;   Protect[Round];
shn[x_, r_:0] := StringReplace[
  ToString@NumberForm[Round[N@x,r], ExponentFunction->(Null&)], re@"\\.$"->""]
Run Code Online (Sandbox Code Playgroud)

(注意,它re是.的别名RegularExpression.)

多年来我一直很好.但有时我不想指定要舍入的位数,而是我想指定一些有效数字.例如,123.456应显示为123.5,但0.00123456应显示为0.001235.

为了得到真正的幻想,我可能想要在小数点之前和之后指定有效数字.例如,我可能希望.789显示为0.8但是789.0显示为789而不是800.

对于这类事情,你有一个方便的实用功能,还是上面概括我的功能的建议?

相关:抑制尾随"." 数学输出来自Mathematica

更新:我试着在这里询问这个问题的一般版本:https:
//stackoverflow.com/questions/5627185/displaying-numbers-to-non-technical-users

utilities wolfram-mathematica

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