小编And*_*ewC的帖子

stateflow和simulink有什么区别?

据我所知,stateflow和simulink经常同时使用,并且都是MathWorks开发的环境,他们制作了Matlab.我可以知道它们之间有什么区别吗?

matlab simulink stateflow

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

为什么Haskell不能推断Tree类型?

我按照本书来定义树数据类型,但show无法正常工作.为什么?

data Tree a = EmptyTree | Node a (Tree a) (Tree a) deriving (Show)

test = show EmptyTree
Run Code Online (Sandbox Code Playgroud)

给出错误消息:

No instance for (Show a0) arising from a use of ???show???
The type variable ???a0??? is ambiguous
Note: there are several potential instances:
  instance Show a => Show (Tree a)
    -- Defined at /Users/gzhao/Documents/workspace/hsTest2/src/Tree.hs:3:62
  instance Show Double -- Defined in ???GHC.Float???
  instance Show Float -- Defined in ???GHC.Float???
  ...plus 25 others
In the expression: show EmptyTree
In an equation for …
Run Code Online (Sandbox Code Playgroud)

haskell

7
推荐指数
1
解决办法
157
查看次数

String.IsNullOrEmpty(myString)vs myString!= null

哪三个在这三个中更好?

string myString = ""; 
String.IsNullOrEmpty(myString);

vs

string myString = "";
if(myString.Length > 0 || myString != null)

vs 

string myString = "";
if (m.Length > 0 | m != null)
Run Code Online (Sandbox Code Playgroud)

前者更清楚,但这些之间有任何性能差异吗?如果字符串从不为空,如果从文本框中取出,可能是空的但不是空的,该怎么办?

c# string null-string

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

如何在Haskell中映射多个参数的函数列表?

我有三个功能(getRow,getColumn,getBlock)使用两个参数(x和y),每个产生相同类型的列表.我想写第四个连接输出的函数:

outputList :: Int -> Int -> [Maybe Int]
outputList x y = concat . map ($ y) $ map ($ x) [getRow,getColumn,getBlock]
Run Code Online (Sandbox Code Playgroud)

该功能有效,但有没有办法将双地图(三个'$')重写为一个地图?

haskell currying

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

为什么我不能使用这种非参数化类型创建实例?

为什么这段代码是正确的

instance Functor IO where -- note that IO isn't parametrized, and it's correct
    fmap f action = do
        result <- action
        return (f result)
Run Code Online (Sandbox Code Playgroud)

但是下面的代码有编译错误?

class Print a where
    print :: a -> String

data A t = A t
instance Print A where  -- error: expecting one more argument to `A'
    print a = "abc"
Run Code Online (Sandbox Code Playgroud)

haskell typeclass

6
推荐指数
2
解决办法
1365
查看次数

在Haskell中使用'let'的功能纯度

当我正在学习Haskell时,我理解它是一种纯函数式语言.我无法理解为什么 - let陈述不违反纯度.

例如(在ghci中):

Prelude> let e = exp 1
Prelude> e
2.718281828459045
Prelude> let e = 2
Prelude> e
2
Run Code Online (Sandbox Code Playgroud)

是不是我的第二个let产生副作用的声明?或者是第二个let声明是一个新的关闭?

haskell

6
推荐指数
2
解决办法
433
查看次数

如何在notepad ++上编译和运行haskell

你如何在记事本++上编译和运行Haskell我安装了插件NppExec然后我按下F6 我保存了我的Haskell文件到C:\Users\Sam\Desktop\haskell files\new 3.hs

所以按下F6之后的命令,我尝试输入几个不同的东西:

C:\Users\Sam\Desktop\haskell files\new 3.hs`
ghc.exe new 3.hs
haskell new
Run Code Online (Sandbox Code Playgroud)

但我收到了这些回复:

C:\Users\Sam\Desktop\haskell files\new 3.hs
CreateProcess() failed with error code 2:
The system cannot find the file specified.

ghc.exe new 3.hs
Process started >>>
target `new' is not a module name or a source file
<<< Process finished.

haskell new 3
CreateProcess() failed with error code 2:
The system cannot find the file specified.

================ READY ================
Run Code Online (Sandbox Code Playgroud)

在notepad ++上编译和执行haskell文件的正确方法是什么?

haskell notepad++ ghc

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

Windows下的cabal没有代理标志?

当我尝试在没有设置的情况下在代理后面运行cabal时HTTP_PROXY,我得到了

C:\Users\joeschmo>cabal update
Downloading the latest package list from hackage.haskell.org
cabal: openTCPConnection: host lookup failure for "hackage.haskell.org"
Run Code Online (Sandbox Code Playgroud)

cabal -h 不提供代理选项,我找不到任何关于如何设置.cabal文件来修复它的信息.

出于安全原因,设置HTTP_PROXY环境var可能是个坏主意.

有任何想法吗?试图找到除命令行以外的解决方案:

set HTTP_PROXY=http://username:password@proxyurl:port
Run Code Online (Sandbox Code Playgroud)

proxy haskell cabal

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

一个纯函数如何做IO?

我最近了解了MonadRandom库.它为您提供了一个被调用的函数getRandomR,其类型签名是:

getRandomR :: (MonadRandom m, Random a) => (a, a) -> m a
Run Code Online (Sandbox Code Playgroud)

显然,您可以编写一个函数,该函数使用getRandomR哪种类型的签名不包含任何内容IO.

computeSomething :: MonadRandom m => Int -> m Int
computeSomething a = getRandomR (0, a)
Run Code Online (Sandbox Code Playgroud)

根据调用者的不同,m将填写实例.如果它是从IO上下文运行的,那么该函数将是不纯的.

那么,问题是:一个不声称做的功能怎么能IO真正做到IO呢?如何判断这个computeSomething函数是纯粹的还是不纯的?

haskell functional-programming

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

哈斯克尔 - 关于咖喱

在Haskell中,所有功能都是最初的咖喱,对吗?

那么,让我们来看一下这个max函数吧,我会写下我对它是如何工作的理解.

当我写这样的东西时:

max 4 5
Run Code Online (Sandbox Code Playgroud)

会发生的是创建一个内部值为4的新函数,然后接收一个值,因此将此函数应用于5并返回正确的值?

我是以某种方式说错了还是这是正确的?

haskell

5
推荐指数
1
解决办法
197
查看次数