Decision tables: Difference between revisions
Content deleted Content added
→{{header|Go}}: language change. built in error type. |
|||
Line 275:
import (
"errors"
"fmt"
"os"
Line 297 ⟶ 298:
type dtMap map[string][]string
func compileDT(t []dtText) (dtMap,
if len(t) == 0 {
return nil,
}
var conditions, actions []dtText
Line 305 ⟶ 306:
for i, row := range t {
if len(row.rules) != ruleColumns {
return nil,
}
if len(row.text) == 0 {
if conditions != nil {
return nil,
}
if i == 0 {
return nil,
}
if i == len(t)-1 {
return nil,
}
conditions = t[:i]
Line 322 ⟶ 323:
}
if conditions == nil {
return nil,
}
m := make(map[string][]string, ruleColumns)
Line 341 ⟶ 342:
func init() {
var err
if ptMap, err = compileDT(ptText); err != nil {
fmt.Println(err)
|