• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Golang plumb.NewEyeCognizer函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Golang中github.com/gocircuit/escher/kit/plumb.NewEyeCognizer函数的典型用法代码示例。如果您正苦于以下问题:Golang NewEyeCognizer函数的具体用法?Golang NewEyeCognizer怎么用?Golang NewEyeCognizer使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了NewEyeCognizer函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。

示例1: Materialize

func (x Process) Materialize() be.Reflex {
	p := &process{
		spawn: make(chan interface{}),
	}
	reflex, _ := plumb.NewEyeCognizer(p.cognize, "Command", "Spawn", "Exit", "IO")
	return reflex
}
开发者ID:dasmithii,项目名称:escher,代码行数:7,代码来源:proc.go


示例2: Materialize

func (Strobe) Materialize() be.Reflex {
	x := &strobe{
		when:   make(chan interface{}, 1), // whens and charges cannot be out of order by more than one slot
		charge: make(chan interface{}, 1),
	}
	reflex, _ := plumb.NewEyeCognizer(x.Cognize, "Charge", "When", "Strobe")
	return reflex
}
开发者ID:dasmithii,项目名称:escher,代码行数:8,代码来源:strobe.go


示例3: MaterializeWriteTo

func MaterializeWriteTo(w io.Writer) be.Reflex {
	x := &writerTo{
		WriteCloser: kitio.SovereignWriter(w),
	}
	reflex, eye := plumb.NewEyeCognizer(x.cognize, "_")
	go eye.Show("_", x.WriteCloser)
	return reflex
}
开发者ID:dasmithii,项目名称:escher,代码行数:8,代码来源:stdio.go


示例4: MaterializeReadFrom

func MaterializeReadFrom(w io.Reader) be.Reflex {
	x := &readFrom{
		ReadCloser: kitio.SovereignReader(w),
	}
	reflex, eye := plumb.NewEyeCognizer(x.cognize, "_")
	go eye.Show("_", x.ReadCloser)
	return reflex
}
开发者ID:dasmithii,项目名称:escher,代码行数:8,代码来源:stdio.go


示例5: Materialize

func (Exit) Materialize() be.Reflex {
	reflex, _ := plumb.NewEyeCognizer(
		func(eye *plumb.Eye, valve string, value interface{}) {
			os.Exit(value.(int))
		},
		"_",
	)
	return reflex
}
开发者ID:dasmithii,项目名称:escher,代码行数:9,代码来源:os.go


示例6: Materialize

func (Memory) Materialize() be.Reflex {
	h := &memory{
		focus:  make(chan []interface{}),
		learn:  make(chan *eu.Circuit),
		recall: make(chan []interface{}),
	}
	reflex, eye := plumb.NewEyeCognizer(h.Cognize, "Focus", "Learn", "Recall", "Use")
	go h.loop(eye)
	return reflex
}
开发者ID:dasmithii,项目名称:escher,代码行数:10,代码来源:memory.go


示例7: Materialize

func (See) Materialize() be.Reflex {
	reflex, _ := plumb.NewEyeCognizer(
		func(eye *plumb.Eye, dvalve string, dvalue interface{}) {
			if dvalve != "Source" {
				return
			}
			eye.Show("Seen", es.SeeCircuit(es.NewSrcString(plumb.AsString(dvalue))))
		},
		"Source", "Seen",
	)
	return reflex
}
开发者ID:dasmithii,项目名称:escher,代码行数:12,代码来源:see.go


示例8: Materialize

func (Lookup) Materialize() be.Reflex {
	reflex, _ := plumb.NewEyeCognizer(
		func(eye *plumb.Eye, dvalve string, dvalue interface{}) {
			if dvalve != "Address" {
				return
			}
			_, r := faculty.Root.LookupAddress(dvalue.(string))
			eye.Show("Circuit", r.(Circuit))
		},
		"Address", "Circuit",
	)
	return reflex
}
开发者ID:dasmithii,项目名称:escher,代码行数:13,代码来源:escher.go


示例9: Materialize

func (Understand) Materialize() be.Reflex {
	reflex, _ := plumb.NewEyeCognizer(
		func(eye *plumb.Eye, dvalve string, dvalue interface{}) {
			if dvalve != "Seen" {
				return
			}
			switch t := dvalue.(type) {
			case *es.Circuit:
				eye.Show("Understood", eu.Understand(t))
			}
			panic("nil or unknown seen")
		},
		"Seen", "Understood",
	)
	return reflex
}
开发者ID:dasmithii,项目名称:escher,代码行数:16,代码来源:understand.go


示例10: Materialize

func (MergeBlend) Materialize() be.Reflex {
	reflex, _ := plumb.NewEyeCognizer(
		func(eye *plumb.Eye, valve string, value interface{}) {
			if valve != "XYZ" {
				return
			}
			xyz := value.(Circuit)
			var w bytes.Buffer
			w.WriteString(flatten(xyz.StringAt("X")))
			w.WriteString(flatten(xyz.StringAt("Y")))
			w.WriteString(flatten(xyz.StringAt("Z")))
			eye.Show("_", w.String())
		},
		"XYZ", "_",
	)
	return reflex
}
开发者ID:dasmithii,项目名称:escher,代码行数:17,代码来源:merge.go


示例11: Materialize

func (FormBlend) Materialize() be.Reflex {
	reflex, _ := plumb.NewEyeCognizer(
		func(eye *plumb.Eye, valve string, value interface{}) {
			if valve != "FormData" {
				return
			}
			fd := value.(Circuit)
			t, err := template.New("").Parse(fd.StringAt("Form"))
			if err != nil {
				panic(err)
			}
			var w bytes.Buffer
			if err = t.Execute(&w, fd.At("Data")); err != nil {
				panic(err)
			}
			eye.Show("_", w.String())
		},
		"FormData", "_",
	)
	return reflex
}
开发者ID:dasmithii,项目名称:escher,代码行数:21,代码来源:form.go


示例12: Materialize

func (d Dir) Materialize() be.Reflex {
	x := dir(d.dir)
	reflex, _ := plumb.NewEyeCognizer(x.Cognize, "Path", "_")
	return reflex
}
开发者ID:dasmithii,项目名称:escher,代码行数:5,代码来源:acid.go


示例13: Materialize

func (Client) Materialize() be.Reflex {
	var c1, a1 sync.Once
	api, consumer, access := make(chan *anaconda.TwitterApi), make(chan Image, 1), make(chan Image, 1)
	go func() { // start connecting monad
		var c, a Image
		for i := 0; i < 2; i++ {
			select {
			case c = <-consumer:
				consumer = nil
			case a = <-access:
				access = nil
			}
		}
		anaconda.SetConsumerKey(c.String("Key")) // dial API server
		anaconda.SetConsumerSecret(c.String("Secret"))
		y := anaconda.NewTwitterApi(a.String("Token"), a.String("Secret"))
		for {
			api <- y // give out api server to all endpoint goroutines
		}
	}()
	// API
	query := make(chan Image, 5)
	reflex, eye := plumb.NewEyeCognizer(
		func(eye *plumb.Eye, valve string, value interface{}) {
			switch valve {
			case "Consumer":
				c1.Do(func() { consumer <- value.(Image) })
			case "Access":
				a1.Do(func() { access <- value.(Image) })
			case "UserTimelineQuery", "HomeTimelineQuery", "RetweetsQuery", "RetweetsOfMeQuery":
				valve = valve[:len(valve)-len("Query")]
				query <- Make().Grow(valve, value)
			default:
				log.Printf("Unknown Twitter query: %s", valve)
			}
		},
		"Consumer", "Access", // set to start connection
		"UserTimelineQuery", "UserTimelineResult", // UserTimeline
		"HomeTimelineQuery", "HomeTimelineResult", // HomeTimeline
		"RetweetsQuery", "RetweetsResult", // Retweets
		"RetweetsOfMeQuery", "RetweetsOfMeResult", // RetweetsOfMe
	)
	for i := 0; i < 3; i++ {
		go func() { // API response loop
			y := <-api
			for {
				g := <-query
				q := g.Letters()[0]
				x := g[q].(Image)
				uv := urlize(x)
				log.Printf("Twitter %s query %v", q, ImagineWithMaps(uv).(Image).PrintLine())
				var tweets []anaconda.Tweet
				var err error
				switch q {
				case "UserTimeline":
					tweets, err = y.GetUserTimeline(uv)
				case "HomeTimeline":
					tweets, err = y.GetHomeTimeline(uv)
				case "Retweets":
					tweets, err = y.GetRetweets(int64(x.Int("Id")), uv)
				case "RetweetsOfMe":
					tweets, err = y.GetRetweetsOfMe(uv)
				}
				if err != nil {
					log.Fatalf("Problem %s query on Twitter (%v)", q, err)
				}
				eye.Show(
					q,
					Pretty(
						Image{
							"Name":     x.Interface("Name"),
							"Sentence": Imagine(tweets),
						},
					),
				)
			}
		}()
	}
	return reflex
}
开发者ID:dasmithii,项目名称:escher,代码行数:80,代码来源:twitter.go


示例14: Materialize

func (Remember) Materialize() be.Reflex {
	reflex, _ := plumb.NewEyeCognizer((&remember{}).Cognize, "From", "What", "When", "_")
	return reflex
}
开发者ID:dasmithii,项目名称:escher,代码行数:4,代码来源:remember.go


示例15: Materialize

func (Choose) Materialize() be.Reflex {
	reflex, _ := plumb.NewEyeCognizer((&choose{}).Cognize, "When", "From", "_")
	return reflex
}
开发者ID:dasmithii,项目名称:escher,代码行数:4,代码来源:choose.go


示例16: Materialize

func (ExploreOnStrobe) Materialize() be.Reflex {
	reflex, _ := plumb.NewEyeCognizer(CognizeExploreOnStrobe, "Strobe", "Sequence")
	return reflex
}
开发者ID:dasmithii,项目名称:escher,代码行数:4,代码来源:model.go


示例17: Materialize

func (Focus) Materialize() be.Reflex {
	reflex, _ := plumb.NewEyeCognizer((&focus{}).Cognize, "From", "On", "When", "_")
	return reflex
}
开发者ID:dasmithii,项目名称:escher,代码行数:4,代码来源:focus.go


示例18: Materialize

func (Sum) Materialize() be.Reflex {
	x := &sum{lit: New()}
	reflex, _ := plumb.NewEyeCognizer(x.Cognize, "X", "Y", "Sum")
	return reflex
}
开发者ID:dasmithii,项目名称:escher,代码行数:5,代码来源:arithmetic.go


示例19: Materialize

func (Join) Materialize() be.Reflex {
	reflex, _ := plumb.NewEyeCognizer((&join{}).Cognize, "_", "Head", "Tail")
	return reflex
}
开发者ID:dasmithii,项目名称:escher,代码行数:4,代码来源:path.go


示例20: Materialize

func (Associate) Materialize() be.Reflex {
	reflex, _ := plumb.NewEyeCognizer((&association{}).Cognize, "Name", "With", "When", "_")
	return reflex
}
开发者ID:dasmithii,项目名称:escher,代码行数:4,代码来源:associate.go



注:本文中的github.com/gocircuit/escher/kit/plumb.NewEyeCognizer函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Golang plumb.Eye类代码示例发布时间:2022-05-23
下一篇:
Golang format.Message函数代码示例发布时间:2022-05-23
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap