小编Lee*_*hem的帖子

Haskell:如何在返回布尔值的函数中使用来自randomRIO的随机整数

我是Haskell的新手,我在使用randomRIO函数的IO Int时遇到了问题.我的目标是获得一个随机的Int值,比如r,如果r <x则返回True,否则返回false,但我不知道该怎么做.

我的功能应该是这样的:

randomCompare :: Int->Bool

randomCompare x

  | x < r = True -- somehow i want to r <- randomRIO(start,end) 

  | otherwise = False                
Run Code Online (Sandbox Code Playgroud)

我知道有一个设计意图,保持IO值在上下文中纯度等.但我不明白为什么使用布尔函数的随机数应该是"坏".

谢谢.

random haskell

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

c ++成员函数名称与标准c库不明确

以下是我的示例代码

foo()需要使用标准c库exit()来终止进程的成员函数中,但int CFoo::exit(void)在编译时它与成员函数有不明确的命名错误.

无论如何可以避免这个问题?

#include <stdlib.h>
#include <stdio.h>

class CFoo
{

public:

    void foo(void)
    {
        exit(0); // needs to use standard libc to exit process
    }

    void exit(void)
    {
        printf("exit\n");
    }
};

int main()
{

    CFoo obj;

    obj.foo();
}
Run Code Online (Sandbox Code Playgroud)

c c++

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

你可以在同一个cabal包中有一个可执行文件和库

我是新用的cabal,我需要我的包包含一个小的可执行文件以及整个库.是否可以这样做(导出可执行文件和库)或者cabal包是否具有type(可执行的OR二进制文件).是否也可以在同一个packagke中导出许多可执行文件?

haskell cabal

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

如何在字段中存储格式字符串并避免格式非文字警告?

我知道如果函数需要将格式字符串传递到 vsnprintf 中,您可以避免出现__attribute__((__format__ (__printf__, 2, 0)))“格式字符串不是字符串文字”的 clang 警告。但是在我的例子中,格式字符串被保存为一个用文字初始化的字段。像这样的东西:

class Worker {
    const char* format;
    Worker(const char* f): format(f) {...}

    void go() {
        ...
        vsnprintf(..,..,format,..);
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能避免警告?

c++ printf clang

0
推荐指数
1
解决办法
1588
查看次数

iOS 上如何获取符号地址?

我正在构建一个用于从 Python 访问 Objective-C 的库。我一直在获取 iOS 上变量的地址。

假设我想获取以下指针地址CBCentralManagerScanOptionAllowDuplicatesKey

NSString *key = CBCentralManagerScanOptionAllowDuplicatesKey;
NSLog(@"Address is: %p\n", key);

NSString *key2 = dlsym(RTLD_SELF, "CBCentralManagerScanOptionAllowDuplicatesKey");
NSLog(@"Address2 is: %p\n", key2);
Run Code Online (Sandbox Code Playgroud)

我有:

Address is: 0x3a827fcc
Address2 is: 0x3a825514
Run Code Online (Sandbox Code Playgroud)

为什么我会得到不同的值?我尝试查找RTLD_NEXT,仍然得到相同的值。Objective-C 变量是否以某种方式被破坏了?

objective-c ios

0
推荐指数
1
解决办法
450
查看次数

strstr()是正常的吗?

描述:

strstr声明:
char *strstr(const char *haystack, const char *needle);

我的功能定义:

hostinfo_t *extract_host_from_url(const char *url) {
    /* ... */
    char *scheme_pos = strstr(url, "://");
    /* ... */
}
Run Code Online (Sandbox Code Playgroud)

我怎么用它:

void rewrite_url(string &url) {
    /* ... */
    hostinfo_t * hostinfo = extract_host_from_url(url.c_str());
    /* ... */
}
Run Code Online (Sandbox Code Playgroud)

错误信息:

错误:从'const char*'到'char*'的无效转换[-fpermissive]
     char*scheme_pos = strstr(url,"://");

题:

哪里出错了?

c++

0
推荐指数
1
解决办法
108
查看次数

将 myType 转换为 Int

我有我的类型,在这里定义: data Nat = Zero | Succ Nat deriving Show

我想要定义函数,将 Nat 转换为 Int。请帮助

我所有的尝试都是这样的:

toInt :: Nat -> Int
toInt n = show n :: Int
Run Code Online (Sandbox Code Playgroud)

并没有给出结果

haskell casting converters

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

标签 统计

c++ ×3

haskell ×3

c ×1

cabal ×1

casting ×1

clang ×1

converters ×1

ios ×1

objective-c ×1

printf ×1

random ×1