list - 使用参数评估 Racket 中的列表

标签 list parameters eval racket

我正在生成如下列表,其中包含运算符、数字和参数:

'(* (+ 3 param1) param2)

我想用不同的参数进行评估和测试。但仔细阅读后,如果我使用 eval 过程,我似乎无法在运行时更改这些值。

有没有一种干净的方法可以做到这一点?

最佳答案

这是一个替代方案,使用 quasiquoting :

(eval `(* (+ 3 ,param1) ,param2))

在上面的行中,两个参数将在运行时调用eval之前进行评估。例如:

(define param1 42)
(define param2 43)

(eval `(* (+ 3 ,param1) ,param2))
=> 1935

关于list - 使用参数评估 Racket 中的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32797147/

相关文章:

java - 迭代列表并允许它同时删除一个项目(不是迭代器)

python - 在列表理解中添加额外的项目

jQuery:UL选择只有 child 的父李

Java 更好的方法来编码这个简单的参数摄入?

javascript - 意外的标记)node js eval 函数

linq - SharePoint、List.Items 和 List.GetItems(Query) 和 Linq

powershell - PowerShell cmdlet参数列表中的if语句

使用 `in` 子句的 C# 参数化查询 MySQL

ruby - 不能将数组元素连接成一个字符串?

php - 如何评估用户提供的代码?