草庐IT

Purely-Functional-Structures-Chri

全部标签

functional-programming - 在 Kotlin 中取最后 n 个元素

我有一个列表,我想在其中应用一些转换,但不包括前2个元素。我怎样才能以最好的方式做到这一点?像这样的:list.reversed().take(list.size-2)...(mytransformations)或list.excludeFirstN(2)...(mytransformations) 最佳答案 您可以使用takeLast(n)喜欢:list.takeLast(3)但要小心,最后一个数字先表示,所以你可能需要使用reversed同样,因此您的代码可能是:list.takeLast(3).reversed()

spring - 如何在 Spring Boot 和 Spring WebFlux 中使用 "Functional bean definition Kotlin DSL"?

在https://github.com/spring-projects/spring-framework/blob/master/spring-context/src/main/kotlin/org/springframework/context/support/BeanDefinitionDsl.kt注释显示了如何通过新的“FunctionalbeandefinitionKotlinDSL”来定义SpringBeans。我还找到了https://github.com/sdeleuze/spring-kotlin-functional.但是,此示例仅使用plainSpring而不是Sp

spring - 如何在 Spring Boot 和 Spring WebFlux 中使用 "Functional bean definition Kotlin DSL"?

在https://github.com/spring-projects/spring-framework/blob/master/spring-context/src/main/kotlin/org/springframework/context/support/BeanDefinitionDsl.kt注释显示了如何通过新的“FunctionalbeandefinitionKotlinDSL”来定义SpringBeans。我还找到了https://github.com/sdeleuze/spring-kotlin-functional.但是,此示例仅使用plainSpring而不是Sp

functional-programming - Kotlin - 如何在列表中查找重复值的数量?

我有一个list,例如:vallist=listOf("orange","apple","apple","banana","water","bread","banana")如何查看苹果在这个列表中重复了多少次? 最佳答案 查找列表中所有重复值的一种方法是使用groupingBy然后过滤>1的值。例如vallist=listOf("orange","apple","apple","banana","water","bread","banana")println(list.groupingBy{it}.eachCount().filte

functional-programming - Kotlin - 如何在列表中查找重复值的数量?

我有一个list,例如:vallist=listOf("orange","apple","apple","banana","water","bread","banana")如何查看苹果在这个列表中重复了多少次? 最佳答案 查找列表中所有重复值的一种方法是使用groupingBy然后过滤>1的值。例如vallist=listOf("orange","apple","apple","banana","water","bread","banana")println(list.groupingBy{it}.eachCount().filte

data-structures - 合适的数据类型

我得到了用户名和用户ID的列表。我想按首字母对用户名进行分组。key将是用户名,因此我可以从用户名中获取用户ID并检查用户是否存在。用于此的最佳数据类型是什么?我在考虑哈希,但还有其他建议吗?你能告诉我为什么要选择那种数据类型吗?谢谢! 最佳答案 我只是在玩那个。所以这就是我得到的:>setalias:tamer1000"OK">setalias:tansel1001"OK">hmsetuid:1000aliastamerage45"OK">hmsetuid:1001aliastanselage39"OK">hsetuid:1000

data-structures - Redis中的最优存储结构

我正在寻找存储以下信息组。我存储了一个分钟时间戳(例如,将在1分钟窗口中看到的所有浏览器ID分组),然后是浏览器引用列表。我希望只有一个浏览器ID实例这个数据结构可以使用Redis中的什么数据结构?有没有更好的存储方式?...12:06->browser1,browser712:07->browser812:08->browser4,browser5,browser6,browser9...每一行可以有大约1天的生存时间。添加新的browserID时,我首先检查浏览器ID是否已存在于数据中的某处,如果存在则删除并添加到新的分钟行。最后,我每隔1分钟获取30分钟前的行并处理这些浏览器ID

data-structures - Redis - 一个一个地插入字符串并一次全部删除的数据结构

我是Redis的新手,发现Redis支持多种数据结构,我们可以根据需要选择其中的任何一种。我的要求是将字符串一个一个地插入到列表(key-list)中,并希望一次检索(和删除)所有字符串。而且我也想经常这样做,所以试图找到一种最佳方式。哪种数据结构/方式对此更好?提前谢谢你P.S:我不想在检索的时候去掉key,我只需要检索并清空列表即可。 最佳答案 听起来你应该使用List.使用LPUSH添加到列表中或RPUSH,然后使用LRANGE检索所有内容和DEL关键。附言Redis中的key,比如存放List的key,不能为空。删除列表的所

data-structures - 在redis中驱逐 HashMap 中的键

我在Redis中有一个不断增长的巨大hashmap。每天大约50k,在接下来的几天里,这个数字会越来越少,因为相同的键会重复。我想将这个hashmap限制为100万个键值对。我想基于LRU来做这个。我知道我可以使用Redis的排序集以时间戳作为值并删除不在范围内的条目来执行此操作,但我需要保留键值对结构,当我移动到排序集时我将丢失键值结构,因为值将是时间戳,我需要在键中执行一些字符串操作以实现等效的哈希功能(不可行)。所以我的要求是:键值对结构根据给定键获取值或多个键用100万对修剪结构lru政策。我可以用hash实现吗?我也愿意接受其他建议吗?提前致谢 最

functional-programming - 如何在 Swift 中对自定义对象数组使用 reduce 函数

考虑Swift对象classSheep拥有一个简单的属性varposition:CGRectclassSheep{varposition:CGRectinit(){position=CGRectZero}}在绵羊数组中Array我怎样才能得到Sheep最高position.origin.y?我尝试了以下但得到了error:couldnotfindmemberyfuncfirstSheep(sheeps:Array)->Sheep{returnsheeps.reduce(sheeps[0]){max($0.position.origin.y,$1.position.origin.y)}}