几年前我发现了这段代码。
我理解这段代码的作用但不知道如何。
任何人都可以解释一下*
和?
在做什么吗?我以前没见过这样的用法。
myarr = [*?a..?z] #generates an array of strings for each letter a to z
myarr = [*?a..?z] + [*?0..?9] # array of strings a-z and 0-9
答案 0 :(得分:4)
var book = db.Books.Single(d => d.BookId == id);
this.Title = book.Title;
this.PageCount = book.PageCount;
...
只是一个字符文字语法,它曾经在ruby中具有特殊含义< 1.9,但现在?
与执行?a
然后"a"
正在创建Range,..
只会将其展开到参数列表中,*
[
对将其转换为数组。< / p>
希望我的google-fu足以获得一些不错的文档链接或解释,但搜索这些链接非常困难。
已更新:]
实际上与前面提到的?a
而非"a"
相同。要查看此运行(留下IRB标签以帮助说明正在发生的事情):
'a'