我想創建變量item
而寫的東西是這樣的:如何將屬性添加到ruby變量?
item.property1 = "whatever" item.poperty2 = "whatever"
我該怎麼辦呢?
現在我這樣做是這樣的: item = {} item [:property1] = "whatever"
任何其他的選擇嗎?
我想創建變量item
而寫的東西是這樣的:如何將屬性添加到ruby變量?
item.property1 = "whatever" item.poperty2 = "whatever"
我該怎麼辦呢?
現在我這樣做是這樣的: item = {} item [:property1] = "whatever"
任何其他的選擇嗎?
這裏是我知道的最簡單的解決方案:
如果你事先知道的屬性,然後使用結構:
Item = Struct.new(:property1, :property2)
item = Item.new('blue', 'medium') # or:
item = Item.new
item.property1 = 'blue'
item.property2 = 'medium'
puts item.property1
puts item.property2
否則,您可以使用OpenStruct:
require 'ostruct'
item = OpenStruct.new
item.property1 = 'blue'
item.property2 = 'medium'
puts item.property1
puts item.property2
OpenStruct對此很棒。 – tadman
只是你知道,我從這個腳本中刪除了一行不正確的代碼:'item = OpenStruct.new('blue','medium')#或者:'' –
您需要創建一個對象來訪問這樣的變量。
class Item
attr_accessor :property1, :property2
end
那麼你可以做你寫的:
item = Item.new
item.property1 = "whatever"
item.poperty2 = "whatever"
如果你是在談論一個Rails的數據庫對象,還有更多的它,雖然(如第一次寫數據庫遷移)。
我建議你閱讀[一些基本教程](http://www.tutorialspoint.com/ruby/)。 –