小编Rah*_*thy的帖子

Frege putStr刷新行为与Haskell或Java不同

假设你提示用户输入用的组合putStrgetLine:

main = do
    putStrLn "A line with line termination" -- printed correctly
    putStr   "A line without line termination, e.g. to prompt for input: " -- NOT printed
    line <-  getLine
    putStrLn ("You entered: " ++ line)
Run Code Online (Sandbox Code Playgroud)

与Haskell相比,Frege不打印第二行(使用putStr而不是putStrLn).这种缺失冲洗的行为是否意图?

如果Frege偏离Haskell行为,我会认为它模仿Java的行为.概念上类似的例子:

public static void main(String[] args) {
    System.out.println("A line with line termination");
    System.out.print("A line without line termination, e.g. to prompt for input: ");
    String line = new java.util.Scanner(System.in).nextLine();
    System.out.println("You entered: " + line);
} …
Run Code Online (Sandbox Code Playgroud)

frege

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

IntelliJ IDEA 15"代码>生成"缺少上下文菜单"equals()和hashCode()"条目

在我的IntelliJ IDEA 15(build 143.382)中,通过"Code> Generate"调用的上下文菜单缺少"equals()和hashCode()"条目.如何配置上下文菜单内容以将其恢复?

在此输入图像描述

intellij-idea intellij-15

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

React&SVG:外部对象中的HTML未呈现

我通过foreignobject以下方式在HTML中嵌入HTML :

var SvgWithForeignObject = React.createClass({
  render: function() {
    return(
      <svg>
        <foreignobject><div>Hello From SVG</div></foreignobject>
      </svg>
    )
  }
});

ReactDOM.render( < SvgWithForeignObject / > ,
  document.getElementById('container')
);
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>

<div id="container">
  <!-- This element's contents will be replaced with your component. -->
</div>
Run Code Online (Sandbox Code Playgroud)

不呈现"Hello From SVG"字符串.但是,我可以在Chrome或FF中进行小的空格编辑,然后它变得可见:

在此输入图像描述

(注意:屏幕录制来自我通过Scala.js使用React的示例,但行为与普通的React完全相同)

svg reactjs

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

惯用Scala:根据条件映射选项

我有两个val,一个condition和一个option.请注意,这condition是一个简单的布尔值,不依赖于选项的值.

如果condition成立,我想映射选项以将其转换为结果值.在所有其他情况下,我想返回一个defaultResult.

这有效并且非常易读,但我不喜欢重复defaultResult:

val result = if (condition) {
  option.map(valueToResult).getOrElse(defaultResult)
} else {
  defaultResult
}
Run Code Online (Sandbox Code Playgroud)

我的第二种方法没有重复,但我不喜欢过滤器被滥用于实际上并不依赖于选项值的事实:

val result = option.filter(_ => condition).map(valueToResult).getOrElse(defaultResult)
Run Code Online (Sandbox Code Playgroud)

在Scala中有什么更惯用或更好的方法?

scala

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

Odersky的Coursera讲座:为什么类型检查器不能推断值类型Int?

我的问题是关于奥德斯基的讲座3.5(不是作业!):

19:15的练习问:"这是什么类型:if (true) 1 else false"

在他的解释中,Odersky认为类型是AnyVal因为它是IntBoolean(两个条件分支的类型)最具体的超类型.

我问自己为什么类型检查器不够智能,只能看到第一个分支实际上是相关的,因此可以推断出类型Int

scala type-inference

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

Retrofit2 + RxJava + Jackson 默默失败

我正在研究使用 Retrofit2 和 RxJava 的 Java 8 REST 客户端设置。使用时GsonConverterFactory一切都会按预期进行。当切换到 a 时JacksonConverterFactory,我根本看不到任何结果(但也不例外)。根据日志,REST 调用本身是正常的。

GitHub上的完整示例。

java jackson rx-java retrofit2

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