我试图从 获得输出“1*2*4*5” (function(x) Reduce(paste0(toString("*")),x))(c(1,2,4,5)),但无论我如何操作 Reduce、paste0 和星号,我要么收到错误消息,要么将星号视为乘法(给出 40 )。我哪里错了?
考虑以下愚蠢的输入和输出:
> names(function(x) x*x)<-"square"
Error in names(function(x) x * x) <- "square" :
target of assignment expands to non-language object
Run Code Online (Sandbox Code Playgroud)
隐含地,这个错误表明它function(x) x * x是一个对象,但是一个非语言对象。然而,文档names()说它允许“一个 R 对象”作为它的输入,这与这个前提相矛盾。此外,语言定义说“在 R 中函数是对象”,这进一步混淆了问题。最后,is.object(function(x) x * x)返回FALSE,但我认为这是出于课堂原因。
我的问题是:什么是对象,为什么names()将其function(x) x * x视为不是对象?
我最近做了一些挖掘。由于我缺乏 Lisp 经验,我想验证一下我的发现。这是对 Scheme、Racket、Common Lisp 和 Clojure 中方括号行为的正确描述吗?
FORMAT控制字符串中。Common Lisp 的 LOOP 宏因其在循环方面无所不能而臭名昭著。尽管如此,while循环还是有点困难。的特殊情况while true,即无限循环,是一个例外吗?也就是说,Common Lisp 是否为无限循环提供任何语法糖?
我试图在网上找到类似的东西但失败了。本食谱建议创建一个循环列表,然后告诉 LOOP 宏对该无限列表中的每个元素执行某些操作。这显然是有效的,但它不是任何语法糖。作为比较,R 语言允许用户编写while(TRUE){...}为repeat{...}. 这就是我心目中的语法糖。
注意:尽管我很喜欢看到 Lisp 宏,但我并不要求任何人repeat在 Common Lisp 中实现。我想从一开始就知道该语言中已有的内容。
我显然误解了批处理和会话之间的区别。我相信三件事不能同时为真:
GO 标志着一批的结束。@t应该超出范围declare @t table (id int)
insert into @t values (1)
select * from @t
GO
select * from @t
Run Code Online (Sandbox Code Playgroud)
显然我弄错了一些事情,但是什么?
对于与在 R 中处理数据相关的任何事情,我最近看到 tidyverse 被推荐为几乎必不可少的。这就提出了一个问题——如果它只是被大肆宣传,是否有任何理由不使用它?例如,tidyverse 中的框架是否有任何值得一提的限制?
Lisp 社区中最大的分歧之一是我们是否应该拥有carandcdr或firstand rest。一个传统的优势car和cdr是我们可以结合他们产生像pronoucible功能cdaddr。不使用carand 的Lisps cdr,例如 Clojure,通常如何与firstand形成这样的组合rest?有没有共识?
据我所知,除了简化之外,可以mapply用Map. 毕竟,Map是mapply. 但是,我很惊讶地看到它mapply需要一...组参数(文档称之为“要向量化的参数(严格为正长度的向量或列表,或所有长度为零) ”)和MoreArgs所需函数顶部的参数f,Map而不使用MoreArgs, 只需要...(文档称之为“向量”)和f.
我的问题是:为什么mapply需要MoreArgs但Map不需要?能做不能mapply做的事Map吗?或者是mapply试图让一些更容易的事情变得更难Map?如果是这样,那又怎样?
我怀疑这sapply可能是答案的有用参考点。这可能有助于它的比较X,FUN以及...参数mapply的...和MoreArgs。
我的控制台告诉我,-0回报0和这两个c(1:5)[0]和c(1:5)[-0]回报integer(0)。R 这是否意味着 R 没有“负零”的概念?
library(stringr)
replacements <- c("A" = "a", "B" = "b", "C" = "c", "D" = "d", "E" = "e",
"F" = "f", "G" = "g", "H" = "h", "I" = "i", "J" = "j",
"K" = "k", "L" = "l", "M" = "m", "N" = "n", "O" = "o",
"P" = "p", "Q" = "q", "R" = "r", "S" = "s", "T" = "t",
"U" = "u", "V" = "v", "W" = "w", "X" = "x", …Run Code Online (Sandbox Code Playgroud) r ×6
clojure ×2
common-lisp ×2
lisp ×2
apply ×1
attributes ×1
cdr ×1
cons ×1
expression ×1
integer ×1
list ×1
mapping ×1
mapply ×1
object ×1
scheme ×1
sql-server ×1
string ×1
stringr ×1
t-sql ×1
tidyverse ×1
while-loop ×1
zero ×1