首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在Clojure字符串中执行函数?

在Clojure字符串中执行函数可以通过使用eval函数来实现。eval函数是Clojure中的一个内置函数,它可以接受一个字符串作为参数,并将其解析为Clojure代码进行执行。

以下是一个示例代码,演示了如何在Clojure字符串中执行函数:

代码语言:txt
复制
(defn add [x y]
  (+ x y))

(defn execute-function [function-str]
  (let [parsed-fn (eval (read-string function-str))]
    (if (fn? parsed-fn)
      (apply parsed-fn [1 2])
      (println "Invalid function"))))

(execute-function "(add 1 2)")

在上述代码中,我们定义了一个add函数,用于将两个数相加。然后,我们定义了一个execute-function函数,它接受一个字符串参数function-str,并使用eval函数将其解析为Clojure代码。如果解析后的结果是一个函数,我们就调用该函数并传入参数[1 2],否则输出"Invalid function"。

在调用execute-function函数时,我们传入了字符串"(add 1 2)",它表示调用add函数并传入参数1和2。执行结果将输出3。

需要注意的是,使用eval函数执行字符串中的代码存在一定的安全风险,因为它可以执行任意Clojure代码。因此,在实际应用中,应该谨慎使用eval函数,并确保只执行可信任的代码。

关于Clojure的更多信息和相关产品,您可以参考腾讯云的官方文档和网站:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Emacs 执行 Pyhton

在编写 org 的时候,发现 Python 的内容并不能很好的执行,而且生成的图片也不能正常显示,所以查询了一下资料,发现如果是 python 的话,需要按下面的形势处理: #+BEGIN_SRC python...,如果是想把 Python 生成的图片显示 org 文档里的话,就要选择 file ,如果是想显示执行的结果的话,就使用 output 。...:python 是用来指定解释器的, Mac 环境下,执行的时候,总是提示找不到 pandas 但是如果直接使用 python test.py 的话是能正常显示结果,可能是因为默认查找的 python2...:session 是特殊情况,有些时候需要调用方法的 return 使用 session 的话能直接使用,可以不必再单独返回了。...org 文档,输入 <pyt_ 输入 tab 键就可以自动补全成可用内容了。

1.2K10

Javascript eval函数名数组化执行字符串函数

Javascript eval() 某些情况下,传递函数名之后,接收的不是函数而是函数名的字符串类型。...eval() 方法—用来执行字符串代表的 javascript 代码,如果传递的不是字符串的话,会直接返回传值,而非调用。...param")'); //如果param是变量; var param = 'B'; eval('test(param)'); //会查找名为param的变量,如果找不到会抛出异常 字符串数组函数函数...默认执行一个js函数会有指定函数名,如果想同时执行多个相同函数但又不同内容的时候,需要将相应函数使用 js 的 eval() 转换为字符串函数后再执行 var arr = ['funcA(str)',...'funcB(str)']; //定义数组函数名 //遍历数组函数 for(var i=0;i《arr.length;i++){ let arrFunc = "function

6410

JS中统计函数执行次数与执行时间

假如想统计JS函数执行次数最多的是哪个,执行时间最长的是哪个,该怎么做呢? 1. 统计函数执行次数 2. 统计函数执行时间 3. 如何控制函数的调用次数 4....如何控制函数执行时间 一、统计函数执行次数 常规的方法可以使用 console.log 输出来肉眼计算有多少个输出 不过Chrome内置了一个 console.count 方法,可以统计一个字符串输出的次数...不带参数则为 default 值,否则将会输出该字符串执行次数,观测起来还是挺方便的 当然,除了输出次数之外,还想获取一个纯粹的次数值,可以用装饰器将函数包装一下,内部使用对象存储调用次数即可 var...{ } console.timeEnd(); // default: 1.77197265625ms 不传入参数的话,将以default输出毫秒值 我们可以封装一下,传入函数名称,类似上面的做法,使用装饰器函数执行前后进行处理...因为JS是单线程的,控制函数执行时间相对来说挺麻烦 通过 async await yield 等异步特性,也许还是能办到的 React 16的 Fiber 机制,某种意义上是能控制函数执行时机

3.6K30

javascript如何将字符串转成变量或可执行的代码?

有这样一个需求:当前作用域内有未知的一些变量,其中一个函数可以拿到某个变量名字符串,怎么能在函数内通过传进来的字符串取到作用域链的变量值,示例小 demo 如下: const name = '周小黑...' const age = 18 /** * @param {String} e 变量名字符串 * @returns value 通过变量名字符串作用域链取到的变量值 */ function...return value } const str = fn('name') 要解决上面的问题,主要就是怎么将字符串转变成可执行的代码?...主要有三种方式: eval() 函数 eval() 函数会将传入的字符串当做 JavaScript 代码进行执行,所以下面的字符串可以正确取到变量对应的值,eval 对比 new Function 和...setTimeout 定时器 setTimeout 的第一个参数我们平时都是传一个函数,它其实也是可以传字符串进去的,浏览器是可以正常执行的,node环境中会报错。

28430

执行函数改变 this 的指向以及方法

执行函数改变 this 的指向以及方法 最开始还想把这个笔记名字改成 bind apply call 之前的区别,但是,想了想记录笔记还是要从原因开始,再到为什么再到怎么做。...所以,还是改成 执行函数改变 this 的指向以及方法。 改变 this 的指向的方法和执行 bind,apply,call 都是执行函数时,用来改变 this 的指向。...为什么需要改变这个 this 的指向 需要改变这个 this 的指向,是因为原来的 this 被污染了,需要重新再进行 this 指向,因为,this 指向的是被调用的父级作用域,而如果函数另一个函数里面执行的时候...Fighter 执行 Plane 同时 将 Plane 的指向 ,指向 Fighter 。...那么,Plane 的 this 就指向了 fighter ,更简单的理解就是,这个时候 Plane 的函数体放在了 Fighter ,也就是继承。

1.1K61

pandas字符串处理函数

pandas,通过DataFrame来存储文件的内容,其中最常见的数据类型就是字符串了。针对字符串,pandas提供了一系列的函数,来提高操作效率。...这些函数可以方便的操作字符串类型的Series对象,对数据框的某一列进行操作,这种向量化的操作提高了处理效率。pandas字符串处理函数以str开头,常用的有以下几种 1....判断是否包含子字符串 通过str.contain函数来实现局部查找,类似re.search函数,用法如下 >>> df = pd.DataFrame(['A_1_1', 'B_2_1', 'C_3_1'...提取子字符串 通过str.extract和str.extractall函数来实现,用法如下 >>> df = pd.DataFrame(['A_1_1', 'B_2_1', 'C_3_1', 'D_4_...,完整的字符串处理函数请查看官方的API文档。

2.8K30

Java并发之ScheduledThreadPoolExecutorExecutor延时执行任务Executor周期的执行任务

Executor延时执行任务 Executor周期的执行任务 ScheduledExecutorService类顾名思义,就是可以延迟执行的Executor。...Executor延时执行任务 Task类 package ScheduledThreadPoolExecutor; import java.util.Date; import java.util.concurrent.Callable...周期的执行任务 Executor框架通过并发任务而避免了线程的创建操作。...当任务结束之后,这个任务就会从Executor删除,如果想要再次执行这个任务,就需要再次将这个任务发送给Executor。...Executor框架,提供了ScheduledThreadPoolExecutor来提供任务的周期性执行的功能 Task类: package ScheduledThreadCycle; import

1.6K10

指针函数的作用

指向函数的指针 指针变量也可以指向一个函数。一个函数在编译时被分配给一个入口地址,这个函数入口地址被称为函数的指针。可以用一个指针变量指向函数,然后通过该指针变量调用此函数。...,调用pfun函数指针,就和调用函数avg一样。...从函数返回指针 当我们定义一个返回指针类型的函数时,形式如下: int *fun(参数列表) { ……; return p; } p是一个指针变量,它可以是形式如&value的地址值。...指针数组 数组的元素均为指针变量的数组称为指针数组,一维指针数组的定义形式为: 类型名 *数组名 [数组长度]; 类如: int *p[4]; 指针数组的数组名也是一个指针变量,该指针变量为指向指针的指针...指针数组的元素可以使用指向指针的指针来引用。

2.8K20

Python执行二分查找

标签:Python,二分查找 本文将展示二分查找算法的工作原理,并提供完整的示例代码,帮助你Python执行自己的二分查找。...需要注意的是,使用二分查找算法查找数组的项目之前,数组或列表必须按升序排序。 下面是一个例子。假设要在初始化已排序的nums列表查找整数15。...二分查找算法Python的实现 下面是Python实现自己的二分查找算法需要执行的步骤: 1.初始化三个变量:开始索引、结束索引和中间索引。...下面的脚本Python实现了二分查找算法。该脚本nums列表查找项目15。...例如,下面的脚本实现了一个名为bin_search()的函数,该函数接受输入数组和要在数组查找的项。如果找到该项,则该函数返回该项的索引。否则,该函数将返回None。

2.3K40

DNS远程调用执行的应用

登录功能所在的服务器成功执行,这个是一个可以执行命令的演示,如果这里的exp是一个echo "testtest" | passwd --stdin root,则有概率修改机器的root密码,如果是一个reboot...自己的设备上执行,可以看到我设备本身的DNS的外网递归出口为27.40.22.150的IP地址; image.png image.png 二、实现原理 image.png     当我们...dnslog.cn提供的随机子域名的请求打印功能,可以很快的验证远程命令是否正常执行,以便给黑白帽子做判断是否进行下一步操作;  那么基于此原理,还能做什么?...三、其他场景探讨        如果我们现在是某个域名权威服务器的管理员,那么我们可以知道来自该域名的所有的请求,也就是上面图中的第四步;那么当我发现某个环境具备远程命令执行但是没有回显的时候,我除了想很快的验证下外...,我还想知道是什么角色之下,执行下whoami命令,显然是OK的,并且ceye提供的子域名TTL是1s,也就是大部分的请求日志都会记录在权威; image.png image.png    这样带来的可玩性就比较多了

5.9K240

Sql语句Mysql执行流程

Server 层:主要包括连接器、查询缓存、分析器、优化器、执行器等,所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图,函数等,还有一个通用的日志模块 binglog 日志模块。...连接建立后,执行查询语句的时候,会先查询缓存,MySQL 会先校验这个 sql 是否执行过,以 Key-Value 的形式缓存在内存,Key 是查询预计,Value 是结果集。...当然真正执行缓存查询的时候还是会校验用户的权限,是否有该表的查询条件。             ...MySQL 查询不建议使用缓存,因为查询缓存失效实际业务场景可能会非常频繁,假如你对一个表更新的话,这个表上的所有的查询缓存都会被清空。...所以,一般大多数情况下我们都是不推荐去使用查询缓存的。

4.6K10

Python定义Main函数

本文结束时,您将了解以下内容: 什么是特殊的name变量以及Python如何定义它 为什么要在Python中使用main()函数 Python定义main()函数有哪些约定 main()函数应该包含哪些代码的最佳实践...Python的基本main()函数 一些Python脚本,包含一个函数定义和一个条件语句,如下所示: 此代码,包含一个main()函数程序执行时打印Hello World!。...此外,还包含一个条件(或if)语句,用于检查name的值并将其与字符串"main"进行比较。当if语句为True时,Python解释器将执行main()函数。...请记住,Python,使用单引号(')和双引号(")定义的字符串没有区别。更多关于字符串的内容请参考Python的基本数据类型。 如果在脚本包含"shebang行"并直接执行它(....导入过程,Python执行指定模块定义的语句(但仅在第一次导入模块时)。

3.8K30
领券