小编mis*_*tor的帖子

为什么要避免使用子类型?

我看到Scala社区中有很多人建议避免像"瘟疫一样"进行分类.使用子类型的各种原因是什么?有哪些替代方案?

oop programming-languages functional-programming scala

34
推荐指数
3
解决办法
3637
查看次数

什么是Clojure中的单级序列展平函数?

什么是Clojure中的单级序列展平函数?我现在正在使用apply concat,但我想知道是否有内置函数,无论是在标准库还是clojure-contrib中.

functional-programming clojure

32
推荐指数
3
解决办法
7715
查看次数

如何在C#中声明一个局部常量?

如何在C#中声明一个局部常量?

与在Java中一样,您可以执行以下操作:

public void f(){
  final int n = getNum(); // n declared constant
}
Run Code Online (Sandbox Code Playgroud)

如何在C#中做同样的事情?我试着用readonlyconst,但没有一个似乎工作.

任何帮助将不胜感激.

谢谢.

c# local-variables readonly immutability

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

为什么在列表列表中应用`sequence`会导致其笛卡尔积的计算?

我的问题是关于sequence功能Prelude,其签名如下:

sequence :: Monad m => [m a] -> m [a]
Run Code Online (Sandbox Code Playgroud)

我理解这个函数是如何工作的ListMaybe秒.例如,将sequence[Just 3, Just 9]给人Just [3, 9].

我注意到,应用sequenceListLists给出了笛卡尔乘积.有人可以帮我理解这是怎么回事?

monads haskell functional-programming cartesian-product

29
推荐指数
3
解决办法
9426
查看次数

在方法返回类型上键入推断

当方法中使用显式return语句时,为什么Scala无法推断方法的返回类型?

例如,为什么以下代码编译?

object Main {
    def who = 5
    def main(args: Array[String]) = println(who)
}
Run Code Online (Sandbox Code Playgroud)

但以下情况并非如此.

object Main {
    def who = return 5
    def main(args: Array[String]) = println(who)
}
Run Code Online (Sandbox Code Playgroud)

scala type-inference

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

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

什么是开放递归?

什么是开放递归?它是否特定于OOP?

(我碰到这个词在这条推文丹尼尔Spiewak.)

oop programming-languages scala

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

在方法参数中初始化数组

在PHP中,您可以执行以下操作:

method(array("a", "b"));
Run Code Online (Sandbox Code Playgroud)

您是否可以在Java中将String数组初始化为方法调用中的参数,如tihs:

method(new String[] = {"a", "b"});
Run Code Online (Sandbox Code Playgroud)

谢谢!

java arrays string methods

27
推荐指数
3
解决办法
7万
查看次数

将注释处理器与Gradle集成

我需要编写一些注释处理器.我发现这篇博客文章提到了如何在一般环境和Eclipse中完成.

但是我使用的是IntelliJ IDEA和Gradle,并且如果有更好的(如同,不那么繁琐)的方法,那么它就像它一样.我在找什么:

  1. 我应该能够编写注释处理器和将在同一个项目中使用它们的代码,Gradle应该处理将处理器添加到类路径并在approrpiate阶段使用javac调用它们.
    要么
  2. 如果以上是不可能的,我必须创建两个单独的项目,那么至少应该可以将它们保存在同一个git存储库中.Gradle应该无缝地处理构建.
    要么
  3. 如果两者都不可能并且我必须创建两个单独的git存储库,那么至少Gradle应该无缝地处理链接博客文章中提到的内容而无需进一步的手动干预.

我的git和Gradle技能是初学者级别的.我很感激任何帮助这项任务.谢谢.

java annotations intellij-idea gradle

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

"不等于"的F#语法是什么?

在C代码中,它将是这样的:

if (c != 0) { //some code ...}
Run Code Online (Sandbox Code Playgroud)

在F#怎么样?

f#

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