首页
文章列表
标签墙
返回找工具啦
函数式编程
共 31 篇文章
C++ std::optional的monadic操作map与and_then
2026-04-28 18:17:21
C++ std::optional的monadic操作map与andthen 在处理可能不存在的值时,C++17 引入的 std::optional 是一个利器。然而,传统的 if opt.hasvalue 检查方式往往会导致多层嵌套的“厄运金字塔”代码,不仅难以阅读,而且容易出错。C++23 标准
C++
C++23
Optional
8
0
Elixir 协议:defprotocol 与 defimpl
2026-04-19 05:18:50
Elixir 协议:defprotocol 与 defimpl Elixir 中的协议是一种实现多态的机制。它允许你根据传入的数据类型不同,为同一个函数定义不同的实现方式。这与面向对象语言中的“接口”概念类似,但更灵活。下面通过定义一个通用的数据转换协议,演示 defprotocol 和 defim
Elixir
协议
多态
33
0
Erlang 函数:fun() 与匿名函数
2026-04-19 04:20:18
Erlang 函数:fun 与匿名函数 在 Erlang 编程中,函数不仅是代码的执行单元,更是传递逻辑的核心载体。除了我们在模块中定义的命名函数外,Erlang 还提供了一种极其强大的“匿名函数”机制,通常通过 fun 关键字来创建。这种函数没有固定的名称,可以像普通数据一样在变量间传递、赋值或在
Erlang编程
匿名函数
闭包
34
0
Haskell 高阶函数:map、filter、foldr
2026-04-18 00:18:26
Haskell 高阶函数:map、filter、foldr 在 Haskell 中,高阶函数是指接收其他函数作为参数或返回函数的函数。它们是函数式编程的核心工具,能帮你用极简的代码处理列表数据。 以下介绍 map、filter 和 foldr 三个最常用的函数。 一、使用 map 转换列表元素 ma
Haskell
高阶函数
map
27
0
Scala 函数式编程:高阶函数与闭包
2026-04-16 05:12:49
Scala 函数式编程:高阶函数与闭包 在 Scala 中,函数是一等公民,这意味着函数可以像变量一样被传递和操作。掌握高阶函数和闭包是编写简洁、可维护代码的关键。 1. 理解并使用高阶函数 高阶函数是指能够接收其他函数作为参数,或者返回一个函数的函数。这允许我们将通用的逻辑(如遍历、过滤)与具体的
Scala
函数式编程
高阶函数
45
0
Scala 隐式参数:implicit 关键字
2026-04-15 05:19:09
Scala 隐式参数:implicit 关键字 Scala 的 implicit 关键字提供了一种将参数传递给函数的优雅方式,允许编译器在当前作用域内自动查找并填充缺失的参数值。这种机制在减少重复代码(如执行上下文、类型类)时非常强大,但也容易因为规则不清晰导致调试困难。掌握隐式参数的定义、提供与解
Scala编程
隐式参数
implicit关键字
34
0
Elixir 管道操作:|> 运算符
2026-04-14 18:13:30
Elixir 管道操作: 运算符 管道操作符 是 Elixir 语言中最具标志性的特性之一。它允许你将一个表达式的结果直接传递给下一个表达式作为第一个参数。这种写法让代码的阅读顺序与执行顺序保持一致,极大地提升了代码的可读性。 理解核心原理 在 Elixir 中,许多函数的接收顺序都是“数据在前,参
Elixir
管道操作符
函数式编程
43
0
Clojure 序列操作:map、filter、reduce
2026-04-10 20:18:26
Clojure 序列操作:map、filter、reduce Clojure 处理数据的核心在于对序列的操作。大多数编程任务最终都可以归纳为:转换数据、筛选数据和汇总数据。这三个动作在 Clojure 中分别对应 map、filter 和 reduce 三个核心函数。 1. 数据转换:map map
Clojure
序列操作
map函数
48
0
Swift 函数式编程:map、filter、reduce
2026-04-10 17:20:26
Swift 函数式编程:map、filter、reduce Swift 中的高阶函数(HigherOrder Functions)能够让你用更简洁、更声明式的方式处理集合数据(如数组、字典)。相比传统的 for 循环,使用 map、filter 和 reduce 可以大幅减少代码量,并提升代码的可读
Swift
函数式编程
map
48
0
Scheme 异常处理:with-exception-handler
2026-04-06 23:31:50
Scheme 异常处理:withexceptionhandler withexceptionhandler 提供确定性的错误拦截路径。解释器分配 独立的执行上下文运行目标代码,运行时一旦捕获到异常信号,立即切换 上下文并移交 控制权给处理函数。 核心参数拆解 参数位置 参数名称 数据约束 核心职责
Scheme语言
异常处理
错误拦截
48
0
Clojure 数据结构:vector、map、set
2026-04-06 22:18:00
Clojure 数据结构:vector、map、set 阶段一:掌握 Vector(向量)的基础操作 1. 创建 向量实例。使用方括号包裹目标元素,元素间以空格分隔。在代码编辑器中编写 1 "a" :b 即可 构建 包含整型、字符串和关键字的混合向量。 2. 读取 指定索引的值。向量本身可作为函数调
Clojure
数据结构
向量操作
52
0
Haskell 惰性求值:lazy evaluation
2026-04-06 20:47:19
Haskell 惰性求值:lazy evaluation 建立基础认知与环境准备 1. 打开 系统终端并执行 ghci 命令。该指令启动 Haskell 交互式环境,提供即时编译与代码反馈通道,无需完整构建项目即可验证底层逻辑。 2. 运行 :set +s 配置指令。此设置强制终端在每次表达式求值结
Haskell
惰性求值
函数式编程
55
0
Kotlin 集合操作:map、filter、forEach
2026-04-06 19:57:51
Kotlin 集合操作:map、filter、forEach 1. 打开 任意支持 Kotlin 的代码编辑器(如 IntelliJ IDEA 或 VS Code),新建 标准 Kotlin 项目或单文件脚本。 2. 定位 至主程序入口,通常命名为 Main.kt,清理 模板代码,仅保留 fun m
Kotlin编程
集合操作
高阶函数
53
0
Clojure 函数定义:defn 与参数
2026-04-06 14:45:19
Clojure 函数定义:defn 与参数 Clojure 作为一门函数式编程语言,函数是其核心构建块。定义函数最常用的工具是 defn 宏。掌握 defn 的语法结构与参数处理方式,是编写清晰、简洁 Clojure 代码的关键。 1. 基础函数定义 使用 defn 宏 创建 一个标准的命名函数。它
Clojure
函数定义
defn
44
0
Erlang 错误处理:try-catch 与 throw
2026-04-05 17:27:48
Erlang 错误处理:trycatch 与 throw Erlang 是一门以高并发、高可靠性著称的编程语言。在分布式系统和电信领域,程序需要长时间不间断运行,任何未被妥善处理的错误都可能导致整个系统崩溃。因此,理解并正确使用错误处理机制,是写出健壮 Erlang 程序的关键一步。 Erlang
Erlang
错误处理
异常机制
54
0
Elixir 函数式编程:Enum 模块
2026-04-05 13:24:16
Elixir 函数式编程:Enum 模块 Elixir 是一种基于 Erlang 虚拟机的函数式编程语言,以其强大的并发能力和优雅的语法著称。在 Elixir 的标准库中,Enum 模块是最常用、最核心的模块之一,它提供了一套完整的枚举操作函数,让你能够以声明式的方式处理集合数据。 掌握 Enum
Elixir
Enum模块
函数式编程
50
0
Scheme 函数定义:define 与 lambda
2026-04-05 04:02:39
Scheme 函数定义:define 与 lambda 在 Scheme 函数式编程中,定义函数是最基础也是最重要的操作之一。Scheme 提供了两种主要的函数定义方式:define 和 lambda。理解这两者的区别与联系,是掌握 Scheme 编程的关键一步。本文将直接切入主题,通过代码示例帮你
Scheme函数定义
lambda表达式
函数式编程
42
0
Haskell 递归:递归函数与尾递归
2026-04-04 19:04:37
Haskell 递归:递归函数与尾递归 递归是函数式编程的核心概念之一。在 Haskell 这样纯函数式语言中,递归不仅是解决问题的常用手段,更是替代循环结构的主要方式。理解递归的工作原理,以及尾递归优化机制,对于编写高效、优雅的 Haskell 代码至关重要。 递归的本质:函数调用自身 递归本质上
Haskell
递归
尾递归
51
0
Erlang 列表操作:[H|T] 模式
2026-04-04 01:27:38
Erlang 列表操作:HT 模式 在 Erlang 中,列表是最基础、最常用的数据结构之一。而 HT 是处理列表的核心模式,几乎出现在所有涉及列表的函数中。理解它,就等于掌握了 Erlang 函数式编程的钥匙。 HT 并不是某种特殊语法,而是一种模式匹配(pattern matching) 的写法
Erlang
列表操作
模式匹配
39
0
Clojure 异常处理:try、catch、finally
2026-04-03 20:57:32
Clojure 异常处理:try、catch、finally Clojure 通过 try 表达式提供结构化的异常处理机制,允许你捕获 Java 异常并执行清理逻辑。其语法简洁,与 Java 的 trycatchfinally 模型对应,但完全融入 Clojure 的函数式风格。 基本结构 使用 t
Clojure
异常处理
try
59
0
1
2
下一页