用Ruby表达这个语句的正确方式是什么?
我在这方面是新手,我很难找到合适的方式用Ruby来表达。我不知道SketchUp中的Ruby API是否不同。但是,这就是我想用它的目的用Ruby表达这个语句的正确方式是什么?,ruby,code-formatting,Ruby,Code Formatting,我在这方面是新手,我很难找到合适的方式用Ruby来表达。我不知道SketchUp中的Ruby API是否不同。但是,这就是我想用它的目的 def self.initialize_job_info return{ 'salesperson' => ' = $pg_settings['salespersons'[['salesperson']['id']]] if ('on' = $pg_settings['salespersons'[['salesperson']['
def self.initialize_job_info
return{
'salesperson' => ' = $pg_settings['salespersons'[['salesperson']['id']]] if ('on' = $pg_settings['salespersons'[['salesperson']['defsales']]])'
这就是我基本上想要做的: 代码的这一部分工作正常
def self.initialize_job_info
return{
'salesperson' => ''
如果找不到预先存在的值,它会将空表单的job_info['salesperson']值的初始值设置为“”
因此,我想在从$pg_设置传递的散列中放置一个值
我想要的值是,我希望这是有意义的,这个特定“id”的值
$pg_settings['salespersons'] {//which is a list of 'salesperson'
<salesperson> id="561" name="name" phone="phone number" defsales="on" email="email" </salesperson>
$pg_设置['salersons']{//这是一个'salerson'列表
id=“561”name=“name”phone=“phone number”defsales=“on”email=“email”
如果(defsales==“on”),则“salesson”=>value=“id”'
这有意义吗
我很紧张,所以你能在这方面提供的任何帮助都会很好。如果那些不在引号内的名称是变量,你想从中获取值,那么应该是:
'salesperson' => " = $pg_settings[#{salespersons}[[#{salesperson}][#{id}]]] if (#{on} = $pg_settings[#{salespersons}[[#{salesperson}][#{defsales}]]])"
但正如Geo所说,更多关于实际目的/意图的细节将有所帮助
顺便说一句,这种结构称为字符串插值()如果你想插值字符串,比如在字符串中包含它们的值,那么这个例子也许可以帮助你:
a = "a string"
b = "this is"
c = "#{b} #{a}"
在上面的示例中,c
的值为:这是一个字符串
。此外,在插值时,接受有效的Ruby代码。因此,这也可以:
c = "#{ b.sub("this","") } #{a}"
在这种情况下,c
将具有值是一个字符串
。因此,如果您需要插入某些内容,请首先考虑如何使用普通代码,然后在其周围添加{}
。我找到了它
这是工作代码
def self.initialize_job_info
return{
'salesperson' => self.default,
}
end
def self .default
salespersons = $pg_settings['salespersons']
salespersons.each do |salesperson|
if (salesperson['defsales'] == 'on')
return salesperson['id']
end
end
end
看来我已经走了很远了……哈哈,我不明白。你到底想干什么?