Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby一次设置多个值_Ruby - Fatal编程技术网

Ruby一次设置多个值

Ruby一次设置多个值,ruby,Ruby,更聪明的方法是什么: @entity.description = @resource.description @entity.aliases = @resource.aliases @entity.image = @resource.thumbnail @entity.freebase = @resource.url @entity.same_as = @resource.webpages 谢谢。你可以这样写: {:description => :description=, :alias

更聪明的方法是什么:

@entity.description = @resource.description
@entity.aliases = @resource.aliases
@entity.image = @resource.thumbnail
@entity.freebase = @resource.url
@entity.same_as = @resource.webpages

谢谢。

你可以这样写:

{:description => :description=, :aliases => :aliases=, :image => :thumbnail=,
 :freebase => :url=, :same_as => :webpages=}.each do |from, to|
  @entity.send(to, @resource.send(from))
end

但我怀疑这会大大提高代码的可读性。你最好现在就把它留下,因为我写得这么短会混淆代码,使其更难阅读。

你可以这样写:

{:description => :description=, :aliases => :aliases=, :image => :thumbnail=,
 :freebase => :url=, :same_as => :webpages=}.each do |from, to|
  @entity.send(to, @resource.send(from))
end

但我怀疑这会大大提高代码的可读性。你最好把它留下,因为你现在有代码,写的很短,因为我混淆了代码,使它更难读。

如果你有两个类之间共享的多个字段,你可以考虑将它们打包成一个类,然后简单地分配(或克隆)它。那么您的代码将如下所示:

  @entity.info = @resource.info

<>这当然需要完全控制类。

如果你有两个类之间共享的多个字段,你可以考虑将它们打包成一个类,并简单地分配(或克隆)它。那么您的代码将如下所示:

  @entity.info = @resource.info
当然,这需要您完全控制这些类