
scala
郭Albert
命是弱者的借口,运是强者的谦辞
展开
-
Scala 中 ensuring 方法的使用说明
Scala 在方法里除了可用 assert() 方法像 Java 那样进行断言,还可以使用 ensuring() 方法在返回结果的分支的花括号同一行上进行断言。它们不同的是 assert 可以随意放在哪里对任何的 boolean 类型进行断言,而 ensuring 是用来对返回结果行断言的,所以它必须尾随返回结果处。 assert 和 ensuring 方法都是定方在 Predef 中的,所以可...转载 2018-07-12 09:55:49 · 1359 阅读 · 0 评论 -
从两两好友关系的记录中,找出三人中任意两人互为好友(三角好友)的Scala实现
曾经遇到一个问题: 有一个文件,其中每一行都记录了存在好友关系的两个人的userId。现要分析此文件,从两两朋友关系的记录中,找出所有的:三人中任意两人互为好友,即三角好友的存在,并打印出来 当时现场没有写出来。最近尝试编写了下,抛去读取文件等基础工作,先实现了三角好友关系查找的实现,编写代码如下:/** * Created by leis...原创 2018-07-21 20:41:06 · 839 阅读 · 0 评论 -
Scala内部类,路径依赖类型&类型投影
转载自:http://hongjiang.info/scala-type-system-inner-type-and-type-projection/先回顾一下java的内部类class Outter{ public class Inner {} public void foo(Inner c){ System.out.println(c); ...转载 2018-08-15 12:30:12 · 314 阅读 · 0 评论 -
N皇后不互吃问题的scala实现
基本介绍: 国际象棋是8*8的棋盘,每个位置可以放置一个棋子。国际象棋中的皇后棋子,可以向横、向竖、向斜行走,并吃掉路线上的其他棋子 N皇后不互吃问题,为:在N * N 的棋盘上,放置N个皇后棋子;其中任意两个皇后彼此不会互吃。找出所有可能的位置集合思路:因为皇后能横竖斜吃子的设定,所以存在一个基本条件:要在N * N的棋盘上放置N个皇后不互吃,那么每一行有且只有一个皇后。所...原创 2018-08-18 19:45:29 · 280 阅读 · 0 评论 -
scala 上下文界定
一. 传统隐式转换实现先看一个传统的隐式转换方法实现/** 上下文界定 * author: leisu * date 2018/8/15 17:36 */object ContextBounds extends App { implicit def ageCondition(person: Poet) = person.age > 18 val cb =...原创 2018-08-16 22:21:45 · 1758 阅读 · 1 评论 -
Scala集合特质继承体系、定义方法与主要实现类详解
Scala有一个非常通用,丰富,强大,可组合的集合库;集合是高阶的(high level)并暴露了一大套操作方法。很多集合的处理和转换可以被表达的简洁又可读,但不审慎地用它们的功能也会导致相反的结果。每个Scala程序员应该阅读 集合设计文档;通过它可以很好地洞察集合库,并了解设计动机。scala集合API:http://www.scala-lang.org/docu/file...转载 2018-08-22 21:33:43 · 1124 阅读 · 0 评论