Tag: 函数

C / C ++默认参数设置为前一个参数

我无法find明确的答案,虽然这可能是因为我没有使用正确的search条件,所以请redirect我,如果是这样的话。 是否有可能在函数参数列表中使用先前的参数作为参数列表中以后参数的默认值? 例如, void f( int a, int b = a, int c = b ); 如果这是可能的,是否有任何使用规则? C和C ++有什么不同?

C#用任意数量的参数记忆函数

我试图为任意数量的参数创build一个memoization接口,但我很失败,我觉得我的解决scheme不是很灵活。 我试图为一个函数定义一个接口,在执行时会自动记忆,每个函数都必须实现这个接口。 这里是一个双参数指数移动平均函数的例子: class EMAFunction:IFunction { Dictionary<List<object>, List<object>> map; class EMAComparer : IEqualityComparer<List<object>> { private int _multiplier = 97; public bool Equals(List<object> a, List<object> b) { List<object> aVals = (List<object>)a[0]; int aPeriod = (int)a[1]; List<object> bVals = (List<object>)b[0]; int bPeriod = (int)b[1]; return (aVals.Count == bVals.Count) && (aPeriod == bPeriod); } public int GetHashCode(List<object> obj) […]

在clojure中让vs

我想在clojure程序中创build一个Java Scanner类的本地实例。 为什么这不起作用: ;gives me: count not supported on this type: Symbol (let s (new Scanner "abc")) 但它会让我创build一个像这样的全局实例: (def s (new Scanner "abc")) 我的印象是,唯一的区别是范围,但显然不是。 let和def有什么区别?

函数/过程/方法应该有多less行代码?

可能重复: 什么时候function太长? 我最近被赋予了一个不值得羡慕的任务,那就是审查另一个开发人员编写的糟糕的代码,并logging不好的做法。 (这当然是为了退出开发者的工作而不是为了任何利他的理由!) 审查的代码有几个程序是很多代码行 – 最长的是近600行。 我想到的一些问题是可维护性和可读性。 诀窍是,我需要向一个非专业人士辩解,为什么这是一个不好的做法,如果可能的话,还要备份一本备受好评的现行参考书。 类比也不错。 有任何想法吗? 重复: 什么时候function太长? 重复: 最大规则function的最佳规则?

什么是高阶函数的一些有趣的用法?

我目前正在做一个函数式编程课程,我很高兴高阶函数和函数作为一等公民的概念。 然而,我还不能想到许多实际上有用的,概念上的惊人的,或者只是简单有趣的高阶函数。 (除了典型和相当沉闷的map , filter等function)。 你知道这样有趣的function的例子吗? 也许返回函数的函数,返回函数列表(?)等的函数 我会很感激Haskell的例子,这是我目前正在学习的语言:)

使用前面的函数参数声明新函数是否合法?

下面的代码用GCC干净地编译: void func(int arg1, decltype(arg1) arg2) { (void)arg2; } int main(){} 我用这个命令来编译: g++ -std=c++14 test.cpp -o test -pedantic-errors -Wall -Wextra 但是在函数声明中使用这个参数看起来很奇怪。 它实际上在标准C ++中是否有效,还是GCC扩展?

在Haskell中,::(双冒号)代表什么?

我看到和使用::符号无处不在,但仍然不知道什么是符号在Haskell中编程的意思,例如 run :: Int -> Int -> Int — ?? 在Haskell中, :: :(双冒号)代表什么?

为什么一个函数不是一个对象?

我读了标准n4296(Draft)§1.8第7页: 一个对象是一个存储区域。 [注意:函数不是一个对象,不pipe它是否以对象的方式占用存储空间。 – 注意] 我花了一些时间在网上寻找这样的排斥的一个很好的理由,没有运气。 也许是因为我不完全了解对象。 所以: 为什么一个函数不是一个对象? 它有什么不同? 这是否与仿函数(函数对象)有任何关系?

Java中的嵌套函数

Java编程语言是否有扩展可以创build嵌套函数? 在很多情况下,我需要创build在另一个方法或for循环中只使用一次的方法。 到目前为止,我一直无法用Java来完成这个任务,尽pipe它可以在Javascript中轻松完成。 例如,这不能在标准的Java中完成: for(int i = 1; i < 100; i++){ times(2); //multiply i by 2 and print i times(i); //square i and then print the result public void times(int num){ i *= num; System.out.println(i); } }

如何调用在Django模板中引用参数的函数?

我传递给Django的模板一个函数,它返回一些logging。 我想调用这个函数并迭代它的结果。 {% for item in my_func(10) %} 这是行不通的。 我试图将函数的返回值设置为一个variables,并迭代variables,但似乎没有办法在Django模板中设置variables。 有没有正常的方法来做到这一点?