小编Zar*_*oth的帖子

Haskell - 如何以优雅的方式以相反的顺序迭代列表元素?

我正在尝试编写一个给出数字列表的函数,返回一个列表,其中每个第二个数字的值加倍,从最后一个元素开始.因此,如果列表元素是1..n,则第n个将保持原样,(n-1)-th将在值中加倍,(n-2)-th将被保留原样等

所以这就是我如何解决它:

MyFunc :: [Integer] -> [Integer]
MyFunc xs = reverse (MyFuncHelper (reverse xs))

MyFuncHelper :: [Integer] -> [Integer]
MyFuncHelper []       = []
MyFuncHelper (x:[])   = [x]
MyFuncHelper (x:y:zs) = [x,y*2] ++ MyFuncHelper zs
Run Code Online (Sandbox Code Playgroud)

它有效:

MyFunc [1,1,1,1] = [2,1,2,1]
MyFunc [1,1,1] = [1,2,1]
Run Code Online (Sandbox Code Playgroud)

但是,我不禁想到必须有一个更简单的解决方案,而不是反转列表,处理它然后再次反转它.我可以简单地向后迭代列表吗?如果有,怎么样?

iteration reverse haskell list

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

访问 Vue 中子组件的计算属性

访问子组件的计算属性的正确方法是什么?下面是我想要实现的目标的简化示例(也可在JSFiddle上找到):

const FoobarWidget = {
    template: '<li>a: <input type="text" v-model="value.a" style="width:2em;"> b: <input type="text" v-model="value.b" style="width:2em;"> sum: {{this.sum}} <button @click="die">x</button></li>',
    props: {
        value: {
            type: Object,
            required: true,
        }
    },
    computed: {
        sum() {
            const s = Number(this.value.a) + Number(this.value.b)
            // WARNING eslint - vue:no-side-effects-in-computed-properties
            this.value.sum = s;
            return s;
        }
    },
    methods: {
        die() {
            this.$emit('die');
        }
    }
};

new Vue({
    el: '#app',
    data: {
        foobars: [{
            a: '5',
            b: '6'
        }],
    },
    components: {
        FoobarWidget,
    }, …
Run Code Online (Sandbox Code Playgroud)

javascript vue.js vue-component vuejs2

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

如何创建一个可选的参数?

而不是用户必须使用script.py --file c:/stuff/file.txt有一种方法让用户可选地使用--file?所以相反,它看起来像script.py c:/stuff/file.txt但解析器仍然知道用户正在引用--file参数(因为它暗示).

python command-line-arguments argparse

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

如何对hashmap中的所有值求和?

在Clojure中,我有一张这样的地图:

(def data {:a 1 :b 2 :c 3})
Run Code Online (Sandbox Code Playgroud)

我想总结所有元素并得到6结果.我知道我应该使用reduce,但我不知道如何正确地做到这一点.

reduce sum clojure hashmap

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