积分充值
 首页
前端开发
AngularDartElectronFlutterHTML/CSSJavaScriptReactSvelteTypeScriptVue.js构建工具
后端开发
.NetC#C++C语言DenoffmpegGoIdrisJavaJuliaKotlinLeanMakefilenimNode.jsPascalPHPPythonRISC-VRubyRustSwiftUML其它语言区块链开发测试微服务敏捷开发架构设计汇编语言
数据库
Apache DorisApache HBaseCassandraClickHouseFirebirdGreenplumMongoDBMySQLPieCloudDBPostgreSQLRedisSQLSQLiteTiDBVitess数据库中间件数据库工具数据库设计
系统运维
AndroidDevOpshttpdJenkinsLinuxPrometheusTraefikZabbix存储网络与安全
云计算&大数据
Apache APISIXApache FlinkApache KarafApache KyuubiApache OzonedaprDockerHadoopHarborIstioKubernetesOpenShiftPandasrancherRocketMQServerlessService MeshVirtualBoxVMWare云原生CNCF机器学习边缘计算
综合其他
BlenderGIMPKiCadKritaWeblate产品与服务人工智能亿图数据可视化版本控制笔试面试
文库资料
前端
AngularAnt DesignBabelBootstrapChart.jsCSS3EchartsElectronHighchartsHTML/CSSHTML5JavaScriptJerryScriptJestReactSassTypeScriptVue前端工具小程序
后端
.NETApacheC/C++C#CMakeCrystalDartDenoDjangoDubboErlangFastifyFlaskGinGoGoFrameGuzzleIrisJavaJuliaLispLLVMLuaMatplotlibMicronautnimNode.jsPerlPHPPythonQtRPCRubyRustR语言ScalaShellVlangwasmYewZephirZig算法
移动端
AndroidAPP工具FlutterFramework7HarmonyHippyIoniciOSkotlinNativeObject-CPWAReactSwiftuni-appWeex
数据库
ApacheArangoDBCassandraClickHouseCouchDBCrateDBDB2DocumentDBDorisDragonflyDBEdgeDBetcdFirebirdGaussDBGraphGreenPlumHStreamDBHugeGraphimmudbIndexedDBInfluxDBIoTDBKey-ValueKitDBLevelDBM3DBMatrixOneMilvusMongoDBMySQLNavicatNebulaNewSQLNoSQLOceanBaseOpenTSDBOracleOrientDBPostgreSQLPrestoDBQuestDBRedisRocksDBSequoiaDBServerSkytableSQLSQLiteTiDBTiKVTimescaleDBYugabyteDB关系型数据库数据库数据库ORM数据库中间件数据库工具时序数据库
云计算&大数据
ActiveMQAerakiAgentAlluxioAntreaApacheApache APISIXAPISIXBFEBitBookKeeperChaosChoerodonCiliumCloudStackConsulDaprDataEaseDC/OSDockerDrillDruidElasticJobElasticSearchEnvoyErdaFlinkFluentGrafanaHadoopHarborHelmHudiInLongKafkaKnativeKongKubeCubeKubeEdgeKubeflowKubeOperatorKubernetesKubeSphereKubeVelaKumaKylinLibcloudLinkerdLonghornMeiliSearchMeshNacosNATSOKDOpenOpenEBSOpenKruiseOpenPitrixOpenSearchOpenStackOpenTracingOzonePaddlePaddlePolicyPulsarPyTorchRainbondRancherRediSearchScikit-learnServerlessShardingSphereShenYuSparkStormSupersetXuperChainZadig云原生CNCF人工智能区块链数据挖掘机器学习深度学习算法工程边缘计算
UI&美工&设计
BlenderKritaSketchUI设计
网络&系统&运维
AnsibleApacheAWKCeleryCephCI/CDCurveDevOpsGoCDHAProxyIstioJenkinsJumpServerLinuxMacNginxOpenRestyPrometheusServertraefikTrafficUnixWindowsZabbixZipkin安全防护系统内核网络运维监控
综合其它
文章资讯
 上传文档  发布文章  登录账户
IT文库
  • 综合
  • 文档
  • 文章

无数据

分类

全部后端开发(5)其它语言(5)

语言

全部中文(简体)(5)

格式

全部PDF文档 PDF(5)
 
本次搜索耗时 0.011 秒,为您找到相关结果约 5 个.
  • 全部
  • 后端开发
  • 其它语言
  • 全部
  • 中文(简体)
  • 全部
  • PDF文档 PDF
  • 默认排序
  • 最新排序
  • 页数排序
  • 大小排序
  • 全部时间
  • 最近一天
  • 最近一周
  • 最近一个月
  • 最近三个月
  • 最近半年
  • 最近一年
  • pdf文档 MoonBit月兔编程语言 现代编程思想 第二课 月兔开发与月兔中的表达式

    �静态�指在程序运⾏之前的事物 �动态�指在程序运⾏之时的事物 ⽉兔拥有静态类型系统:在程序运⾏之前,编译器即会检查程序的类型是否定义良好 12 静态类型 每⼀个标识符都关联着唯⼀⼀个类型 �冒号�⽤于关联⼀个标识符和它的类型 x: Int a: Double s: String 每⼀个⽉兔表达式都有⼀个唯⼀的类型,这个类型由组成它的⼦表达式决定 13 静态类型检查 ⽉兔 故 (2 + 3) * (5 - 2) 15 25 数值绑定 let <标识符> : <类型> = <表达式> 数值绑定将⼀个名称(或者说标识符)赋予⼀个⽤表达式定义的值 类型声明多数时候可省略,⽉兔编译器会根据表达式类型进⾏推断 let x = 10 let y = "String" 对⼀个标识符进⾏多次绑定将会遮掩之前的值,⽽不会发⽣修改 26 表达式块 { 数值绑定 // 顶层(全局)即指定义在⼀个⽂件中所有表达式块外部定义的函数或标识符 2. let 顶层标识符 = 10 3. fn 顶层函数() { 4. // 本地(局部)即指某个表达式块内部的函数或标识符 5. fn 本地函数() { 6. 本地标识符 := 1 // 局部数值绑定可以简化 7. 本地标识符 // 表达式块的值 8. } 9. } 27 作⽤域 即指定义或数值绑定有效的范围
    0 码力 | 39 页 | 1.53 MB | 1 年前
    3
  • pdf文档 MoonBit月兔编程语言 现代编程思想 第三课 函数, 列表与递归

    add_char('m', "oonbit") 因为 Char::from_int(109) 'm' 'm'.to_string() + "oonbit" 替换表达式块中的标识符 "m" + "oonbit" 因为 m.to_string() "m" "moonbit" 我们可以通过模式匹配来分情况查看列表的内部结构 match <表达式> { <模式1> => <表达式> <模式2> => <表达式> } 模式可以⽤数据的构造⽅式定义。模式中定义了标识符,其作⽤域为对应表达式 1. fn head_opt(list: List[Int]) -> Option[Int] { 2. match list { 3. Nil => None 4 Cons(head, tail) => Some(head) 5. } 6. } 19 模式匹配结果的化简 简化待匹配的表达式 从上到下依次匹配模式 匹配成功后,根据模式定义替换表达式中的标识符 简化表达式 1. fn head_opt(list: List[Int]) -> Option[Int] { 2. match list { 3. Nil => None 4.
    0 码力 | 42 页 | 587.59 KB | 1 年前
    3
  • pdf文档 MoonBit月兔编程语言 现代编程思想 第六课 泛型与高阶函数

    替换表达式中的标识符 let x: Int = add_two(2) add_two(2) plus_one(plus_one(2)) 替换表达式中的标识符 plus_one(2) + 1 替换表达式中的标识符 (2 + 1) + 1 替换表达式中的标识符 3 +
    0 码力 | 27 页 | 2.56 MB | 1 年前
    3
  • pdf文档 MoonBit月兔编程语言 现代编程思想 第四课 多元组, 结构体,枚举类型

    match i { 3. 0 => true 4. 1 | 2 | 3 => false 5. _ => false 6. } 7. } 构造器中可以嵌套模式进⾏匹配,或定义标识符绑定对应结构 1. fn contains_zero(l: List[Int]) -> Bool { 2. match l { 3. Nil => false 4. Cons(0 Int)) -> Int { 2. match pair { 3. (first, second) => first 4. } 5. } 结构体模式匹配可以匹配部分字段;可以不⽤另外命名标识符 1. fn baby_name(info: PersonalInfo) -> Option[String] { 2. match info { 3. { age: 0, .. } => zip(tl, tl2)) 6. } 7. } 14 本地定义中的匹配 我们还可以在本地定义中利⽤模式进⾏匹配 let <模式> = <表达式> 此时会根据模式将表达式的值的⼦结构绑定到定义的标识符上,如: let (first, second) = (1, 2) // first == 1, second == 2 let Cons(1, x) = List::Cons(1, Nil) //
    0 码力 | 26 页 | 435.86 KB | 1 年前
    3
  • pdf文档 MoonBit月兔编程语言 现代编程思想 第七课 命令式编程:命令,可变数据结构,循环

    现代编程思想 命令式编程 Hongbo Zhang 1 函数式编程 到此为⽌,我们介绍的可以归类于函数式编程的范畴 对每⼀个输⼊,有着固定的输出 对于标识符,我们可以直接⽤它所对应的值进⾏替代⸺引⽤透明性 开发实⽤的程序,我们需要⼀些计算之外的�副作⽤� 进⾏输⼊输出 修改内存中的数据等 这些副作⽤可能导致多次执⾏的结果不⼀致 2 引⽤透明性 我们可以定义如下数据绑定和函数 mut ref = { val : 1 } ref = { val : 10 } ref ref 1 1 val val 10 val 9 别名 指向相同的可变数据结构的两个标识符可以看作是别名 1. fn alter(a: Ref[Int], b: Ref[Int]) { 2. a.val = 10 3. b.val = 20 4. } 5. 6. fn init } 8. alter(x, x) 9. println(x.val.to_string()) // x.val的值将会被改变两次 10. } 10 别名 指向相同的可变数据结构的两个标识符可以看作是别名 x val 1 alter(x, x) a init b x val 10 alter(x, x) a init b x val 20 alter(x, x)
    0 码力 | 23 页 | 780.46 KB | 1 年前
    3
共 5 条
  • 1
前往
页
相关搜索词
MoonBit编程语言编程语言现代思想第二二课第二课开发表达达式表达式第三三课第三课函数列表递归第六六课第六课泛型高阶第四四课第四课多元结构枚举类型第七第七课命令命令式可变数据数据结构循环
IT文库
关于我们 文库协议 联系我们 意见反馈 免责声明
本站文档数据由用户上传或本站整理自互联网,不以营利为目的,供所有人免费下载和学习使用。如侵犯您的权益,请联系我们进行删除。
IT文库 ©1024 - 2025 | 站点地图
Powered By MOREDOC AI v3.3.0-beta.70
  • 关注我们的公众号【刻舟求荐】,给您不一样的精彩
    关注我们的公众号【刻舟求荐】,给您不一样的精彩