Tag: 原始types

Djinn如何工作?

好的,所以我意识到我可能会对我的余生感到遗憾,但是… Djinn是如何工作的? 该文件说,它使用的algorithm是“LJ的延伸”,并指出关于LJT的长时间混淆的论文。 尽我所知,这是一个非常复杂的高度规则化的系统,用于确定哪些逻辑陈述是真实的还是错误的。 但是,这甚至不能解释如何将types签名转换为可执行expression式。 大概所有复杂的forms推理都是以某种方式参与的 ,但是画面是非常不完整的。 这有点像我试图在BASIC中编写一个Pascal解释器的时候。 (不要笑,我只有十二岁…)我花了好几个小时想弄明白,最后我不得不放弃。 我只是无法弄清楚,从一个包含整个程序的巨型string中得到的东西,到可以与已知程序片段进行比较的东西,以便决定实际执行的内容。 答案当然是你需要写一个叫“parsing器”的东西。 一旦你理解了这是什么以及它做了什么,突然一切都变得明显了 。 哦,编码它仍然不是微不足道的,但这个想法很简单。 你只需要写实际的代码。 如果我十二岁的时候我就知道parsing器,那么也许我不会花两个小时盯着一个空白的屏幕。 我怀疑Djinn在做什么从根本上是简单的,但我错过了一些重要的细节,解释了所有这些复杂的逻辑体操如何与Haskell源代码相关…

SQL Server在计算平均值时给出算术溢出

我有一个整数列,其中有一些相当大的数字表。 我试图平均一些价值在这个有时它工作的其他时候,它给这个错误 “将算术溢出错误转换为数据types为int的expression式” 我已经把它分解了,这个示例产生了错误 create table LargeNumbers (number int) insert into LargeNumbers values (100000000) — X 30 select avg(number) from LargeNumbers 有谁知道我可以得到这个来计算平均值?

找出字体支持的字符

如何在Linux上从TrueType或embedded的OpenType字体中提取受支持的Unicode字符的列表? 是否有一个工具或库可以用来处理.ttf或.eot文件,并build立由字体提供的代码点列表(如U + 0123,U + 1234等)?

将byte 转换为char

如何将byte数组转换为C#中的char数组?

F#:这个expression式应该有types“单元”,但是types为“ConsoleKeyInfo”

这是一个简单的问题,但是由于F#非常新,所以我无法追踪答案。 我只是想暂停在一个F#控制台应用程序,所以我写道: Console.ReadKey() 但是,这给出了警告:这个expression式应该有types“单元”,但types为“ConsoleKeyInfo”。 任何帮助将不胜感激。 谢谢,李

C#DBNull和可为空的types – 最简洁的转换forms

我有一个DataTable,它有很多列。 其中一些列是可空的。 DataTable dt; // Value set. DataRow dr; // Value set. // dr["A"] is populated from T-SQL column defined as: int NULL 那么,什么是从DataRow中的值转换为可为空的variables的最简洁forms。 理想情况下,我将能够做到这样的事情: int? a = dr["A"] as int?; 编辑 :原来你可以做到这一点,副作用是,如果您的架构types不是int,那么总是会返回null。 Ruben使用dr.Field<int?>("A")的答案可以确保types不匹配不会失败。 当然,这将通过彻底的unit testing来获得。 相反,我通常按照以下方式input内容: int? a = dr["A"] != DBNull.Value ? (int)dr["A"] : 0; 这是一堆更多的击键,但更重要的是,有更多的空间让某个人用错误的按键来填满东西。 是的,unit testing会挑选这个,但我宁愿停下来。 什么是这种情况最干净,最不容易出错的模式。

Scala返回types的元组函数

我想做一个scala函数,它返回一个scala元组。 我可以做这样的function: def foo = (1,"hello","world") 这将工作得很好,但现在我想告诉编译器我期望从函数返回而不是使用内置types推断(毕竟,我不知道什么是(1,"hello","world")是)。

如何编写通用数字的函数?

我对F#很陌生,发现types推断确实是一件很酷的事情。 但目前看来,这也可能导致代码重复,这不是一件很酷的事情 。 我想总结一个这样的数字的数字: let rec crossfoot n = if n = 0 then 0 else n % 10 + crossfoot (n / 10) crossfoot 123 这正确打印6 。 但现在我的input数字不适合int 32位,所以我必须将其转换为。 let rec crossfoot n = if n = 0L then 0L else n % 10L + crossfoot (n / 10L) crossfoot 123L 然后,一个BigInteger来我的方式,并猜测是什么… 当然,我只能拥有bigint版本,并根据需要向上投入input参数和输出参数。 但是首先我假设在int上使用BigInteger有一些性能惩罚。 […]

Monad理论和Haskell

大多数教程似乎给了monads(IO,状态,列表等等)的很多例子,然后期望读者能够抽象出整体原理,然后他们提到类别理论。 我并不倾向于通过从例子中泛化来学习,我想从理论的angular度来理解为什么这个模式如此重要。 从这个线程判断: 任何人都可以解释Monads? 这是一个常见的问题,我已经尝试了大部分的教程(除了Brian Beckvideo,不会在我的Linux机器上播放): 有没有人知道从类别理论开始的教程,并解释IO,状态,列表monad这些条款? 以下是我不成功的尝试: 据我所知,一个monad包含一个三元组:一个内部函子和两个自然转换。 函子通常用types表示:(a – > b) – >(ma – > mb)为了强调对称性,我包含了第二个括号。 但是,这是一个pipe理者的终结,所以不应该像这样的域和共域吗? (a→b)→(a→b) 我认为答案是域和共域都有一个types: (a – > b)| (ma – > mb)| (mma – > mmb)等等… 但是我不确定这是否符合给定函子的定义? 当我们转向自然变革时,情况会变得更糟。 如果我理解正确的话,一个自然变换就是一个二次仿函数(具有一定的规则),它是一个仿函数的仿函数。 因此,由于我们已经定义了上面的函子,所以自然变换的一般types是:(a→b)→(ma→mb)→→(a→b)→ma→mb )) 但是我们正在使用的实际的自然转换有types: a – > ma ma – >(a – > mb) – > mb 上述一般forms的这些子集? 为什么他们是自然的转变? 马丁

什么是Haskell的DataKinds扩展?

我试图find一个DataKinds扩展的解释,这对我来说只有阅读了学习你一个Haskell才有意义。 有没有一个标准的来源,我会学到什么? 编辑:例如文档说 使用-XDataKinds,GHC会自动将每个合适的数据types提升为一种types,并将其(值)构造函数自动提升为types构造函数。 以下types 并举例说明 data Nat = Ze | Su Nat 引起了以下种类和types的构造函数: Nat :: BOX Ze :: Nat Su :: Nat -> Nat 我没有明白这一点。 虽然我不明白BOX是什么意思,但Ze :: Nat和Su :: Nat -> Nat的陈述似乎说明了Ze和Su是正常的数据构造函数,正如你期望用ghci Prelude> :t Su Su :: Nat -> Nat