Exercise 1.04

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))
}

Popular posts from this blog

Exercise 1.01

Exercise 1.03