2016-08-10 9 views
2

レコードに基づいてETSテーブルを作成しようとすると、問題が発生しました。コードはIntroducing Elixirという本から引用されています。テーブルは次のように作成されている場合ETSテーブル作成エラー

defmodule Planemo do 
    require Record 
    Record.defrecord :planemo, [name: nil, gravity: 0, diameter: 0, distance_from_sun: 0] 
end 

さて、それは成功します:ここで

は、レコードの別の例では

planemo_table = :ets.new(:planemos,[:named_table, {:keypos, Planemo.planemo(:name) + 1}]) 

、著者は次の構文(__record__)を使用し、それが失敗しました:

planemo_table = :ets.new(:planemos,[:named_table, {:keypos, Planemo.__record__(:index, :name) + 1}]) 

エラー:

** (UndefinedFunctionError) function Planemo.__record__/2 is undefined or private 
    Planemo.__record__(:index, :name) 
    planemo_storage.ex:6: PlanemoStorage.setup/0 

私は最初に__record__がElixir 1.3.2で廃止予定だったかもしれないと思っていましたが、そのトレースを見つけることができませんでした。助けてください。

答えて

関連する問題