MoonBit月兔编程语言 现代编程思想 第十课 哈希表与闭包
现代编程思想 哈希表与闭包 Hongbo Zhang 1 回顾 表 键值对的集合,其中键不重复 简单实现:⼆元组列表 添加时向队⾸添加 查询时从队⾸遍历 树实现:⼆叉平衡树 基于第五节课介绍的⼆叉平衡树,每个节点的数据为键值对 对树操作时⽐较第⼀个参数 2 哈希表 哈希函数/散列函数 Hash function 将任意⻓度的数据映射到某⼀固定⻓度的数据 在⽉兔的 Hash 11 3 21 13 27 检查3 0 11 3 21 13 27 检查21 0 11 21 3 13 27 检查13 0 11 21 3 13 27 21 闭包 闭包:⼀个函数及其捆绑的周边环境状态的引⽤的组合 闭包的环境状态 词法环境:与程序的结构对应,在代码定义时决定 1. fn init { 2. let mut i = 2 3. fn debug_i() { debug(i) debug_i() // 输出3 6. { 7. let i = 4 // 此i⾮彼i 8. debug_i() // 输出3 9. } 10. } 22 闭包:封装数据 我们可以利⽤闭包封装数据和⾏为 使⽤者⽆法直接获得数据,必须通过提供的函数进⾏间接操作 可以限制使⽤者的操作,对参数进⾏检验等,保证数据合法 1. fn natural_number_get_and_set()0 码力 | 27 页 | 448.83 KB | 1 年前3后浪Flutter - Google 开源的UI 工具包陈孟泽
后浪Flutter Google 开源的 UI 工具包 陈孟泽 后浪Flutter • 简介:移动跨平台方案及Flutter介绍 • 语言: Dart语言简介 • 基础:Flutter常用知识点 • 进阶:Flutter核心原理 • 资料:学习参考资料 移动跨平台方案 • H5+原生(Cordova、微信小程序) • JavaScript开发+原生渲染 (React Native、Weex、快应用) JavaScript+原生渲染 原生控件渲染 好 中 支持 RN、Weex 自绘UI+原生 调用系统API渲染 好 高 默认不支持 Flutter Flutter简介 • Google 开源的 UI 工具包 • 非常精美丰富的组件库 • 支持移动、Web、桌面和嵌入式平台 • UI统一、高性能 Flutter简介 Dart语言简介 - 变量声明 Dart语言简介 - 函数声明 Dart语言简介 Flutter进阶 Flutter进阶 Flutter进阶 Vue学习资料 • 官网:https://flutter.dev/ • 中文网:https://flutter.cn/ • 资源包: https://pub.flutter-io.cn/flutter/packages 谢谢!0 码力 | 28 页 | 1.56 MB | 1 年前3古月《ROS入门21讲》9.创建工作空间与功能包.pdf
9.创建工作空间与功能包 主 讲 人 : 古 月 工作空间 • • • • 创建工作空间 创建功能包 创建功能包 创建功能包 感谢观看 怕什么真理无穷,进一寸有一寸的欢喜 更多精彩,欢迎关注 ?0 码力 | 7 页 | 1.02 MB | 1 年前3Rust 程序设计语言简体中文版
..................................... 138 7. 使用包、Crate 和模块管理不断增长的项目 ....................................................................... 141 7.1. 包和 Crate ........................................ ........................... 316 13. Rust 中的函数式语言功能:迭代器与闭包 ...................................................................... 318 13.1. 闭包:可以捕获其环境的匿名函数 ........................................... ................................................................................... 507 19.4. 高级函数与闭包 ..................................................................................................0 码力 | 600 页 | 12.99 MB | 1 年前3Rust 程序设计语言 简体中文版 1.85.0
. . . . . . . . . . . . . . 128 7. 使用包、Crate 和模块管理不断增长的项目 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 7.1. 包和 Crate . . . . . . . . . . . . . . . . . . . . . . 276 13. 函数式语言特性:迭代器与闭包 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278 13.1. 闭包:可以捕获其环境的匿名函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 488 20.4. 高级函数与闭包 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .0 码力 | 562 页 | 3.23 MB | 8 天前3Rust 语言学习笔记
....................................... 61 6.1.1 闭包 ................................................................................. 61 6.1.2 闭包捕获周围环境的方式 ......................................... 92 7.1.3 使用 join 等待所有线程结束 .................................................... 92 7.1.4 线程与 move闭包 ................................................................ 93 7.2 消息传递 ................... Crate 1.crate 编译后会形成一个库(例如.so)或二进制可执行文件。crate 分为两种: lib crate 和 bin crate。 2. 一个包可以带有零个或一个 lib crate 和任意多个 bin crate。一个包中必 须有 crate,至少一个,(lib crate 或 bin crate 都可以) 3.通常写 rust 项目时非常依赖 crate,很多重要的信息都是配置在0 码力 | 117 页 | 2.24 MB | 1 年前3Laravel 5.6 中文文档
的基础上继续进行优化,包括日志系统、单机任务调度、模型序列化优化、动态频率限制、广播频道类、API 资源控制器 生成、Eloquent 日期格式化优化、Blade 组件别名、Argon2 密码哈希支持、引入 Collision 扩展包等等等等。此外,所有的前端脚手架代码都已升 级到 Bootstrap 4,Laravel 底层使用的 Symfony 组件都已升级到 Symfony ~4.0 版本。 Laravel 5.6 版本的发布恰逢 function () { // }); }); 广播频道类 如果你的应用消费多个不同的频道,routes/channels.php 文件可能会变得很臃肿,所以,作为使用闭包来授权频道的替代方案,你现在可以使用 频道类。要生成一个频道类,可以使用 Artisan 命令 make:channel。该命令会将新生成的频道类存放到 app/Broadcasting 目录下: Broadcast::channel('order.{order}', OrderChannel::class); 最后,可以将频道的授权逻辑放到频道类的 join 方法。join 方法中的代码等同于之前位于频道授权闭包中的处理逻辑。当然,你还可以使用频道模 型绑定:0 码力 | 377 页 | 14.56 MB | 1 年前3Laravel 6.0 中文文档
务中间件、新增懒集合、优化数据库子查询、将前端脚手架提取到独 立的 Composer 包 laravel/ui、以及多个 bug 修复和可用性的提 升。 语义化版本 Laravel 框架包 laravel/framework 现在遵循语义化版本标准。这使 得框架得以和其他已经遵循该版本标准的 Laravel 扩展包保持一 致,不过 Laravel 的发布周期将保持不变。 兼容 Laravel ->orderBy('arrived_at', 'desc') ->limit(1) )->get(); Laravel UI 之前版本 Laravel 提供的典型的前端脚手架代码现在被提取到独立 的 Composer 扩展包 laravel/ui 中,这样一来可以让 UI 脚手架代 码的开发和维护与主框架分离。所以,在默认框架脚手架代码中,现 在已经剔除了 Bootstrap 和 Vue 相关代码,make:auth 学院君致力于提供优质 Laravel 中文学习资源:https://xueyuanjun.com 11 如果想要恢复之前版本的 Vue/Bootstrap 脚手架代码,可以安 装 laravel/ui 扩展包,并使用 Artisan 命令 ui 来安装前端脚手架 代码: composer require laravel/ui php artisan ui vue --auth 升级指南 重要更新概览0 码力 | 1442 页 | 14.66 MB | 1 年前3Laravel 5.3 中文文档
...................................................................................... 570 14. 官方包 ................................................................................................... ........................................................................................ 659 15.3 包开发 ................................................................................................. 实现无痛的 OAuth2 服务器;通过 Laravel Scout 实现全文模型搜索;在 Laravel Elixir 中支持 Webpack;“可邮寄”的对象;明确分离 web 和 api 路由;基于闭包的控制台命令;存储上传文件的辅助函数;支持 POPO 和单动作控制 器;以及优化前端脚手架;等等等等。 通知(Notifications) 注:Laracasts 上有关于此特性的免费视频教程。0 码力 | 691 页 | 9.37 MB | 1 年前3Laravel 5.1 中文文档
'http://localhost'; 翻译文件 用于为 vendor 包发布语言文件的默认目录做了移动,所有 vendor 包语言文件从 resources/lang/packages/{locale}/{namespace}移动到了 resources/lang/vendor/{namespace}/{locale}目录。例如,Acme/Anvil 包的 acme/anvil::foo 英语语言文件将会从 队列驱动或者 AWS SES 电子邮件驱动,需要升级 AWS PHP SDK 到 3.0 版本。 如果你正在使用 Amazon S3 文件系统驱动,需要通过 Composer 升级相应的文件系统包: Amazon S3: league/flysystem-aws-s3-v3 ~1.0 废弃 以下 Laravel 特性已经被废弃并且会在 2015 年 12 月份的 Laravel Blackfire Profiler 2、安装 & 设置 2.1 首次安装 在启用 Homestead 环境之前,需要先安装 Virtual Box 或者 VMWare 和 Vagrant,所有这些 软件包都会常用操作系统提供了一个便于使用的可视化安装器。 2.1.1 安装 Homestead Vagrant 盒子 VirtualBox/VMWare 和 Vagrant 安装好了之后,在终端中使用能如下命令将0 码力 | 307 页 | 3.46 MB | 1 年前3
共 915 条
- 1
- 2
- 3
- 4
- 5
- 6
- 92