Exercise 1.04
// sicp 1.04
package main
import (
"fmt"
"os"
"strconv"
)
func main() {
plus := func(a, b int) int { return a + b }
minus := func(a, b int) int { return a - b }
a_plus_abs_b := func(a, b int) int {
f := plus
if b < 0 {
f = minus
}
return f(a, b)
}
a, _ := strconv.Atoi(os.Args[1])
b, _ := strconv.Atoi(os.Args[2])
fmt.Println(a_plus_abs_b(a, b))
}