我在我的代码中设置了符号,如:
"name_of_symbol".to_sym
Run Code Online (Sandbox Code Playgroud)
但是,我的主要工程师在代码审查期间选择了它作为一种不好的做法,并要求我设置如下符号:
:"name_of_symbol"
Run Code Online (Sandbox Code Playgroud)
当我问他为什么?他说这是不好的做法,但当我问他说的是什么原因时,这并不是一个令人满意的答案.所以怎么回事?有什么不同吗?
我试图将红宝石程序转换为水晶.
而我却被遗忘了 string.to_sym
我有一个大的xml文件,它太大而不适合内存.所以解析它是不可能的.幸运的是,我不需要所有信息,只需要一部分信息.所以我自己解析它,删除大部分行.我以前用来String::to_sym存储数据,如下所示:
:param_name1 => 1
:param_name2 => 11
:param_name1 => 2
:param_name2 => 22
:param_name1 => 3
:param_name2 => 33
Run Code Online (Sandbox Code Playgroud)
我应该在水晶中使用什么?记忆是瓶颈.我不想param_name1多次存储.
我是 Lisp 的新手。我想使用这样的字符串变量从属性列表中访问特定属性
(setf sym (list :p1 1))
(setf x "p1")
(getf sym :x)
Run Code Online (Sandbox Code Playgroud)