YAML 是 YAML Ain't Markup Language 的遞迴性縮寫而來的。除了 RoR 上面的資料庫設定檔是以 YAML 格式來寫,不大曉得還可以怎樣利用。
這不是鐵人賽,做個剛試驗出來的簡單備忘摘要。
在 Tag 裡有個 cache 的欄位,可將其所屬的相關資料,透過 YAML 的格式來存進去,這樣就可以減少大量的資料磁的 query ,
./script/console
Loading development environment (Rails 2.1.1)
=>> a=[1,2,3]
=> [1, 2, 3]
>> a.to_yaml
=> "--- \n- 1\n- 2\n- 3\n"
>> b=a.to_yaml
=> "--- \n- 1\n- 2\n- 3\n"
>> YAML::load(b)
=> [1, 2, 3]
>> c=[2,3,4,5]
=> [2, 3, 4, 5]
>> c - YAML::load(b)
=> [4, 5]
陣列 a 以 YAML 的形式存成 string b,當有 陣列 c 要加到 a 裡時,用 YAML::load 把 b 還原為 陣列 a , c - a 得到 要新增的元素到 a 中。
看起來很抽象,我以後也可能會忘記,所以試好趕快記下來。這個功能可解決自己無法直接從對方資料庫獲得東中,只好 query 對方的結果,存在自己的資料庫中,所以可以用這個方式比對出,新增哪些元素,才只要再將這些新的元素寫到自己的資料庫中。