MoonBit月兔编程语言 现代编程思想 第七课 命令式编程:命令,可变数据结构,循环现代编程思想 命令式编程 Hongbo Zhang ## 函数式编程 - 到此为止,我们介绍的可以归类于函数式编程的范畴 - 对每一个输入,有着固定的输出 对于标识符,我们可以直接用它所对应的值进行替代——引用透明性 • 开发实用的程序,我们需要一些计算之外的“副作用” ☐ 进行输入输出 ☐ 修改内存中的数据等 ☐ 这些副作用可能导致多次执行的结果不一致 ## 引用透明性 square(x) // 4 • 我们可以将 square 与 x 直接用对应的值替换而不改变结果 1. let z: Int = { 2 * 2 } // 4 - 引用透明性可以易于理解 ## 命令 - 函数 print 允许我们输出一个字符串,例如 print("hello moonbit") - 月兔中可以通过 init 代码块来定义初始化指令。可以简单理解为程序主入口 32ms [INFO] ———— ## 命令与副作用 ## • 输出命令可能会破坏引用透明性 1. fn square(x: Int) -> Int { x * x } 2. fn init { 3. let x: Int = { 4. println("hello moonbit") // <--- 我们首先执行命令,进行输出 5.0 码力 | 23 页 | 780.46 KB | 2 年前3
Vue声明式编程## V ue声明式编程 ## 摘要 • 声明式与图灵完备性 • 声明式与UI编程的演进 • 声明式与UI架构 • 声明式与交互 ## 声明式与图灵完备性 ## 声明式 • 我们对语言有很多划分的维度 • 声明式 vs 命令式 • 声明式语言:HTML XML CSS SQL • 命令式语言:C++ Java JavaScript ## 图灵完备性 · 图灵完备:“可计算性” 图灵完备:“可计算性” • 命令式的图灵完备性:if/for, if/goto • 声明式的图灵完备性:if/递归 ## V ue的Template的图灵完备性 • 实际上Vue的组件系统具有图灵完备性 • 使用Vue计算阶乘 • 使用Vue计算斐波那契数列 ## 声明式与UI编程 ## UI编程 • 70年代 MVC诞生 人们意识到视图应该被独立抽象 • 80年代 标记语言大热 最初更与文本相关 • “HTML5” ## 声明式优势 • 可视化的“可逆性” • 声明式与可再绑定性 • 听说近年某框架把html和css塞回JS了? ## 可重复绑定性 • recycle-list ## 声明式与UI架构 ## MVVM • MVC => MVP => MVVM —脉相承的演化 • MVVM是为声明式/多语言量身定做的编程模型 ## MVVM的数据绑定 • 数据绑定是声明式的数据与UI通讯0 码力 | 19 页 | 155.76 KB | 2 年前3
Hadoop Shell 命令## Hadoop Shell命令 ## 目录 1 FS Shell 3 1.1 cat 3 1.2 chgrp 3 1.3 chmod 3 1.4 chown 4 1.5 copyFromLocal 4 1.6 copyToLocal 4 1.7 cp 4 1.8 du 4 1.9 dus 5 1.10 expunge 5 1.11 get 5 test …… 9 1.25 text …… 9 1.26 touchz …… 9 ### 1. FS She11 调用文件系统(FS)She11命令应使用 bin/hadoop fs的形式。所有的的FS she11命令使用URI路径作为参数。URI格式是scheme://authority/path。对HDFS文件系统,scheme是hdfs,对本地文件系统,scheme /parent/child,或者更简单的/parent/child(假设你配置文件中的默认值是namenode:namenodeport)。大多数FS She11命令的行为和对应的Unix She11命令类似,不同之处会在下面介绍各命令使用详情时指出。出错信息会输出到stderr,其他信息输出到stdout。 #### 1.1. cat 使用方法:hadoop fs -cat URI [URI 0 码力 | 10 页 | 99.34 KB | 2 年前3
consul 命令行48ce2baf8/p1_1.jpg) ## 链滴 ## consul 命令行 作者:boolean-dev 原文链接:https://ld246.com/article/1545917811707 来源网站:链滴 许可协议:署名-相同方式共享4.0国际(CC BY-SA 4.0) ## consul命令行 ● advertise:广告地址用于将我们通告的地址更改为群集中的其他节点 WAN八卦通信的地址。默认情况下,该值遵循与-bind命令行志相同的规则,如果未指定,-bind则使用该选项。这可以在Consul 0.7.1及更高版本中找到。在Conul 1.0及更高版本中,可以将其设置为go-sockaddr模板 - serf-lan-bind:应该绑定到Serf LAN八卦通信的地址。这是群集中所有其他LAN节点都应该可以问的IP地址。默认情况下,该值遵循与-bind命令行标志相同的规则,如果未指定 八卦议,只需在每个代理的初始启动序列上提供一次该选项。如果在使用加密密钥初始化Consul之后提供则忽略提供的密钥并显示警告。 • hcl:HCL配置片段。此HCL配置片段将附加到配置中,并允许在命令行上指定配置文件的所有选项可以多次指定此选项。这是在Consul 1.0中添加的。 - http-port:要监听的HTTP API端口。这将覆盖默认端口8500。将Consul部署到通过环境传输HTTP0 码力 | 5 页 | 346.62 KB | 2 年前3
CentOS 7 操作命令-基础篇1.2### CentOS 7 操作命令-基础篇 1.2 ## 说明: 1. 本文档没有目录,本文档在发布时为 pdf 文档,有章节书签,可以下载到本地来查看,点击书签进入相应的章节。 2. 蓝色的字为配置命令,绿色的字为命令的注释,有时命令太密集时,就不用蓝色标出了。 3.本文档仅为基础操作教程,不涉及网络服务的配置(比如 web 服务器等) 4. 注意:本文档的所有操作请先在在虚拟机里进行实践,请不要直接在真实的服务器中操作! CentOS 系统只有命令行界面,没有图形界面。输入用户名和密码后,初始的命令行界面显示的那一行字符(光标前的那个)叫作命令提示符: [root@localhost ~]# 在命令提示符后可以输入命令进行各种操作,具体怎么操作就是本教程接下来要教的。 要想关闭系统的话,输入 init 0 回车就行了。 [root@localhost ~]# init 0 ## 一、 初识 Linux 命令行  ### 1. 命令提示符各字段的含义 ## [root@localhost ~]# root 表示当前登录的用户名 localhost 表示主机名称 表示当前目录,家目录用波浪号~表示 #表示当前用户的权限级别,管理员用户的级别用#号表示,普通用户的级别用$号表示0 码力 | 115 页 | 8.68 MB | 2 年前3
Linux命令大全搜索工具 v1.8#### Linux命令大全搜索工具 v1.8.0  当前仓库搜集了 570 多个 Linux 命令,内容包含 Linux 命令手册、详解、学习,内容来自网络和网友的补充,非常值得收藏的 Linux 命令速查手册.  ## 极客时间 极客时间是数字人才的专属学习空间,有近 200+ 体系课和 1400+ 技术视频。为学员提供系统化、场景化、工具化和游戏化的学习服务 /3/c473a090d8d00d0b59d72dafe4494546/p6_3.jpg) ## 边缘架构 可在边缘直接对数据进行相关的计算(处理/存储)并提供相应的查询功能 ## 一 种分布式计算架构 ## 边缘架构 构成边缘计算架构的核心 ## 物联网设备的纽带  HPMQ是基于Rust语言开发的下一代可编程边缘分布式MQTT软件,主要有以下几个核心特性: • Geo–Distributed • 可编程性 • 云边一体化 • 兼容异构设备 ## Why Rust? • 性能(C/C++/Rust) • 开发效率 (Rust/Golang/Java)0 码力 | 31 页 | 3.95 MB | 2 年前3
[试读]Angular 应用安全编程中文书名:Angular 应用安全编程 # Book Title: Securing Angular Applications Google Angular Team 编著 北京 • BEIJING Powered by TCPDF (www.tcpdf.org) ## 序 Angular 是一个开发平台。它能帮你更轻松的构建 Web 应用。Angular 集声明式模板、依赖注入、端到端工具和一0 码力 | 27 页 | 177.00 KB | 2 年前3
分布式任务系统cronsun## 分布式任务系统 cronsun 苏创绩 ## 目录 01 任务系统 02 分布式任务系统 03 cron sun 04 心得体会   分布式crontab cmd1 cmd20 码力 | 48 页 | 1.52 MB | 2 年前3
共 1000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 100













