趣味编程:静夜思(F#3.0版)

open System

let print (text : string) offset =
    query {
        for (c, i) in Seq.zip text (seq {0 .. text.Length - 1}) do
        groupValBy (string c) (i % offset) into g
        select (g |> Seq.reduce (fun c1 c2 -> c2 + "|" + c1))
    } |> Seq.iter (printfn "%s")

print "床前明月光疑是地上霜举头望明月低头思故乡" 5

//低|举|疑|床
//头|头|是|前
//思|望|地|明
//故|明|上|月
//乡|月|霜|光

时间: 2024-10-14 04:05:56

趣味编程:静夜思(F#3.0版)的相关文章

趣味编程:静夜思(Java8版)

import java.util.stream.*; class KV { String ch; int id; } public class Test { private static void print(String text, int offset) { IntStream.range(0, text.length()) .mapToObj(i -> new KV(){{ch = text.substring(i, i + 1); id = i;}}) .collect(Collecto

微软今日发布汇总:VS2015, .NET 4.6, C# 6.0, F# 4.0等重量级产品正式上线

Visual Studio Visual Studio 2015 下载 VS2015新功能列表 ‘ Visual Studio 2013 更新包 5.0 下载 其中包含Visual Studio 2013最新技术更新和bug修复.新功能包括 基于Azure云的负载测试 @currentIteration 查询token 从本地工作室重命名团队项目 ‘ .NET Framework and SDKs .NET 2015 .NET Framework 4.6 .NET Framework 4.6 提

【持续更新中】Linux命令行与Shell脚本编程大全(第3版)读书笔记12-20章

<Linux命令行与Shell脚本编程大全(第3版)>读书笔记 第十二章 使用结构化命令 根据条件使脚本跳过某些命令,这样的命令称为结构化命令(structured command).结构化命令允许改变程序执行的顺序. If-then语句: If command Then Commands Fi 如果if后的command执行退出码是0(也就是执行成功了),then后面的语句就会被执行. 也可以写成: If command; then Commands Fi 注意了,if后的command结果

VS2015, .NET 4.6, C# 6.0, F# 4.0等重量级产品正式上线

VS2015, .NET 4.6, C# 6.0, F# 4.0等重量级产品正式上线 Visual Studio Visual Studio 2015 下载 VS2015新功能列表 ‘ Visual Studio 2013 更新包 5.0 下载 其中包含Visual Studio 2013最新技术更新和bug修复.新功能包括 基于Azure云的负载测试 @currentIteration 查询token 从本地工作室重命名团队项目 ‘ .NET Framework and SDKs .NET 2

结对作业(1.0版)

import java.awt.EventQueue; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.GroupLayout; import javax.swing.GroupLayout.Alignment; import javax.swing.LayoutStyle.ComponentPlacement; import java.awt.Font; import javax.swing.JT

Python网络编程04/recv原理/高大上版解决粘包方式

目录 Python网络编程04/recv原理/高大上版解决粘包方式 1.昨日内容回顾 2.recv工作原理 3.高大上版解决粘包方式(自定制报头) 3.1 解决思路: 3.2 服务端 3.3客户端 4.基于UDP协议的socket通信 4.1服务端 4.2客户端 Python网络编程04/recv原理/高大上版解决粘包方式 1.昨日内容回顾 1. 通信循环 2. 链接通信循环 3. 远程执行命令: subprocess.Popen() # bytes: 网络传输, 文件存储时. 4. 粘包现象

仿QQ聊天软件2.0版

仿QQ聊天软件2.0版 转载请标明出处:牟尼的专栏 http://blog.csdn.net/u012027907     上次课设做了Java版的仿QQ聊天程序,这次软件实训,我们继续完善了仿QQ聊天程序,将上次未完成及不完善的地方进行完善和改进,还新加了部分功能:表情输入.气泡模式.文件传输.截屏.语音聊天.逐步向QQ的基本功能靠齐.通过这次软件实训,又有了很多收获. 一.设计内容及要求 1.1综述 A.系统概述 我们要做的就是类似QQ这样的面向企业内部的聊天软件,基本功能和QQ类似.首先,

在Win7(64位)使用VS2015运行《OpenGL编程指南》第八版第一章程序的方法

前言:笔者第一次用vs2015来实现<OpenGL编程指南>第八版第一个程序时确实花费了不少时间,按照网上教程,尝试了各种方法,最终花费了两个上午加一个下午的时间, 成功运行了程序,花了这么多时间,确实让人懊恼,现在把运行程序的步骤记录下来,以便查阅. 1.第一步,下载oglpg-8th-edith. 如果去书本上的官网下载,下载的是第九版的,而不是第八版的源码. 去其他网站下载,下载的这个包里面没有第一章的源码,可以网上黏贴其他人的代码,建议下第八版源码,下载网址:链接:http://pan

最近大家都开源,我也开源个落网音乐C#4.0版。

3天前,有个博文落网的音乐很好听的,你造么?不能下载啊,怎么破?很火. 我一看这不是用C#写比较容易.又可以在pc上运行. 最近我听音乐我听不懂,我没有音乐细胞.觉得摇滚外国的不和我胃口. 我还是喜欢听百度的top500. 我第一次看了博文,我觉得这用C#4.0写可行, 经过我一番考虑第二天我还是打算动手写了. 在百度上搜索相关技术后第三天晚上正式开工. 花了我4小时完工.测试了一下不错. 我今天看到圆子里大多人开源.我也开源开源. 顺便向圆子里的大神提提意见. 看看我这水平可以胜任一个2k的C