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で廃止予定だったかもしれないと思っていましたが、そのトレースを見つけることができませんでした。助けてください。
はい、私はそれをチェックして、古いです。神様のためにバージョン0.13を使用しています! – dotslash