小编bzi*_*zim的帖子

浮动和双重分数?

如果我在ghci中输入":i Double"或":i Float",则表示Double和Float是Fractional的实例.但是在Haskell文档中,它说它们不是.那么他们是不是? http://hackage.haskell.org/package/base-4.9.1.0/docs/Prelude.html#t:Fractional

haskell

6
推荐指数
1
解决办法
368
查看次数

实例实现的模式匹配

我正在尝试实现数据类型的show方法.

data OptionList a b = EmptyOpt | OptionList { optListHead :: a, optListTail :: b } deriving (Read)

instance (Show a, Show b) => Show (OptionList a b) where
    show (OptionList a EmptyOpt) = "{" ++ (show a) ++"}"
    show (OptionList EmptyOpt b) = "{" ++ (show b) ++"}"
    show (OptionList a b) = "{"++ (show a) ++ ", " ++ (show b) ++"}"
    show EmptyOpt = ""
Run Code Online (Sandbox Code Playgroud)

我希望OptionList不显示逗号,如果其中一个ab具有由EmptyOpt构造的值.但编译器显示以下错误:

OptionList.hs:11:28:
    Couldn't match expected type ‘b’ …
Run Code Online (Sandbox Code Playgroud)

haskell pattern-matching typeclass

3
推荐指数
1
解决办法
663
查看次数

PHP - 公众可见度不太安全吗?

我曾经问过一位老师为什么习惯将财产的可见性设定为私人或受保护的人.她回答我说这比公开更安全,但我对这个答案并不是很有信心.所以,我想知道,即使我确保最终用户无法操纵我的类,公共财产对于属性真的不太安全吗?为什么?

php security visibility

2
推荐指数
1
解决办法
102
查看次数

图案重叠,为什么会发生?

我有一个文件OptionList.hs,有一个名为OptionList的新数据类型.我想在显示OptionList时隐藏EmptyOpt:

module OptionList (
    OptionList,
    voidOption,
    (+:)
) where


data OptionList a b = EmptyOpt | OptionList { optListHead :: a, optListTail :: b } deriving (Read)

instance (Show a, Show b) => Show (OptionList a b) where
    show (OptionList voidOption a) = "{" ++ (show a) ++"}"
    show (OptionList a voidOption) = "{" ++ (show a) ++"}"
    show (OptionList a b) = "{"++ (show a) ++ ", " ++ (show b) ++"}"
    show voidOption = ""




voidOption::(OptionList Int Int) …
Run Code Online (Sandbox Code Playgroud)

haskell pattern-matching

2
推荐指数
1
解决办法
142
查看次数

"aoad"或"areturn"等JVM指令中的'a'是什么意思?

"aoad"或"areturn"等JVM指令中的'a'是什么意思?我知道他们在引用上运行,但为什么它们被命名为'aload','astore'等而不是'rload','rstore'等?

jvm terminology

2
推荐指数
1
解决办法
236
查看次数