1
Ruby的變量我想要做的事,如:動態創建的字符串插值
4.times do |n|
"member#{n}" = Fabricate(:user)
end
調用member1
,member2
等會給我的用戶實例。 #send或#eval對我的情況有用嗎?感謝您的期待。
Ruby的變量我想要做的事,如:動態創建的字符串插值
4.times do |n|
"member#{n}" = Fabricate(:user)
end
調用member1
,member2
等會給我的用戶實例。 #send或#eval對我的情況有用嗎?感謝您的期待。
您不能以這種方式動態設置local variables
,因爲您實際要做的是設置String
。您的代碼如下
"member1" = Fabricate(:user)
這將提高一個SyntaxError
意外=
,因爲你不能設置一個String
以任何解釋。
你可以instance_variables
像這樣但是執行此操作:
4.times do |n|
instance_variable_set("@member#{n}", Fabricate(:user))
end
然後用@member1
,@member2
訪問它們,等
要回答你的第二個問題是沒有send
和eval
沒有特別的用途在這種情況下