我在浏览ocaml的标准库时,在map.ml文件中发现了这段代码
module type S =
sig
type key
type +'a t
val empty: 'a t'
我想知道为什么会有type+'at,为什么作者使用它而不是简单的'at
它的行为很奇怪,我无法推断它的用法
# type +'a t = 'a list;;
type 'a t = 'a list
# type +'a t = +'a list;;
Characters 13-14:
借助WebGL,我在浏览器中显示微观3D数据。我显示的元素位置以纳米为单位,相对于一个公共原点。这导致坐标变得相当大:当前数据集周围的边界框范围为0;0; 0至120000、130000、250000。在本卷中使用坐标目前没有问题,我也找不到浮点计算的任何问题
当我想放大坐标并使其增大1000倍时,你看到了任何潜在的问题吗?作为modelview转换的一部分,您是否建议缩小坐标?如果可能的话,我想继续在这个纳米坐标系中工作。在使用10倍、100倍和1000倍更大坐标的测试中,到目前为止我还没有发
许多教程说,引用类型是在堆上创建的,只有在最后一个引用消失时才能销毁。相反,值类型在堆栈上创建,并在超出范围后自动销毁。这一信息可以在许多文献中找到
但我无法理解为什么引用类型不会像值类型那样被销毁
许多教程都说引用类型。。。只能在最后一个引用消失时销毁
否则,您如何知道引用类型何时超出范围?您读过吗?好的,我知道堆栈和堆是如何工作的。我的问题是为什么?原因是什么?不在堆栈中删除堆有什么好处?考虑到您提出的这个问题,您似乎还没有完全看到区别。系统如何知道何时从堆中删除对象是安全的?听起来好像您正
odata元数据中如何显示具有简单列表(EDM)类型属性的对象?
例如,具有基数为2..10的字符串列表的对象
当我尝试创建导航属性、关联和关联集时,它需要一个简单类型的实体集,这是不对的
谢谢,ODataV3支持基本类型或复杂类型的集合。在.NET中,这是在最新的V3 CTP中实现的:据我所知,这仅在函数导入中受支持,并不能解决基数问题,对吗?在V3中,集合作为复杂或实体类型的属性受支持很好。唯一不受支持的是拥有根级别的集合(因为在EDM中也不存在根级别的集合,所有内容都必须从实体集或函数开始
我知道当你写字符时,你使用字符串。但是,是否存在称为text的数据类型?这是因为我的作业有如下内容:
X是文本类型
Y是字符串类型
因此,我想知道除了字符串之外是否还有其他文本数据类型。XML模式(XSD)中没有标准的数据类型。当然,您可以根据字符串定义一个:
<xs:simpleType name="text">
<xs:restriction base="xs:string">
. . . some restriction . . .
</xs:
我有一个引用的表达
(def foo '(+ 1 (bar)))
我希望能够找到此列表中任何元素的类型,例如
(type (second foo))
根据值的类型,我会得到不同的结果,例如,下面的两个值都计算为java.lang.Double,这正是我想要的
(type '3.0)
(type 3.0)
然而
分别产生
clojure.lang.Symbol
clojure.core$_PLUS_
我想也许解决问题的钥匙会有所帮助
(type (resolve '+))
评估结果为:
我试图理解人们是如何用OCaml编写trie的。我在网上找到了一个例子:
它定义了一个映射:
module CharMap = Map.Make(Char)
然后定义trie的类型:
(* count of members of the set that end at this node * mapping from
next char => children *)
type trie = Node of int * trie CharMap.t
这里是我的问题:什么是tri
在对OCaml邮件列表中的人进行窃听之前,我想我可以在这里发布我的问题。我刚刚发现了这个(到Concoqtion网站的链接)。Concoqtion是MetaOCaml的一个扩展,它允许索引类型(可能还有更多)。使用它,可以轻松创建列表,列表类型还包括列表的长度:
type ('n:'(nat),'a) listl =
| Nil : ('(0),'a) listl
| Cons of let 'm:'(nat) in 'a * ('(m),'a) listl : ('(m+1),'a
非常简单的问题:是否有用于存储有限类型实例的标准容器?我还没有找到任何一个——到目前为止,我找到的所有标准容器都需要无限的类型。虽然我很容易(事实上我也有)推出自己的程序,但它非常烦琐、乏味且容易出错,我认为我不应该这样做。没有,看看AI95-302,似乎根本没有考虑这些程序。您可能需要检查哪些容器具有用于有限类型的容器。简单的解决方案是实例化具有访问有限类型['Class]权限的标准容器,我认为这是您需要在内部执行的操作。从容器中删除实例时释放实例的问题仍然存在。
我想在HSQLDB中创建新类型
CREATE TYPE ENUM (field VARCHAR(10), key int(1))
但是我有一个错误“unexpected token:(必选:AS“此语句创建了一个包含两个字段的类型,HSQLDB不支持它
HSQLDB支持使用单个类型源创建类型,这将导致不同的类型
我很抱歉我的英语不好
我不能改变信仰。。当我尝试将字符数组转换为字符串时,字符串的值更改为“True”。我不明白
示例代码:
label5的外观:
不要使用System::Convert::ToString。相反,只需使用字符串构造函数,将char[]作为参数:
String^ str2 = gcnew String(str);
把你的代码贴在你的代码标签上。-1看在上帝的份上编辑你的帖子…@推断为什么-1?只是因为他的英语不够好,不能用一种你能理解的方式解释他的问题。还包括你使用的语言(我
为了在SML中运行Dijkstra的算法,我想将2D数组(有节点但也有障碍物)转换成图形,但作为初学者,我对应该使用的数据类型没有什么好主意
欢迎提供任何帮助,谢谢。由于SML中没有太多数据结构,我们可以使用列表来表示图形(这是一种方法)。
使用邻接列表表示图形。列表的列表的列表
-val graph=[ [[3,5],[6,9]],
[[4,7],[2,6]] ];
val graph = [[[3,5],[6,9]],[[4,7],[2,6]]] : i
在F#中,两个具有不同算术性和返回类型的函数是否可以共享一个名称
例如,对于两个参数,f返回一个int:
let f (x:int) (y:int) : int = x + y
但是对于3个参数,f返回一个bool:
let f (x:bool) (y:bool) (z:bool) : bool = x & y & z
似乎返回类型应该可以通过给定的参数数推断出来,但我得到了编译错误:
值“f”的重复定义
这是F#的限制吗 让我们分析这两个特性:
不同的退货类型:
这在F
我有这个小片段,但它没有编译,所有的错误都源于返回&Vec而不是&Vec
因此,它实际上应该是一个Vec作为一个专业程序员,你应该学会生成一个。以下是解决您问题的方法:
extern crate itertools;
use itertools::Itertools;
const RANKS: [u8; 13] = [12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0];
fn main() {
let one_combination: () = RAN
我有一个自定义类型的数组,称为links,它的元素类型为Link
type Link
first::Int64
second::Int64
value::Array{Float64,1}
end
,而且对于链接,类型的(链接)是向量{Link}
正如您可能已经猜到的,这是我拥有的图形定义的一部分,它包括边,first引用一个端点,second引用另一个端点。我想做的是在links中选择链接的值,其中端点第一个等于特定的节点编号,我们称之为顶点id。
因此,简而言之,我想
Sqlite中的我的sql语句获得以下内容:
`sqlite>从营业额>10000的库存历史记录中选择平均(营业额)、最小(营业额);
平均(营业额)最小(营业额)
277.854759767152 1000048325`
“营业额”列中的数据都是逗号分隔的数字。
我希望有一些错误消息,而不是上面的非逻辑结果-大于10000个数字的平均值只有277.854
是否可以对数据使用完整性规则,或将逗号解释为千位分隔符的配置?要删除逗号,可以使用:
要防止出现非数值,请向表中添加检查约束:
CREAT
在我们的代码中,我们有实数组和复杂数组,它们的精度应该与我们希望封装在参数化类型中的精度相同。以下几点很好:
type NewType{T<:Union{Complex{Float32},Complex{Float64}}}
a::T
b::real(T)
end
有没有一种优雅的方法可以做到这一点
编辑:
原来
typenewtype{TI会像你建议的那样做,除了现在在Julia中,你应该使用wordmutable struct而不是type,写structNewTyp
我目前正在尝试使用静态类型系统实现一个类型分析器,该系统使用OCaml语言实现
我使用的算法是首先生成类型方程,然后使用统一算法求解这些方程。除了递归的letrecexp绑定类型之外,我已经能够很好地实现代码
以下是完整的代码:
type program=exp
和exp=
|整数的个数
|VAR中的VAR
|exp*exp之和
|exp*exp的差值
|多重经验*exp
|exp*exp的DIV
|经验零点
|如果为exp*exp*exp
|让我们看看var*exp*exp
|var*var*
标签:elasticsearch Types
aws-elasticsearch
我正在使用AWS的ES 5.7。弹性搜索集群中存储有对象列表。每个对象都有一个字段状态值为整数,但由于indexer的一个编程错误,某些对象的状态值存储为文本而不是整数。我需要使用bool查询过滤状态为text的对象
我使用下面的查询来过滤数据
样本数据
{
"took":22,
"timed_out":false,
"_shards":{
"total":16,
"successful":16,
"failed":0
},
我想实现一个移动平均,其中长度是基于一个n-back平均周期长度K。因此,我需要长度是变量K的函数
内置移动平均线只允许长度的静态整数值
我有一个变量叫做周期差,基于长期和短期周期长度
time_since_zero=round(barssince(cross(zero_check,0)))
max_cycle=highest(time_since_zero,50)
cycle = ema(max_cycle,200)
cycle_long = ema(max_
如何使用NSCoder对自定义类型进行编码和解码
例如,如何将NSCoder与“STATE”实例一起使用,其中:
您可以将它们视为整数,因为它们是隐式分配的整数值:
- (void) encodeWithCoder: (NSCoder *)coder {
...
[coder encodeInt:type forKey:@"state"];
}
- (id) initWithCoder: (NSCoder *)coder {
...
state = [coder decodeI
我在OpenGL工作中使用了Derelict,我已经厌倦了为像GlvertexAttributePointer这样的函数一直cast(GLvoid*)Vec3.sizeof。所以我想我应该做一个函数,glsizeof
import std.stdio;
alias void GLvoid;
struct Vec3 {
float x, y, z;
}
GLvoid* glsizeof(T)(T t) {
return cast(GLvoid*) t.sizeof;
}
v
我刚刚开始使用泛型函数,我想知道这是否可能(我真的希望如此!)
我已经为处理不同长度的向量制作了3个包:vector2、vector3和vector4
每个包都有处理该长度向量的函数:
vector2:normalize - for normalizing *vector2s*
vector3:normalize - for normalizing *vector3s*
etc.
我的向量是类型化数组(用于速度和内存,因为这是用于编写游戏的),因此向量3是:
现在我正在编写一个名为vector
我有一个mysql数据库,其中定义了一个表:
CREATE TABLE IF NOT EXISTS tblModel (
model_id int NOT NULL AUTO_INCREMENT,
model_file varchar(50) NOT NULL,
model_name varchar(50) NOT NULL,
model_descrip varchar(200) NOT NULL,
target_index char(6) NOT NULL,
training_days int
有人能解释一下如何计算出下面定义的fold函数的类型吗
fun fold func [] base = base
| fold func (x::xs) base = fold func xs (func x base);
我的答案是'c->'a list->'b->'b,但我看到在将代码插入SML程序后,类型实际上应该是('a->'b->'b)->'a list->'b->'b
我理解“a列表->'b->'b”的来源,但第一部分让我感到困惑。是因为func接受两个参数“a”和“b”,并返
我试图从文档中提取一个JSON字符串并将其放入GOlang中的SimpleJson中,尽管我遇到了类型问题(再次..)
我得到以下错误:
无法将文档[0](uint8类型)用作函数参数中的类型[]字节
而最让人恼火的是:
js, err := simplejson.NewJson(document[0])
有人能帮我解决这个问题吗?还有没有一个好地方可以让我阅读有关类型和转换的内容?GO来自php,它没有类型,python的转换很简单,在这方面有点混乱
谢谢:-)首先,uint8只是字节的别名
我有以下几种:
type Statement interface {
Say() string
}
type Quote struct {
quote string
}
func (p Quote) Say() string {
return p.quote
}
func Replay(conversation []Statement) {
for _, statement := range conversation {
fmt.Printl
我知道这个问题以前已经调查过了,但给出的解决方案对我不起作用
我有一个使用一些库的android项目。我今天添加了BaseGameUtils。我的问题:我无法构建我的项目,因为它包含一个错误:类型R已经定义(在com.google.example.games.gamebaseutils中发现错误)
我尝试了大家都称之为奇迹的解决方案:禁用JavaBuilder,然后删除R文件。应用程序启动,但我的代码中所做的任何更改都不计入计数(正常,没有启用java builder…)
仅供参考,以下是gen
在本例中,NoGood是pub,而AtomWord是private
我想将的实例导出到迭代器,但我不能,因为IntoIter的庞大类型定义包含对AtomWord的引用
我意识到我可以创建一个迭代器包装器,它只将调用传递给底层迭代器,但这是很多样板。我想不出任何方法使包装器类成为泛型的(而不破坏其目的,即隐藏AtomWord类型)
impl否,不能在公共方法中隐藏私有类型。它是公开的,这意味着人们需要看到它
如前所述,包装器结构对于迭代器是常见的。它也恰好具有零运行时成本:
struct Iter
标签: Types
allocationrenderscript
为了编写高效的代码,您应该使用最简单的数据类型。对于Renderscript来说更是如此,相同的计算在内核中重复了很多次。现在,我想编写一个非常简单的内核,它将(颜色)位图作为输入,并生成一个int[]数组作为输出:
#pragma version(1)
#pragma rs java_package_name(com.example.xxx)
#pragma rs_fp_relaxed
uint __attribute__((kernel)) grauInt(uchar4 in) {
uin
我有这个代码片段
fun decrement_to_zero r = if !r < 0
then r := 0
else while !r >= 0 do r := !r - 1
当我把它叫做
-递减至0 10
为什么?
为什么?
如果检查函数的类型签名
- decrement_to_zero;
> val it = fn : int ref -> unit
您可
标签: Types
filemakerinventory
如何在FIleMaker Pro的指定字段中将其作为计算写入
显示库存::类型
如果测量值1为
中间
库存::米1分钟
&
库存:Meas1Max
一般来说,它应该沿着以下路线:
Get (Inventory::Type)
If (Contacts::Measurement 1 is between Inventory::Meas1Min & Inventory::Meas1Max )
End If
一般来说,公式如下所示:
If (
Inventory::Meas1
标签: Types
size D
sizeoffixed-width
然而,在使用了Rust和D等语言之后,
我发现它们所有的基本/基本类型都是固定的
为什么D选择省略未指定尺寸的类型?
这不妨碍跨机器的效率吗?
还是效率问题太小,以至于不能超过固定类型的安全性
我希望能找到一些关于这个决定的文献,因为它是在两种没有固定大小作为基本类型的语言之后做出的。希望这不是太基于opnion。在少数情况下,整数类型的大小实际上必须是系统特定的,这些类型在D中没有固定的大小-例如大小\u t和ptrdiff\u t(因为它们处理指针的大小和可以寻址的内存量)。相反,它们是适当
我想写一些使用二维和三维点或空间方向的小型库(向量/矩阵意义上的向量,而不是Rust的Vec)
Rust不会在这里强加规则,因此您可以创建一个浮点元组,或者使用x,y,z成员创建一个新的struct。或单个数据:[f64;3]成员
我想在这里定义一个类型而不是使用[f64;3],原因是我可以声明诸如长度,规范化,以及添加,子运算符等方法
声明小型2D-3D固定大小数据类型的良好基础是什么
请注意,虽然有很好的现有库,但我想编写自己的库,因为它只需要一些基本操作,而且我想了解内部的情况。我建议定
我在问自己,在IBMi中,RPGLE和CL之间的数据类型的正确比较是什么
所以:
*DEC <> Packed numeric (es DCL-S ... PACKED(7:0))
*CHAR <> Fixed length string (es DCL-S ... CHAR(10))
*LGL <> Indicator (es DCL-S ... IND)
*PTR <> Pointer (es DCL-S ... POINTER)
*D
我是OCaml新手,正在尝试跳入一个大型OCaml项目。在跟踪构成其他类型的类型时,我试图思考如何使用这些类型,因此我将其分解为一个小示例,我认为这个示例与大型项目中的情况非常接近
如果记录类型表达式由三个字段组成:
type expression = {e_id:int; e_node:exp_node; e_loc:location}
and exp_node =
| Const of int
| Lval of lval
| SizeofStr of string
and lv
我正在尝试编写一个函数,它可以根据调用函数baz的结果返回int或字符串
type 'a foo = OK of 'a | Error of string
let bar (e) : int foo =
match baz e with
| OK (_) -> 1
| Error s -> s
但是,我在编译时收到以下错误消息:
Error: This expression has type int but an expression was expect
标签: Types
metadataorangepredictive
有人知道您是否可以更改元数据的数据类型吗?我想预测Airbnb住宿的价格。价格取决于房间类型和住宿地点。这两个功能都标记为元数据。因此,我无法在橙色的“功能统计信息”中看到这些功能,也无法看到这些功能的统计信息 嗨,Iyv,欢迎来到Stack Overflow。你能提供一份你尝试过的、得到的和想要的吗?嗨@Eureka!谢谢你的回答!我在以下链接()上使用了数据集。我想包括一个副本,我已经尝试,但我不知道如何?是否有可能发送一些截图?现在,我改变了分类数据类型中的“邻居组”、“邻居”和“房间类型
我正在浏览Julia文档,在Julia REPL中尝试某些内容时,我意外地键入了A=Tuple{4,5},而不是A=(4,5)。令我惊讶的是,这并没有造成错误
为什么这是AADataType,即使4和5是Int64/Int32?因为Tuple{Int,String}是(123,“hello”)类似地Tuple{4,5}将是两元素元组的类型,其第一个值的类型为4,第二个值的类型为5。当然,4和5不是任何值的类型,因此这实际上不是可以存在的任何值的类型,但它仍然是一种类型,只是一种“无人居住”的类型
例如,假设我想创建这样的类型(使用):
type some\u type=SomeConstructor of
但是我有点不知道怎么做。有没有人能给我举个例子,让我想一想这个问题?有什么问题?语法
你试过使用中间类型吗
type my_dyn = Dyn_Array of int
type some_type = SomeConstructor of my_dyn
(我没有安装电池)。已经定义了DynArray.t。您只想为其自由变量指定类型,而不想定义新的构造函数(除了嵌入的语法是非法的
如果类型T1和T2是基于类型T,而类型T只从NewT1()或NewT2()产生的,那么函数func(*T)WhoAmI()有没有办法知道它“真的”是T1还是T2
package main
import "fmt"
import "reflect"
type T struct { s string }
func (v *T) WhoAmI() string {
// pull type name with reflect
fmt.Println( refle
我经常有理由在一个映射中查找某个键,然后在另一个映射中查找结果,依此类推,在任意的链中,我试图推广这个过程。我还希望能够为此目的预先计算地图列表,以表示AI项目中可重用的关联链
显而易见的解决方案似乎是在我称之为“maybe_map”的列表上对map函数进行简单的扩展
let rec maybe_map operation initial_value list =
match list with
| [] -> Some(initial_value)
| fi
我刚开始学习Rust,并注意到以下代码可以工作,即使枚举内的各种选项似乎传播到枚举外,因此与结构位于同一名称空间中:
enumfoobar{Foo(int),Bar(uint)}
结构Foo{Foo:int}
结构条{Bar:uint}
但是,这会导致编译器错误:
enum FooBar { Foo(int), Bar(uint) }
enum BarBaz { Bar(uint), Baz(f32) }
结构和枚举似乎生活在各自的平行宇宙中。如果能解释一下struct和enum类型名在Ru
在OCaml顶级中键入此函数时,我得到了以下结果。两次输入似乎都与我相同,只是:运算符周围的空格不同。有人能在这里解释一下'选项列表和'选项之间的区别吗
# let rec at i = function
| [] -> None
| h::t -> if i = 1 then Some h else at (i-1) t;;
val at : int -> 'a option list -> 'a option = <fun>
# let r
我已经编写了一个Mercury函数来计算列表骨架的长度,但是它没有编译,我不明白为什么。我想知道这里发生了什么事。(在下面的代码中,指令、函数和模式语句来自Mercury参考手册的章节和。我正在根据手册的声明编写函数体。)
该代码给出了以下编译器错误,其中第26行是TailLength=my_length(Tl):
Tl如何获得free的实例化?我的理解是,Tl可以是My_listskel的一个实例,也可以是空列表,它们都是绑定的,而不是自由的
这里的问题是我正在处理一个部分实例化的数据结构(它
我收到一条奇怪的错误消息无法使用[]提要文字(type[]提要)作为type[]提要的字段值,经过一些修改和最小化源代码后,我发现这种情况似乎产生了错误:
type user struct {
Feeds []feed
}
type feed struct{}
func fn() {
type user struct {
Feeds []feed // seems to refer to the outer feed type
}
type fe
我试图用Coq编写以下Agda代码片段
open import Data.Fin using (Fin; suc; zero)
open import Data.Nat using (ℕ; suc; zero)
thin : {n : ℕ} -> Fin (suc n) -> Fin n -> Fin (suc n)
thin zero y = suc y
thin (suc x) zero = zero
thin (suc x) (suc y) =
Julia的整数数据类型在Julia本身中定义为bitstype,所以我可以定义类似于Int256的东西,让Julia处理大于Int128的整数文本,并将它们用作Int256吗 嗯,有一种BigInt类型可以是任意大小。你可以在文档中阅读。我发现,如果你用它做大量的计算,将会有很大的性能损失
除此之外,您当然可以定义自己的类型。我认为其中的一个挑战是,Julia使用的其他语言(如C)中的所有底层库都不支持这么大的整数。例如,当我研究BigFloat类型的问题时,我在Julia的GitHub上发现
我不想检查类型是否具有某种特征,但我希望能够区分,例如,结构和整数。由于结构和整数都可以实现相同的特性,我不知道如何区分它们
我之所以要这样做,是因为我正在使用serde_json将泛型类型转换为json,但我只希望它成为json对象(当它是一个结构时会发生这种情况),但它不应该转换为任何其他类型(如jsonI64)。由于结构和整数都可以实现序列化特性,因此无法区分它们
目前,我让进程惊慌失措,因为它不是一个可以恢复的错误,但由于我可能在编译时知道这一点,我想知道是否有任何机制可以在编译阶段确定
TL;DR:在Agda中,给定a:a和证明:a==B,我可以获得元素a:B
在我不断学习Agda的过程中,我创建了以下Prime:nat->Setdatatype,它见证了自然语言的素性
Prime zero = False
Prime (succ zero) = False
Prime (succ (succ n)) = forall {i : nat} -> divides i p -> i <N p -> zero <N i -> i == (succ
上一页 1 2 ...
6 7 8 9 10 11 12 ...
下一页 最后一页 共 48 页