小编Ken*_*Ken的帖子

foreach with index

是否有C#相当于Python enumerate()和Ruby each_with_index

c# foreach

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

Common Lisp中的LET与LET*

我理解LET和LET*之间的区别(并行与顺序绑定),作为理论问题,它非常有意义.但有没有你真的需要LET的情况?在我最近看过的所有Lisp代码中,您可以用LET*替换每个LET而不做任何更改.

编辑:好的,我理解为什么有些人发明了LET*,大概是作为一个宏,回归的时候.我的问题是,鉴于LET*存在,是否有理由让LET留在身边?您是否编写了任何实际的Lisp代码,其中LET*不能像普通的LET那样工作?

我不买效率论证.首先,认识到LET*可以编译成像LET一样高效的情况,这似乎并不难.其次,CL规范中有很多东西似乎根本就不是围绕效率而设计的.(当你最后一次看到带有类型声明的循环时?那些很难弄清楚我从未见过它们使用过.)在20世纪80年代后期的Dick Gabriel基准测试之前,CL 非常缓慢.

看起来这是另一种向后兼容的情况:明智的是,没有人愿意冒险破坏像LET那样基本的东西.这是我的预感,但是听到没有人有一个我丢失的愚蠢简单的案例令人欣慰,因为LET比LET*更容易让事情变得简单.

lisp common-lisp

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

是否有C#的CSS解析器?

我的程序需要将css文件解析为内存中的对象格式.关于如何做到这一点的任何建议?

css c# parsing

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

如何在Emacs Lisp中"解码"一个字符串?

我有一个像"foo%20bar"的字符串,我想要"foo bar".

我知道必须有一个内置函数来解码Emacs Lisp中的URL编码字符串(查询字符串),但对于我的生活,我今天无法在我的lisp /文件夹或google中找到它.

有谁记得它叫什么?

url emacs elisp urlencode urldecode

22
推荐指数
4
解决办法
6517
查看次数

如何在C#中将int格式化为货币?

我想在C#中将int格式化为货币,但没有分数.例如,100000应为"$ 100,000",而不是"$ 100,000.00"(100000.ToString("C")给出).

我知道我可以使用100000.ToString("$#,0")执行此操作,但这是$ -specific.有没有办法用货币("C")格式化器?

c# formatting currency

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

Common Lisp函数是否返回3个值?

任何Common Lisp(内置)函数是否返回超过2个值?我知道许多人返回2,但我想不到一个返回3.

(我在这里看到关于返回超过2个值的评论,并试图想到CL做到这一点的情况,但不能.)

common-lisp return-value

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

C#中的uniq

是否有一种简单的方法可以从C#中的字符串列表中仅获取唯一值?我的google-fu今天失败了.

(我知道我可以将它们放在另一个结构中并再次将它们拉出来.我正在寻找愚蠢的容易,就像Ruby的.uniq方法一样.C#还有其他所有的血腥,所以我可能只是使用了错误的同义词.)

具体来说,这是来自Linq,所以如果Linq有一种内置方式来选择唯一的字符串,那就更酷了.

c# list unique

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

XmlWriter只转义一种引用

这是一些C#代码:

var sb = new StringBuilder();
var w = XmlWriter.Create(sb);
w.WriteStartElement("hello");
w.WriteAttributeString("target", "world ' \" !");
w.WriteEndElement();
w.Flush();
// then look at sb.ToString()
Run Code Online (Sandbox Code Playgroud)

我得到的字符串看起来像:

 <?xml version="1.0" encoding="utf-16"?><hello target="world ' &quot; !" /> 
Run Code Online (Sandbox Code Playgroud)

它只是逃避双引号,而不是单引号.但是XmlWriter.WriteAttributeString(String,String)的文档说:

如果属性值包括双引号或单引号,则将它们替换为" 和 分别.

我需要设置一些标志,以使其按照文档所说的那样做吗?

c# xmlwriter escaping

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