我有这个例子
FactoryGirl.define do
@site = FactoryGirl.create(:my_site)
factory :user do
email { Faker::Internet.email }
first_name { Faker::Name.first_name }
last_name { Faker::Name.last_name }
password { 'TarXlrOPfaokNOzls2U8' }
active_directory { '0' }
companies { [FactoryGirl.create(:company, site: @site)] }
sites { [@site] }
end
end
Run Code Online (Sandbox Code Playgroud)
有没有办法用let或者东西实现这个目的......
FactoryGirl.define do
factory :user do
email { Faker::Internet.email }
first_name { Faker::Name.first_name }
last_name { Faker::Name.last_name }
password { 'TarXlrOPfaokNOzls2U8' }
active_directory { '0' }
companies { [FactoryGirl.create(:company, site: FactoryGirl.create(:my_site))] }
sites { [FactoryGirl.create(:my_site)] }
end
end
Run Code Online (Sandbox Code Playgroud)
这有效,但它创建了两个my_site,这是一个Site对象,但我需要它们是相同的...任何想法如何实现这一点
我想知道如何使用ruby中的范围生成以下数组
["00","00","01","01","02", "02", ...... "10", "10"]
Run Code Online (Sandbox Code Playgroud)
我想重复每个元素两次,这就是我正在寻找答案的部分.我可以生成如下单个元素
("00".."10").to_a
Run Code Online (Sandbox Code Playgroud)
我知道我可以使用循环等来做到这一点,但我正在寻找一个更简单的一行代码
谢谢
我正在开发一个符合ansi标准的编译器(Microchip XC8)上的PIC MCU程序.有两种操作模式,在编译期间通过宏确定.所以我不想因为一行代码而复制一个类似函数的宏,我想知道是否有任何方法可以编写宏如
#define FOO //
Run Code Online (Sandbox Code Playgroud)
这样当FOO被替换时,它实际上将取消该线的其余部分.
编写函数而不是宏是不可能的,因为函数调用产生的延迟会破坏程序的紧密时序(大约几微秒).