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

从Lisp中的字符串创建变量名称

从Lisp中的字符串创建变量名称是一个常见的编程任务,可以使用intern函数来实现。intern函数可以将一个字符串转换为一个符号,然后可以使用set函数将该符号作为变量名称来设置变量的值。

以下是一个简单的示例:

代码语言:lisp
复制
(defun create-variable-from-string (str value)
  (let ((symbol (intern str)))
    (set symbol value)
    symbol))

(create-variable-from-string "my-variable" 42)

在这个示例中,create-variable-from-string函数接受一个字符串str和一个值value作为参数,然后使用intern函数将字符串转换为一个符号,并使用set函数将该符号作为变量名称来设置变量的值。最后,该函数返回创建的符号。

需要注意的是,使用intern函数创建的符号默认是在COMMON包中创建的,如果需要在其他包中创建符号,则需要使用:package选项来指定包名称。

此外,使用intern函数创建的符号默认是动态的,即可以随时被修改。如果需要创建一个不可修改的符号,则需要使用defconstantdefparameter函数来定义一个常量或参数。

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

相关·内容

Java入门到精通六(java字符串变量String,StringBuilder,StringBuffer)

Java入门到精通六(javaString,StringBuilder,StringBuffer) 一: String 1:String数据类型 2:String 在静态数据区和堆区(动态存储区之一...关于堆栈一点点普及,可以参考java堆与栈 2:String 在静态数据区和堆区(动态存储区之一)创建对象区别 String 在创建对象如果是在静态存储区,如果两次创建对象值是一样,那么地址是一样...("起始位置为;"+index); //9:后向前查找指定字符或者字符串字符串第一次出现位置 int last_index = s.lastIndexOf...int indexOf(String str) 返回指定子字符串第一次出现字符串索引。...int indexOf(String str, int fromIndex) 指定索引处开始,返回指定子字符串第一次出现字符串索引。

1.4K30
  • C++11模板:如何判断类是否有指定名称成员变量?

    《C++11之美》 《C++模板,判断是否存在成员函数,实现差异化操作 》 我现在关心是如何判断一个类中有成员变量?...成员变量有可能是数组,也可能是其他类。...看了上面关于判断成员函数文章,理解其原理后,判断是否成员变量,也是差不多道理,实现起来非常简单: /* 模板函数,检查T是否有名为's'成员 * value 为bool型检查结果 * type...std::is_void::value}; }; 上面这个模板是用来检查类是否有名为s成员, 以openclcl_int2向量类型举例,下面是cl_int2定义: /* ---...但是对于数组类型变量,上面的写法,在gcc下编译能通过,但运行结果错误。 大概gcc认为返回值不能是int[2]这样数组,只能是指针。

    4.2K10

    Androidactivity创建到显示基本介绍

    前言 说道AndroidActivity,如果你做过iOS开发的话,Activity类似于iOSViewController(视图控制器)。在应用能看到东西都是放在活动。...活动是安卓开发比较重要东西,是用户交互和数据入口。本篇博客要介绍内容是活动创建,活动跳转与值透传。...iOSViewController也是有自己生命周期,了解Activity或者ViewController生命周期是很有必要,本文将详细给大家介绍关于Androidactivity创建到显示相关内容...Activity创建 Activity创建以及初始化过程是在ActivityThread#performLaunchActivity方法,在这个方法,有以下几个关键点, 创建Activity...PhoneWindow创建对于我们后面的操作很重要。

    1.5K20

    Python0到100(三):Python变量介绍

    字符和字符串表示法相同) print(ord('a')) # 97 变量作用域 在Python变量作用域是指变量可以被访问范围。...每个代码块都有它自己作用域,当Python解释器在执行代码块时,会创建一个新作用域,当代码块执行完毕时,这个作用域就被销毁了。...特殊变量 Python 中有一些特殊变量,它们有着特定作用,包括: name:这是一个特殊变量,它会在每个Python文件自动创建。...file:这个变量包含当前模块文件名(包括路径),如果模块是在内存创建,则该变量值为None。 builtins:这个变量包含Python内置函数和变量名称空间。...总之,Python变量是一个基本概念,用于存储数据。Python变量命名需要遵循一定规则,可以使用赋值语句创建变量,支持多个变量指向同一个对象,支持变量类型动态转换。

    16510

    如何 Python 字符串列表删除特殊字符?

    Python 提供了多种方法来删除字符串列表特殊字符。本文将详细介绍在 Python 删除字符串列表特殊字符几种常用方法,并提供示例代码帮助你理解和应用这些方法。...然后,我们使用列表推导式和字符串函数来过滤掉特殊字符,并创建一个新列表。...示例列举了一些常见特殊字符,你可以根据自己需要进行调整。这种方法适用于删除字符串列表特殊字符,但不修改原始字符串列表。如果需要修改原始列表,可以将返回新列表赋值给原始列表变量。...如果需要修改原始列表,可以将返回新列表赋值给原始列表变量。结论本文详细介绍了在 Python 删除字符串列表特殊字符几种常用方法。...希望本文对你理解如何 Python 字符串列表删除特殊字符有所帮助,并能够在实际编程得到应用。

    8K30

    零学习python 】28. Python局部变量和全局变量

    ,把你、我是当做成函数,把局部变量理解为每个人手里手机,你可有个iPhone8,我当然也可以有个iPhone8了, 互不相关) 局部变量作用,为了临时保存数据需要在函数定义变量来进行存储 当函数调用时...,局部变量创建,当函数调用完成后这个变量就不能够使用了 如下图所示: 全局变量 如果一个变量,既能在一个函数中使用,也能在其他函数中使用,这样变量就是全局变量 打个比方:有2个兄弟 各自都有手机...() 运行结果: 总结1: 在函数外边定义变量叫做全局变量 全局变量能够在所有的函数中进行访问 全局变量和局部变量名字相同问题 看如下代码: 总结2: 当函数内出现局部变量和全局变量相同名字时,函数内部...change_global_variable() print(a) # 输出200 总结3: 如果在函数中出现global 全局变量名字 那么这个函数即使出现和全局变量名相同变量名 = 数据 也理解为对全局变量进行修改...,而不是定义局部变量 如果在一个函数需要对多个全局变量进行修改,那么可以一次性全部声明,也可以分开声明。

    17310

    Python程序创建子进程时对环境变量要求

    首先,来看下面一段代码,在主进程重新为os.environ赋值,但在子进程并不会起作用,子进程中使用仍是系统全部环境变量。 ? 运行结果: ?...在Python,为变量重新赋值实际上是修改了变量引用,这适用于任意类型变量。对于列表、字典、集合以及类似的可变类型对象,可以通过一定形式改变其中元素引用而不改变整个对象引用。...os.environ是一个类似于字典数据结构,这里以字典为例,字典可以通过pop()、popitem()、clear()、update()以及下标赋值等原地操作方法或操作来修改其中元素而不影响字典对象引用...在主进程清空了所有环境变量,然后创建子进程失败并引发了异常。...以Windows操作系统为例,创建子进程时会调用API函数CreateProcessA,该函数要求环境变量至少要包含SYSTEMROOT,否则调用另一个函数CryptAcquireContext时会失败

    2.3K30

    在Bash如何字符串删除固定前缀后缀

    更多好文请关注↑ 问: 我想从字符串删除前缀/后缀。例如,给定: string="hello-world" prefix="hell" suffix="ld" 如何获得以下结果?...如果模式与 parameter 扩展后开始部分匹配,则扩展结果是 parameter 扩展后删除最短匹配模式(一个 # 情况)或最长匹配模式(## 情况)值 ${parameter...如果模式与 parameter 扩展后末尾部分匹配,则扩展结果是 parameter 扩展后删除最短匹配模式(一个 % 情况)或最长匹配模式(%% 情况)值。...e "s/$suffix$//" o-wor 在sed命令,^ 字符匹配以 prefix 开头文本,而结尾 匹配以 参考文档: stackoverflow question 16623835...在Bash如何将字符串转换为小写 在shell编程$(cmd) 和 `cmd` 之间有什么区别 如何Bash变量删除空白字符 更多好文请关注↓

    45410

    Python 按规则解析并替换字符串变量及函数

    按规则解析并替换字符串变量及函数 需求 1、按照一定规则解析字符串函数、变量表达式,并替换这些表达式。...__打头 ${ 之间不能有空格 函数名称和函数左括号 ( 之间不能有空隔 函数支持嵌套,形如:{ __function1( {__function2()} )} 函数参数如果是字符串(包括由嵌套函数返回值...) # 用于获取动态值变量表达式 REGEX_PATTERN_FOR_FUNC_DEFINITION = re.compile('\${\s*__.+?...\)\s*}', re.DOTALL) # 用于获取函数表达式函数名称及其参数 REGEX_PATTERN_FOR_FUNC_NAME_WITH_ARGS = re.compile('\${\s*(...\)\s*}', re.DOTALL) # 用于获取函数表达式函数名称及其参数 def test_func1(): print('-----func1 called-----') def

    30740

    GEE python:按照矢量几何位置、属性名称字符串去筛选矢量集合

    要按照矢量几何位置去筛选矢量集合,您可以使用空间查询或选择工具。以下是一些示例: 空间查询工具:许多GIS软件都具有空间查询工具,可帮助您筛选矢量。...您可以使用矩形选择工具、圆形选择工具或多边形选择工具选择特定区域矢量。还可以使用空间查询语言(例如SQL)编写复杂查询来识别满足特定条件矢量,例如在指定距离内点或多边形。...使用地图编辑器:一些GIS软件具有地图编辑器,其中包括选择和编辑矢量工具。这些工具可帮助您在地图上选择特定区域矢量,并进行编辑或删除。...这里需要明确一点就是这里Filed就是我们集合属性名称,value就是值,这里一般会设定,按照名称或者是属性值后缀来筛选 Arguments: leftField (String, default...Returns: Filter 按照字符串去筛选: # Add Earth Engine dataset #!

    22510

    bash shell参数展开(Shell Parameter Expansion):替换变量(variable)字符串

    在写bash shell脚本时,如果遇到要替换变量字符串,首先想到就是用sed命令,比如下面的示例将变量str数字123替换成UUU: $ str=hello,word,123 $ echo...$str | sed -E -e 's/[0-9]/U/g' hello,word,UUUU 上面的例子中用到echo,sed两个命令来实现字符串替换,略显麻烦 其实bash提供了更简单语法来实现上面的功能...,按照{parameter/pattern/string}模式可以简单的如下替换 {parameter/pattern/string}格式说明: 参数名 说明 parameter 变量名 pattern...匹配模板(类似正则表达式),据此查找要匹配字符串 string 对满足pattern匹配条件字符串进行替换字符串 pattern 格式参见 《Pattern-Matching》 https..., 关于《Shell参数展开》官方文档中提供了远比上面内容更丰应用方式,建议看看原文档你能找到更多有用技巧。

    3.8K20

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

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

    78030

    Xcode修改变量名、类名及字符串替换操作

    Xcode修改变量名、类名及字符串替换操作         在做iOS开发代码优化工作时,优化代码结构之前,我们应该先整理好工程外貌,将文件和类命名进行规范,在Xcode为我们提供了方便而强大名称修改功能...第一步:修改类名         将鼠标点击放在类名称上,选择Xcode工具栏edit->refactor->rename: ?...第二步 修改相关字符串:         通过第一步,我们文件名,类名都已经更改,但并不全面,因为某些注释,字符串动态创建类对象以及类函数创建类对象时类名并没有更改,我们需要做这一步,将更改前类名在...        Ending with:检索出以检索条件结尾对象 我们选择Matching,进行检索,将检索出来地方进行Replace替换,通过这一步,我们可以替换代码注释,字符串,类方法以及...第三步:修改文件变量名         在文件,我们也可以通过command+F换出搜索框,将Find改选为Replace检索进行我们想要变量替换。

    2.3K20

    如何使用Python装饰器创建具有实例化时间变量新函数方法

    1、问题背景在Python,我们可以使用装饰器来修改函数或方法行为,但当装饰器需要使用一个在实例化时创建对象时,事情就会变得复杂。...例如,我们想要创建一个装饰器,可以创建一个新函数/方法来使用对象obj。如果被装饰对象是一个函数,那么obj必须在函数创建时被实例化。...如果被装饰对象是一个方法,那么必须为类每个实例实例化一个新obj,并将其绑定到该实例。2、解决方案我们可以使用以下方法来解决这个问题:使用inspect模块来获取被装饰对象签名。...11794592myfunc2Sig of myfunc2 is 11794592myfunc3Sig of myfunc3 is 11925144myfunc3Sig of myfunc3 is 11925144在这个示例,...请注意,这种解决方案只适用于对象obj在实例化时创建情况。如果obj需要在其他时间创建,那么您需要修改此解决方案以适应您具体情况。

    8910
    领券