Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/68.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 on rails Ruby:简洁的内联作业?_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails Ruby:简洁的内联作业?

Ruby on rails Ruby:简洁的内联作业?,ruby-on-rails,ruby,Ruby On Rails,Ruby,我想创建三个存根模型,如下所示: @first_user, @second_user, @third_user = stub_model(User), stub_model(User), stub_model(User) 这是可行的,但似乎应该有一个更简洁的方法来做这件事的正确方面,我不太明白 请注意,虽然他们都是存根用户,但这三个变量需要引用不同的存根模型。您可以尝试: @first_user, @second_user, @third_user = Array.new(3){ stub_m

我想创建三个存根模型,如下所示:

@first_user, @second_user, @third_user = stub_model(User), stub_model(User), stub_model(User)
这是可行的,但似乎应该有一个更简洁的方法来做这件事的正确方面,我不太明白

请注意,虽然他们都是存根用户,但这三个变量需要引用不同的存根模型。

您可以尝试:

@first_user, @second_user, @third_user = Array.new(3){ stub_model(User) }
示例:

Array.new(3){"foo"}.map(&:object_id)
# => [77834250, 77834230, 77834220]
Array.new(3){"12"}.map(&:object_id)
# => [77832800, 77832780, 77832770]
Array.new(3){{:a => 12 }}.map(&:object_id)
# => [77815300, 77815290, 77815270]  
您可以尝试:

@first_user, @second_user, @third_user = Array.new(3){ stub_model(User) }
示例:

Array.new(3){"foo"}.map(&:object_id)
# => [77834250, 77834230, 77834220]
Array.new(3){"12"}.map(&:object_id)
# => [77832800, 77832780, 77832770]
Array.new(3){{:a => 12 }}.map(&:object_id)
# => [77815300, 77815290, 77815270]  
试试这个:

@first_user, @second_user, @third_user = 3.times.map { stub_model(User) }
这只循环3次,并将结果映射到一个用户数组中,然后展开以分配给IVAR。

尝试:

@first_user, @second_user, @third_user = 3.times.map { stub_model(User) }


这只需循环3次并将结果映射到一个用户数组中,然后将其展开以分配给IVAR。

@first\u user、@second\u user、@third\u user=(1..3)。收集{stub\u model(user)
?@AlexanderEkdahl查看我的答案…)
@first\u user、@second\u user、@third\u user=(1..3)。收集{stub model(user)
?@AlexanderEkdahl查看我的答案…:)这不会生成唯一的对象。
([“foo”]*3).映射(&:object\u id).uniq=>[17017940]
@ChrisHeald请看我已经更新了…)仍然不会生成唯一的对象。
Array.new(3,“foo”).map(&:object\u id).uniq=>[32495460]
@chrished否…现在可以在这里查看
Array.new(3,“12”).map(&:object_id)#=>[76336660,76336660,76336660]
这是对同一个对象的3个引用。它们不是唯一的对象。看看这些id是如何相同的吗?这不会产生唯一的对象。
([“foo”]*3).map(&:object_id).uniq=>[17017940]
@ChrisHeald see I have updated.:)仍然不能生成唯一的对象。
Array.new(3,“foo”).map(&:object\u id.uniq=>[32495460]
@ChrisHeald NO.…现在可以看到这里
Array.new(3,“12”).map(&:object\u id)=>[76336660,76336660,76336660]
这是对同一个对象的3个引用。它们不是唯一的对象。看看ID是如何相同的?很好的学习…))谢谢你教我:)@Priti:你知道
数组。新建
可以创建元素,对吗?@muistooshort谢谢你提醒我。我忘了那个块。我已经更新了我的答案.:)学起来很好…:)谢谢你教我:)@Priti:你知道
Array.new
可以用一个块来创建元素,对吧?@muistooshort谢谢你提醒我..我忘了块一了。我已经更新了我的答案。:)