defmodule Khf1 do @moduledoc """ Számtekercs-leíró konvertálása és ellenőrzése @author "Egyetemi Hallgató " @date "2024-09-20" ... """ # Alapadatok @type size() :: integer() # tábla mérete (0 < n) @type cycle() :: integer() # ciklus hossza (0 < m <= n) @type value() :: integer() # mező értéke (0 < v <= m) # Mezőkoordináták @type row() :: integer() # sor száma (1-től n-ig) @type col() :: integer() # oszlop száma (1-től n-ig) @type field() :: {row(), col()} # mező koordinátái # Feladványleírók @type field_value() :: {field(), value()} # mező és értéke @type puzzle_desc() :: {size(), cycle(), [field_value()]} # feladvány @type list_desc() :: [String.t()] # 1. elem: méret, 2. elem: ciklushossz, # többi elem esetleg: mezők és értékük @spec to_internal(ps::list_desc()) :: pd::puzzle_desc() # A ps szöveges feladványleíró-listának megfelelő adatstruktúra pd def to_internal(ps) do ... end @spec correct?(pd::puzzle_desc()) :: b::boolean() # b igaz, ha a pd feladványleíró helyes, egyébként hamis def correct?(pd) do ... end end