github.com/graybobo/golang.org-package-offline-cache@v0.0.0-20200626051047-6608995c132f/x/talks/2013/bestpractices/funcdraw/parser/parser.go (about)

     1  // +build ignore,OMIT
     2  
     3  package parser
     4  
     5  // START OMIT
     6  type ParsedFunc struct {
     7  	text string
     8  	eval func(float64) float64
     9  }
    10  
    11  func Parse(text string) (*ParsedFunc, error) {
    12  	f, err := parse(text)
    13  	if err != nil {
    14  		return nil, err
    15  	}
    16  	return &ParsedFunc{text: text, eval: f}, nil
    17  }
    18  
    19  func (f *ParsedFunc) Eval(x float64) float64 { return f.eval(x) }
    20  func (f *ParsedFunc) String() string         { return f.text }
    21  
    22  // END OMIT
    23  func parse(text string) (func(float64) float64, error) {
    24  	return func(x float64) float64 { return x }, nil
    25  }