Tag: 原始types

基于返回types推理的意外隐式parsing

给定一个typestypes,应根据返回types执行实例select: case class Monoid[A](m0: A) // We only care about the zero here implicit def s[T] : Monoid[Set[T]] = Monoid(Set.empty[T]) implicit def l[T] : Monoid[List[T]] = Monoid(List.empty[T]) def mzero[A](implicit m: Monoid[A]) : A = m.m0 为什么Scala(2.11.6)无法parsing正确的实例: scala> mzero : List[Int] <console>:24: error: ambiguous implicit values: both method s of type [T]=> Monoid[Set[T]] and method l […]

更改结构列表中元素的值

我有一个结构列表,我想改变一个元素。 例如 : MyList.Add(new MyStruct("john"); MyList.Add(new MyStruct("peter"); 现在我想改变一个元素: MyList[1].Name = "bob" 但是,每当我尝试这样做,我得到以下错误: 无法修改System.Collections.Generic.List.this [int]的返回值,因为它不是一个variables 如果我使用类的列表,问题不会发生。 我想答案与结构是一种价值types有关。 所以,如果我有一个结构列表,我应该把它们看作是只读的吗? 如果我需要更改列表中的元素,那么我应该使用类而不是结构?

如何将NSMutableData转换为iPhone上的NSString?

我从服务器收到一个NSMutableData,现在我想把它转换成一个NSString。 任何想法如何做到这一点?

如何在PHP中检查特定types的对象

我有一个接受一个PDO对象作为参数的方法,以允许用户使用现有的连接,而不是方法来打开一个新的,并节省资源: public static function databaseConnect($pdo = null) { 我知道is_object()来检查参数是否是一个对象,但我想检查$pdo是否是一个PDO对象,而不是一个对象。 因为用户可以很容易地input(错误地)一个不同types的对象,一个mysqli或类似的东西,整个脚本将会分开。 简而言之:如何检查特定types对象的variables?

如何从.net中的数组types获取数组项types

说我有一个System.String[]types的对象。 我可以查询types对象,以确定它是否是一个数组 Type t1 = typeof(System.String[]); bool isAnArray = t1.IsArray; // should be true 但是,我如何从t1获取数组项的types对象 Type t2 = ….; // should be typeof(System.String)

JetBrains WebIDE:PHPvariablestypes提示?

有没有办法提示WebIDE,一个variables有一些types? 我必须迭代一个对象数组,并没有自动完成可用。 这有助于ZendStudio: /* @var ClassName $object */ 我知道在JetBrains中有一个特性来声明一个对象数组: /** * @return ClassName[] */ 但是这只适用于函数的返回types。

我怎么能将数据从string转换为长在C#

我怎么能将数据从string转换为长在C#中? 我有数据 String strValue[i] ="1100.25"; 现在我想要它 long l1;

价值观,种类,种类……作为一个无限的序列?

我刚刚开始熟悉种类的概念,所以如果我不能很好地解决我的问题,请耐心等待… 值有types: 3 :: Int [1,2,3] :: [Int] ('c',True) :: (Char,Bool) types有种类: the type 'Int' has kind * the type '[Int]' also has kind * but the type constructor [] has kind * -> * similarly, the type (Char,Bool) has kind * but the type constructor (,) has kind * -> * -> * 种类有什么? […]

如何创buildtypes安全的枚举?

在C中使用枚举来实现types安全是有问题的,因为它们实质上只是整数。 枚举常量实际上被定义为由标准的inttypes。 为了达到某种types的安全性,我使用这样的指针做技巧: typedef enum { BLUE, RED } color_t; void color_assign (color_t* var, color_t val) { *var = val; } 因为指针比值更严格的types规则,所以这可以防止这样的代码: int x; color_assign(&x, BLUE); // compiler error 但是这并不妨碍这样的代码: color_t color; color_assign(&color, 123); // garbage value 这是因为枚举常量本质上只是一个int并可以隐式地分配给一个枚举variables。 有没有办法写这样一个函数或macroscolor_assign ,甚至可以实现完整的types安全枚举常量?

Haskelltypes与newtypetypes安全性有关

我知道newtype与Haskell中的data相比经常被比较,但是我从更多的deviseangular度来比较这个比较,而不是技术问题。 在不确定/ OO语言中,存在反模式的“ 原始痴迷 ”,其中原始types的大量使用降低了程序的types安全性并且引入了相同types值的意外互换性,否则旨在用于不同目的。 例如,很多东西可以是一个string,但是如果一个编译器能够静态地知道我们的意思是一个名字,我们的意思是在一个地址中的城市,这将是很好的。 那么,Haskell程序员多newtype使用newtype来区别原始值呢? type的使用引入了一个别名,并赋予程序的可读性更清晰的语义,但并不防止意外地交换值。 当我学习haskell时,我注意到types系统和我所遇到的一样强大。 因此,我认为这是一个自然而常见的做法,但从这个angular度来看,我还没有看到太多或者有什么新用法的讨论。 当然,很多程序员都是以不同的方式做事,但这在haskell中是如此普遍吗?