小编Sly*_*erZ的帖子

是否有可能在Haskell中筑巢?

Haskell新手在这里,试图编写代码来解析数学表达式.码:

isDigit :: Char -> Bool
isDigit c = c >= '0' && c <= '9'

parseNumber :: String -> Maybe (String, String)
parseNumber [] = Just ("", "")
parseNumber (h:ls)
    | isDigit h
        | p == Nothing = Just([h], ls)      -- Digit found    <<< ERROR!!
        | otherwise = Just (h:fst d, snd d) -- Ends in a digit
    | h == '.'
        | p == Nothing = Nothing                                -- Ends in a point
        | not ('.' `elem` (snd d)) …
Run Code Online (Sandbox Code Playgroud)

haskell

7
推荐指数
4
解决办法
7810
查看次数

从数组的类型中找出元素的类型

假设我有一个类型T,它保证是一个数组(例如。int[32])。如何从数组的类型中获取元素的类型?

我找到了一种方法,但它涉及声明一个虚拟临时变量,我想避免这种情况:

#include <iostream>
#include <typeinfo>

using namespace std;

template <typename T>
string getArrayType() {
    // Is there a better way to do this?
    T dummy;
    return typeid(dummy[0]).name();
}

int main() {
    cout << getArrayType<int[1]>() << endl;     // i
    cout << getArrayType<float[1]>() << endl;   // f
}
Run Code Online (Sandbox Code Playgroud)

c++ arrays templates metaprogramming

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

如何在Javascript中绑定隐藏的原型

我正试图在一个隐藏它的环境中访问Float32Array,更准确地说,就是可汗学院的编程环境.

我看到一个人做hacky做类似的事情,我调整了他的代码,但我真的不明白为什么我通过这样编写代码来访问Float32Array.

码:

var Float32Array = (function () {
    return this.Function("return Float32Array;");
})()();

var a = new Float32Array([1, 2, 3]);
Run Code Online (Sandbox Code Playgroud)

Firefox警告:

不建议使用不带new的内置类型数组构造函数,并且在ES6中将被禁止

Chrome错误

构造函数Float32Array需要'new'

这告诉我,我在这里做错了,但我不知道它是什么.我怎样才能以更强大的方式访问Float32Arrays?

javascript

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

标签 统计

arrays ×1

c++ ×1

haskell ×1

javascript ×1

metaprogramming ×1

templates ×1