return nil
}
-func ReadData() (data planet_data) {
+func ReadData() planet_data {
+ var data planet_data
err := json_slurp(*planet_data_file, &data)
if err != nil {
panic(err)
}
- return
+ return data
}
/* This program operates by filling in a state table representing the best
return max_index
}
-func Commas(n Value) (s string) {
+func Commas(n Value) string {
+ var s string
if n < 0 {
panic(n)
}
n /= 1000
}
s = fmt.Sprint(r) + s
- return
+ return s
}
func FighterAndShieldCost(data planet_data, dims LogicalIndex, table []State, best PhysicalIndex) {
*end_string = save_end_string
}
-func DescribePath(data planet_data, dims LogicalIndex, table []State, start PhysicalIndex) (description []string) {
+func DescribePath(data planet_data, dims LogicalIndex, table []State, start PhysicalIndex) []string {
+ var description []string
for index := start; table[index].from > FROM_ROOT; index = table[index].from {
if table[index].from == FROM_UNINITIALIZED {
panic(index)
}
description = append(description, fmt.Sprintf("%13v ", Commas(table[index].value))+line)
}
- return
+ return description
}
// (Example of a use case for generics in Go)