当前位置: 首页>>代码示例>>Golang>>正文


Golang gelo.List类代码示例

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


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

示例1: plugin

func (p *ConfigParser) plugin(vm *gelo.VM, args *gelo.List, ac uint) gelo.Word {
	if ac != 2 {
		gelo.ArgumentError(vm, "plugin", "<name> {body}", args)
	}
	name := args.Value.Ser().String()
	body := vm.API.QuoteOrElse(args.Next.Value)

	checkInSection(vm, "plugin", "plugins")

	insideSection(vm, "plugin", name,
		func() {
			p.conf.Plugins[name] = new(conf.PluginConf)
			p.conf.Plugins[name].Name = name
			vm.API.InvokeCmdOrElse(body, args)

			p.conf.Plugins[name].Options = make(map[string][]string)
			d := getOrMakeDict(vm, "data")
			for k, v := range d.Map() {
				var elements []string
				args.Slice()
				for e := vm.API.ListOrElse(v); e != nil; e = e.Next {
					elements = append(elements, e.Value.Ser())
				}
				p.conf.Plugins[name].Options[k] = elements
			}
		},
	)

	return nil
}
开发者ID:netvl,项目名称:bridge-server,代码行数:30,代码来源:plugins.go

示例2: Value

//For each item, Value acts as the identity unless the item is a quote.
//If it is a quote attempt to invoke and return result if there were no errors
//If invocation fails for any reason Value returns the quote as a literal.
func Value(vm *gelo.VM, args *gelo.List, ac uint) gelo.Word {
	if ac == 0 {
		gelo.ArgumentError(vm, "value", "items+", "")
	}
	return args.MapOrApply(func(w gelo.Word) gelo.Word {
		return vm.API.TailInvokeWordOrReturn(w)
	})
}
开发者ID:catb0t,项目名称:gelo,代码行数:11,代码来源:eval.go

示例3: Copy

func Copy(vm *gelo.VM, args *gelo.List, ac uint) gelo.Word {
	if ac == 0 {
		gelo.ArgumentError(vm, "copy", "values+", "")
	}
	return args.MapOrApply(func(w gelo.Word) gelo.Word {
		return w.Copy()
	})
}
开发者ID:catb0t,项目名称:gelo,代码行数:8,代码来源:copy.go

示例4: Type_of

func Type_of(vm *gelo.VM, args *gelo.List, ac uint) gelo.Word {
	if ac == 0 {
		gelo.ArgumentError(vm, "type-of", "value+", "")
	}
	return args.MapOrApply(func(w gelo.Word) gelo.Word {
		return w.Type()
	})
}
开发者ID:catb0t,项目名称:gelo,代码行数:8,代码来源:types.go

示例5: NaNp

func NaNp(vm *gelo.VM, args *gelo.List, ac uint) gelo.Word {
	if ac == 0 {
		return gelo.False
	}
	return args.MapOrApply(func(w gelo.Word) gelo.Word {
		return gelo.ToBool(math.IsNaN(vm.API.NumberOrElse(w).Real()))
	})
}
开发者ID:catb0t,项目名称:gelo,代码行数:8,代码来源:math.go

示例6: Negativep

func Negativep(vm *gelo.VM, args *gelo.List, ac uint) gelo.Word {
	if ac == 0 {
		return gelo.False
	}
	return args.MapOrApply(func(w gelo.Word) gelo.Word {
		return gelo.ToBool(vm.API.NumberOrElse(w).Real() < 0)
	})
}
开发者ID:catb0t,项目名称:gelo,代码行数:8,代码来源:math.go

示例7: Not

// Unlike And and Or, Not only works on bools
func Not(vm *gelo.VM, args *gelo.List, ac uint) gelo.Word {
	if ac == 0 {
		return gelo.False
	}
	return args.MapOrApply(func(w gelo.Word) gelo.Word {
		return gelo.ToBool(!vm.API.BoolOrElse(w).True())
	})
}
开发者ID:catb0t,项目名称:gelo,代码行数:9,代码来源:logic.go

示例8: Setp

func Setp(vm *gelo.VM, args *gelo.List, ac uint) gelo.Word {
	if ac == 0 {
		gelo.ArgumentError(vm, "set?", "name+", args)
	}
	return args.MapOrApply(func(w gelo.Word) gelo.Word {
		_, ok := vm.Ns.Lookup(w)
		return gelo.ToBool(ok)
	})
}
开发者ID:catb0t,项目名称:gelo,代码行数:9,代码来源:names.go

示例9: Abs

func Abs(vm *gelo.VM, args *gelo.List, ac uint) gelo.Word {
	if ac == 0 {
		return gelo.NewNumber(0)
	}
	return args.MapOrApply(func(w gelo.Word) gelo.Word {
		n := vm.API.NumberOrElse(w).Real()
		return gelo.NewNumber(math.Abs(n))
	})
}
开发者ID:catb0t,项目名称:gelo,代码行数:9,代码来源:math.go

示例10: Invokablep

func Invokablep(vm *gelo.VM, args *gelo.List, ac uint) gelo.Word {
	if ac == 0 {
		return gelo.False
	}
	return args.MapOrApply(func(w gelo.Word) gelo.Word {
		_, ok := vm.API.IsInvokable(w)
		return gelo.ToBool(ok)
	})
}
开发者ID:catb0t,项目名称:gelo,代码行数:9,代码来源:eval.go

示例11: Integerp

func Integerp(vm *gelo.VM, args *gelo.List, ac uint) gelo.Word {
	if ac == 0 {
		return gelo.False
	}
	return args.MapOrApply(func(w gelo.Word) gelo.Word {
		n := vm.API.NumberOrElse(w)
		_, ok := n.Int()
		return gelo.ToBool(ok)
	})
}
开发者ID:catb0t,项目名称:gelo,代码行数:10,代码来源:math.go

示例12: Unsetx

func Unsetx(vm *gelo.VM, args *gelo.List, ac uint) gelo.Word {
	if ac == 0 {
		gelo.ArgumentError(vm, "unset!", "name+", args)
	}
	return args.MapOrApply(func(w gelo.Word) gelo.Word {
		val, ok := vm.Ns.Del(w)
		if !ok {
			gelo.VariableUndefined(vm, w)
		}
		return val
	})
}
开发者ID:catb0t,项目名称:gelo,代码行数:12,代码来源:names.go

示例13: InvokableOrId

func InvokableOrId(vm *gelo.VM, args *gelo.List, ac uint) gelo.Word {
	if ac == 0 {
		return gelo.Null
	}
	return args.MapOrApply(func(w gelo.Word) gelo.Word {
		i, ok := vm.API.IsInvokable(w)
		if !ok {
			return w
		}
		return i
	})
}
开发者ID:catb0t,项目名称:gelo,代码行数:12,代码来源:eval.go

示例14: NumberCon

func NumberCon(vm *gelo.VM, args *gelo.List, ac uint) gelo.Word {
	if ac == 0 {
		return gelo.NewNumber(0)
	}
	return args.MapOrApply(func(w gelo.Word) gelo.Word {
		if n, ok := w.(*gelo.Number); ok {
			return n
		}
		if n, ok := gelo.NewNumberFromBytes(w.Ser().Bytes()); ok {
			return n
		}
		return gelo.False
	})
}
开发者ID:catb0t,项目名称:gelo,代码行数:14,代码来源:math.go

示例15: Sgn

func Sgn(vm *gelo.VM, args *gelo.List, ac uint) gelo.Word {
	if ac == 0 {
		gelo.ArgumentError(vm, "sgn", "number+", "")
	}
	return args.MapOrApply(func(w gelo.Word) gelo.Word {
		n := vm.API.NumberOrElse(w).Real()
		switch {
		case n < 0:
			n = -1
		case n > 0:
			n = 1
		case n == 0:
			n = 0
		}
		return gelo.NewNumber(n)
	})
}
开发者ID:catb0t,项目名称:gelo,代码行数:17,代码来源:math.go


注:本文中的code/google/com/p/gelo.List类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。