小编dsg*_*dsg的帖子

在Ruby中读取文件的常用方法是什么?

在Ruby中读取文件的常用方法是什么?

例如,这是一种方法:

fileObj = File.new($fileName, "r")
while (line = fileObj.gets)
  puts(line)
end
fileObj.close
Run Code Online (Sandbox Code Playgroud)

我知道Ruby非常灵活.每种方法的好处/缺点是什么?

ruby file-io

271
推荐指数
7
解决办法
33万
查看次数

SBT停止运行而没有退出

如何在不退出的情况下终止SBT中的运行?

我正在尝试CTRL + C,但它退出了SBT.有没有办法在保持SBT打开的同时退出正在运行的应用程序?

scala terminate sbt

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

Scala类型的编程资源

根据这个问题,Scala的类型系统是Turing完整的.有哪些资源可以让新手利用类型级编程的强大功能?

以下是我到目前为止找到的资源:

这些资源很棒,但我觉得我缺少基础知识,因此没有坚实的基础来构建.例如,哪里有类型定义的介绍?我可以对类型执行哪些操作?

有没有好的入门资源?

types scala

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

Java:使用类型参数访问私有构造函数

这是关于java私有构造函数的这个问题的后续内容.

假设我有以下课程:

class Foo<T>
{
    private T arg;
    private Foo(T t) {
        // private!
        this.arg = t;
    }   

    @Override
    public String toString() {
        return "My argument is: " + arg;
    }   
}
Run Code Online (Sandbox Code Playgroud)

我如何构建new Foo("hello")使用反射?

回答

根据jtahlborn的回答,以下作品:

public class Example {
    public static void main(final String[] args) throws Exception {
        Constructor<Foo> constructor;
        constructor = Foo.class.getDeclaredConstructor(Object.class);
        constructor.setAccessible(true);
        Foo<String> foo = constructor.newInstance("arg1");
        System.out.println(foo);
    }   
}
Run Code Online (Sandbox Code Playgroud)

java reflection constructor private

67
推荐指数
3
解决办法
5万
查看次数

scala:如何将扩展列表作为varargs传递给方法?

Map在scala中创建时,我打电话给我Map(entities.map{e => e.id -> e}),然后我得到:

found   : scala.collection.mutable.IndexedSeq[(Int, Entity)]
required: (Int, Entity)
Run Code Online (Sandbox Code Playgroud)

这是因为签名Map.apply是:def apply[A, B](elems: (A, B)*): CC[A, B],这需要一个varargs样式参数.

有没有办法转换,IndexedSeq以便可以通过Map.apply

scala map variadic-functions

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

什么是"总和产品"数据结构?

对威廉库克Fusings最近的一篇博客中提到:

关键点在于Ensō中的结构被整体地视为图形,而不是单个值或传统的和产品数据结构.

他所指的传统的产品和产品数据结构是什么?

types type-systems programming-languages algebraic-data-types data-structures

44
推荐指数
3
解决办法
6274
查看次数

创建简单项目SBT 0.10.X

(这是对正确创建项目的跟进.问题没有得到解答.)


基本上,这个问题说"我不知道如何在新的sbt下创建一个项目.使用旧版本,我只是sbt在一个新的文件夹中运行,并且有一个引导向导引导我完成设置."

接受的答案没有解释如何创建一个新的项目,它只是指向的文件,也没有明确说,如何创建一个新的项目-只是如何写一个build.sbt文件.

所以我尝试先编写一个build.sbt然后sbt在带有该build.sbt文件的目录中运行,但我仍然没有看到要使用的src目录.

有人可以发布一个简单的步骤(我假设最多有三个步骤)指导如何在sbt 0.10.X下创建一个新项目?

scala sbt

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

scala中位数实施

什么是scala中值的快速实现?

这是我在rosetta代码上找到的:

  def median(s: Seq[Double])  =
  {
    val (lower, upper) = s.sortWith(_<_).splitAt(s.size / 2)
    if (s.size % 2 == 0) (lower.last + upper.head) / 2.0 else upper.head
  }
Run Code Online (Sandbox Code Playgroud)

我不喜欢它因为它做了一种.我知道有一些方法可以计算线性时间的中位数.

编辑:

我想有一组中间函数,我可以在各种场景中使用:

  1. 快速,适当的中位数计算,可以在线性时间内完成
  2. 平均一个流上工作,你可以遍历多次,但你只能保持O(log n)在内存中值是这样
  3. 在流上工作的中位数,你可以O(log n)在内存中保存最多的值,你最多可以遍历一次流(这甚至可能吗?)

请仅发布编译正确计算中位数的代码.为简单起见,您可以假设所有输入都包含奇数个值.

algorithm scala median

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

scala编译器阶段的顺序是什么?

我想要提高我对scala编译阶段的描述.我知道某些事情必须在编译器中发生,但实际上并不知道它们发生的顺序以及顺序如何影响我的编程.

我是否正确地说以下内容是编译器的完整列表?

  • 解析程序
  • 检查类型
  • 擦除
  • 隐式转换
  • 生成字节码
  • 优化

如果是这样,那么这些阶段的顺序是什么?这个命令如何影响程序员,尤其是类型级程序员?

compiler-construction scala scalac

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

为scala配置ant

如何为scala安装antlib.xml以使ant工作?

现在,当我ant在包含scala任务的build.xml文件上运行时遇到以下错误.

[taskdef] Could not load definitions from resource scala/tools/ant/antlib.xml. It could not be found.
/scalala/scalala-read-only/scalala/build.xml:36: Problem: failed to create task or type scalac 

Cause: The name is undefined.
Action: Check the spelling.
Action: Check that any custom tasks/types have been declared.
Action: Check that any <presetdef>/<macrodef> declarations have taken place.
Run Code Online (Sandbox Code Playgroud)

我已经解开了,scala-2.8.1.final/lib/scala-compiler.jar但我不知道在哪里放内容.

以下是build.xml中相应的ant代码片段:

  <target name="compile" depends="">
    <mkdir dir="${build.dir}"/>

    <scalac srcdir="${src.dir}" destdir="${build.dir}"
            classpathref="project.classpath" force="changed">
            <!-- addparams="-Yclosure-elim -optimise" -->
      <include name="**/*.scala"/>
    </scalac>
  </target>
Run Code Online (Sandbox Code Playgroud)

回答

以下代码在build.xml文件中很重要:

  <!-- Define project …
Run Code Online (Sandbox Code Playgroud)

ant scala

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