趣味编程:FizzBuzz(Kotlin版)
fun toFizzBuzzIf(n: Int) =
    if (n % 3 == 0 && n % 5 == 0) "FizzBuzz"
    else if (n % 3 == 0) "Fizz"
    else if (n % 5 == 0) "Buzz"
    else n.toString()
fun toFizzBuzzWhen1(n: Int) =
    when {
        n % 3 == 0 && n % 5 == 0 -> "FizzBuzz"
        n % 3 == 0 -> "Fizz"
        n % 5 == 0 -> "Buzz"
        else -> n.toString()
    }
fun toFizzBuzzWhen2(n: Int) =
    when (listOf(n % 3 == 0, n % 5 == 0)) {
        listOf(true, true) -> "FizzBuzz"
        listOf(true, false) -> "Fizz"
        listOf(false, true) -> "Buzz"
        else -> n.toString()
    }
fun main(args: Array<String>) {
    println((1..100).map(::toFizzBuzzIf))
    println((1..100).map(::toFizzBuzzWhen1))
    println((1..100).map(::toFizzBuzzWhen2))
}
// [1, 2, Fizz, 4, Buzz, Fizz, 7, 8, Fizz, Buzz, 11, Fizz, 13, 14, FizzBuzz, 16, 17, Fizz, 19, Buzz, Fizz, 22, 23, Fizz, Buzz, 26, Fizz, 28, 29, FizzBuzz, 31, 32, Fizz, 34, Buzz, Fizz, 37, 38, Fizz, Buzz, 41, Fizz, 43, 44, FizzBuzz, 46, 47, Fizz, 49, Buzz, Fizz, 52, 53, Fizz, Buzz, 56, Fizz, 58, 59, FizzBuzz, 61, 62, Fizz, 64, Buzz, Fizz, 67, 68, Fizz, Buzz, 71, Fizz, 73, 74, FizzBuzz, 76, 77, Fizz, 79, Buzz, Fizz, 82, 83, Fizz, Buzz, 86, Fizz, 88, 89, FizzBuzz, 91, 92, Fizz, 94, Buzz, Fizz, 97, 98, Fizz, Buzz]
趣味编程:FizzBuzz(Kotlin版)的更多相关文章
- 建造者模式(Java与Kotlin版)
		前文推送 设计模式 简单工厂模式(Java与Kotlin版) 工厂方法模式(Java与Kotlin版) 抽象工厂模式(Java与Kotlin版) Kotlin基础知识 Kotlin入门第一课:从对比J ... 
- 《UNIX网络编程(第3版)》unp.h等源码文件的编译安装
		操作系统:Mac OS X 10.11.5 1.下载书中的源代码:点击下载 2.切换到解压后的目录 unpv13e,先查看下 README,依次执行: ./configure cd lib make ... 
- 【转】apue《UNIX环境高级编程第三版》第一章答案详解
		原文网址:http://blog.csdn.net/hubbybob1/article/details/40859835 大家好,从这周开始学习apue<UNIX环境高级编程第三版>,在此 ... 
- ASP.NET MVC 4高级编程(第4版)
		<ASP.NET MVC 4高级编程(第4版)> 基本信息 作者: (美)Jon Galloway Phil Haack Brad Wilson K. Scott All ... 
- 工厂方法模式(Java与Kotlin版)
		前文推送 设计模式 简单工厂模式(Java与Kotlin版) Kotlin基础知识 Kotlin入门第一课:从对比Java开始 Kotlin入门第二课:集合操作 Kotlin入门第三课:数据类型 初次 ... 
- 抽象工厂模式(Java与Kotlin版)
		前文推送 设计模式 简单工厂模式(Java与Kotlin版) 工厂方法模式(Java与Kotlin版) Kotlin基础知识 Kotlin入门第一课:从对比Java开始 Kotlin入门第二课:集合操 ... 
- 【unix网络编程第三版】阅读笔记(五):I/O复用:select和poll函数
		本博文主要针对UNP一书中的第六章内容来聊聊I/O复用技术以及其在网络编程中的实现 1. I/O复用技术 I/O多路复用是指内核一旦发现进程指定的一个或者多个I/O条件准备就绪,它就通知该进程.I/O ... 
- 【unix网络编程第三版】阅读笔记(三):基本套接字编程
		unp第三章主要介绍了基本套接字编程函数.主要有:socket(),bind(),connect(),accept(),listen()等. 本博文也直接进入正题,对这几个函数进行剖析和讲解. 1. ... 
- 《UNIX环境高级编程(第3版)》
		<UNIX环境高级编程(第3版)> 基本信息 原书名:Advanced Programming in the UNIX Environment (3rd Edition) (Addison ... 
- 《Linux系统编程(第2版)》
		<Linux系统编程(第2版)> 基本信息 作者: (美)Robert Love 译者: 祝洪凯 李妹芳 付途 出版社:人民邮电出版社 ISBN:9787115346353 上架时间:20 ... 
随机推荐
- Vue 网络请求
			Vue网络请求,用的是vue-resource 1. 首先需要安装vue-resource npm install vue-resource 2. 安装好之后,会在package.json文件中自动加 ... 
- golang defer的使用
			defer一般用于在函数结束时执行必要的处理工作.例如,关闭文件描述符,关闭网络连接等等. 函数中可以定义多个defer,执行的时候按照先进后出的顺序. defer定义的语句,即使遇到panic,也会 ... 
- 分析报告:云之家V9 VS 钉钉3.5
			http://news.yesky.com/hotnews/1/244252501.shtml 1.市场调研 1.1 企业需求 笔者所在单位是一家中型企业,企业流程和信息化基础较为成熟.随着移动互联网 ... 
- BASIC-6_蓝桥杯_杨辉三角形
			示例代码: #include <stdio.h>#include <stdlib.h> int main(void){ int n = 0 ; int i = 0 , j = ... 
- 【Spring学习笔记-MVC-6】SpringMVC 之@RequestBody 接收Json数组对象
			作者:ssslinppp 1. 摘要 程序流程: 前台使用ajax技术,传递json字符串到后台: 后台使用Spring MVC注解@RequestBody 接受前台传递的json字符串, ... 
- 服务注册发现consul之五:Consul移除失效服务的正确姿势
			spring cloud微服务不定期会出现网络请求失败的错误.于是看了下后台日志,发现有几个请求会报如下的异常: Caused by: feign.RetryableException: Connec ... 
- R语言学习——循环判断语句
			循环 判断 函数 函数是一个对象,可以赋值 函数要放在调用函数的前面 输入输出 read.csv()------文本文件 csv是comma separated value的英文缩写,其读取逗号分隔 ... 
- 开发框架-APP:Hybird App
			ylbtech-开发框架-APP:Hybird App Hybrid App(混合模式移动应用)是指介于web-app.native-app这两者之间的app,兼具“Native App良好用户交互体 ... 
- ue4 多相机分屏与小地图效果实现教程
			转自:http://blog.csdn.net/shenmifangke/article/details/51940007 通过使用ue4的UI和rendertarget来实现 优点就是可以随意设置 ... 
- MFC~~~~~~edit_control 和 静态文本框设置透明和字体设置
			一 字体设置比较简单~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1 .在 testdlg.h(假设工程名字为test)中 设置一个 public 的 ... 
