标签: evaluation

强制评估作为参数传递给函数的对象

我想将对象的值作为参数传递给函数。

# This is my object
anObject <- "an_unkown_string"

# I would like to do the equivalent of: 
someFunc("an_unkown_string")

# .. by somehow calling on the object containing the string
someFunc( ??? (anObject) )
Run Code Online (Sandbox Code Playgroud)

例如,使用下面的示例函数(基于save()):

someFunc <- function(...) {
  names <- as.character(substitute(list(...)))[-1L]
  return(names)
}

# Ideally, the output would be:
someFunc( ??? (anObject) )
[1] "an_unkown_string"
Run Code Online (Sandbox Code Playgroud)

我无权修改someFunc 我已尝试以下操作,但没有成功。

 someFunc(Name_of_Object)
 someFunc(eval(Name_of_Object))
 someFunc(evalq(Name_of_Object))
 someFunc(force(Name_of_Object))
 someFunc(eval(parse(text=Name_of_Object)))
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏。

evaluation eval r

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

在 R 中创建作用域表达式以清理中间变量

这是在 R 中创建作用域表达式的合适方法,即封装命令,其变量在评估后被消除。

我现在使用的方式涉及使用with():

> with(data.frame(), {foo <- 5; bar <- 6; foo + bar})
[1] 11
> foo
Error: object 'foo' not found
Run Code Online (Sandbox Code Playgroud)

但这显然是一个黑客。

(顺便说一句,如果您传递c()而不是data.frame()to with(),则新变量实际上最终会出现在父环境中;不知道为什么)

evaluation scope r

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

如何在python中使用人类可读单元评估数学表达式?

有没有办法从包含人类可读数字单位的字符串中计算表达式?

例如:

myformula='1u+1e-6'
result = eval(myformula)
Run Code Online (Sandbox Code Playgroud)

......应该等于1e-6+1e-6(其中u = micro).

python evaluation expression units-of-measurement

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

从对象列表中,获取其名称的字符向量

我有一个函数,它将函数列表作为参数.

library(moments)
library(plyr)
tests <- list(mean, varience, skewness, kurtosis)
f <- function(X, tests){
  out   <- each(... = tests)(X)   #each from plyr
  names(out) <- GetNames(tests)
  out
}
Run Code Online (Sandbox Code Playgroud)

我想GetNames获取对象列表,在本例中为函数,并将对象的名称作为文本返回.理想情况下,我想GetNames使用任何命名对象列表:

> GetNames(tests)
[1] "mean"     "varience" "skewness" "kurtosis"
Run Code Online (Sandbox Code Playgroud)

as.character(tests) 返回每个函数的代码文本,而不是它们的名称.

我试过了:

GN <- function(X) deparse(substitute(X))
GetNames <- function(X) lapply(tests, GN)
GetNames(tests)
Run Code Online (Sandbox Code Playgroud)

但这回归:

[[1]]
[1] "X[[i]]"

[[2]]
[1] "X[[i]]"

[[3]]
[1] "X[[i]]"

[[4]]
[1] "X[[i]]"
Run Code Online (Sandbox Code Playgroud)

在编写R代码时,我经常遇到这个问题的一些版本.我想要一个函数来评估它的参数的一些步骤,这里从tests它的对象的名称开始一步,然后停止并让我对结果做一些事情,这里将它们转换为字符串,而不是继续得到所指的对象我可以抓住它们之前的名字(名字).

evaluation scope r names substitution

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

PHP IF语句评估和服务器开销

我很好奇当评估PHP if语句时对服务器的影响是什么,即内存消耗和CPU使用率,以及这是否会成为流量增长时的主要问题?

例如,如果我在WordPress博客上的每个帖子摘要的主题中使用了很多PHP IF语句,那么如果主页开始获得高流量,这将需要更多的服务器资源吗?并且,在列出许多帖子的页面(即类别页面)上,似乎这可能成为一个问题.

我认为削减在流量激增时并非绝对必要的IF语句可能是个好主意.或者,这甚至是我担心的事情吗?

php optimization evaluation overhead

-2
推荐指数
1
解决办法
527
查看次数

c 如何评估小于和大于表达式?

我想知道这段C语言代码中的i是如何计算的?

    int x = 10, y = 20, z = 5, i;
    i = x < y < z;
    printf("%d\n",i);
Run Code Online (Sandbox Code Playgroud)

c evaluation relational-operators

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

空语句的计算结果是什么?

我的一个非常好的问题是:在 JavaScript 中,空语句的计算结果是什么?

\n

这是空语句:

\n

;

\n

...如果我评估它,我会得到undefined。

\n

\r\n
\r\n
console.log(eval(\';\')) // \'undefined\'
Run Code Online (Sandbox Code Playgroud)\r\n
\r\n
\r\n

\n

然而,这是另一个空语句(在包含数字文字的语句之后):

\n

1;;

\n

...然而这似乎评估为1.

\n

\r\n
\r\n
console.log(eval(\'1;;\')) // \'1\'
Run Code Online (Sandbox Code Playgroud)\r\n
\r\n
\r\n

\n

这让我很惊讶。

\n

那么,空语句的计算结果是什么?

\n

我注意到规范说空语句返回“ empty”。我还不知道这意味着什么。

\n

规范还说:

\n
\n

当使用术语 \xe2\x80\x9cempty\xe2\x80\x9d 来命名一个值时,它相当于说 \xe2\x80\x9cno 任何类型的值 \xe2\x80\x9d。

\n
\n

因此,空语句返回“没有任何类型的值”。这意味着它无法返回undefined(这是 type 的值Undefined)。我不确定这如何映射到用户态代码。

\n

javascript evaluation undefined

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