Idris 语言文档 Version 1.3.1Version 1.3.1 http://www.idris-lang.org/ Type :? for help Idris> 它会提供一个 ghci 风格的界面,可以像类型检查那样求值表达式、进行定理证明、编译、编辑、以及执行多种其它操作。命令:? 会列出所支持的命令。在以下示例中,hello.idr 已被加载,main 的类型已通过检查,之后该程序被编译成了可执行的 hello 库模块 Prelude 会在每个 Idris 程序中自动导入,包括 IO 功能,算术运算,数据结构以及多种通用函数。Prelude 中定义了一些算术和比较运算符,我们可以在提示符中使用它们。在提示符中进行求值会给出一个答案及其类型。例如: *prims> 6*6+6 42 : Integer *prims> x == 6*6+6 True : Bool Idris 为原语类型定义了所有的 pure : a -> IO a 后面我们会看到,do-记法比这里的展示更加通用,并且可以被重载。 #### 1.3.7 惰性 通常,函数的参数会在函数被调用前求值(也就是说,Idris采用了及早(Eager)求值策略)。然而,这并不总是最佳的方式。考虑以下函数: ifThenElse : Bool -> a -> a -> a ifThenElse True t e0 码力 | 224 页 | 2.06 MB | 2 年前3
Kotlin 1.9.10 官方文档 中文版
Gradle 编译器选项 用于 Kotlin/JVM 的项目级编译器选项 用于 Kotlin/Native 模块名的编译器选项 官方 Kotlin 库的独立编译器插件 最低支持版本递增 kapt 不会导致及早任务创建 JVM 目标平台验证模式的编程化配置 删除了 classpath 属性 In Kotlin 1.7.0, we announced the start of a deprecation cycle Gradle plugin's compatibility with available Gradle versions in our documentation. kapt 不会在 Gradle 中及早任务创建 Prior to 1.9.0, the kapt compiler plugin caused eager task creation by requesting the configured KEEP-75。 草稿文件支持 Kotlin 1.3 引入了对可运行的草稿文件(scratch files)的支持。草稿文件是一个扩展名为 .kts 的 kotlin 脚本文件, 可以 在编辑器中直接运行并获取求值结果。 更多细节请参考通用草稿文件文档。 Kotlin 1.2 的新特性 发布于:2017-11-28 目录 多平台项目 其他语言特性 标准库 JVM 后端 JavaScript 后端0 码力 | - 页 | 22.65 MB | 2 年前3
Kotlin 官方文档中文版 v1.9Kotlin/Native 模块名的编译器选项 • 官方 Kotlin 库的独立编译器插件 最低支持版本递增 - kapt 不会导致及早任务创建 - JVM 目标平台验证模式的编程化配置 ## 删除了 classpath 属性 In Kotlin 1.7.0, we announced the start of a deprecation plugin's compatibility with available Gradle versions in our documentation. ## kapt 不会在 Gradle 中及早任务创建 Prior to 1.9.0, the kapt compiler plugin caused eager task creation by requesting the configured ## 草稿文件支持 Kotlin 1.3 引入了对可运行的草稿文件(scratch files)的支持。草稿文件是一个扩展名为 .kts 的 kotlin 脚本文件,可以在编辑器中直接运行并获取求值结果。 更多细节请参考通用草稿文件文档。 # Kotlin 1.2 的新特性 发布于:2017-11-28 ## 目录 多平台项目 其他语言特性 • 标准库 • JVM 后端 JavaScript0 码力 | 2049 页 | 45.06 MB | 2 年前3
机器学习课程-温州大学-07机器学习-决策树ents/b/5/a/c/b5ac9f8196169840e272b1ddd11e1caa/p21_1.jpg) 基于表生成未剪枝的决策树 ## 剪枝策略 在节点划分前来确定是否继续增长,及早停止增长 主要方法有: • 节点内数据样本低于某一阈值; 所有节点特征都已分裂; • 节点划分前准确率比划分后准确率高。 ### C4.5的剪枝 ## 预剪枝  预剪枝的决策树 ## 剪枝策略 在节点划分前来确定是否继续增长,及早停止增长 主要方法有: • 节点內数据样本低於某一阈值; 所有节点特征都已分裂; • 节点划分前准确率比划分后准确率高。 ### C4.5的剪枝 ## 后剪枝 在已经生成的决策树上进行剪枝,从而得到简化版的剪枝决策树。0 码力 | 39 页 | 1.84 MB | 2 年前3
ECMAScript规范 第三版 中文版10.1.7 This.....57 10.1.8 参数对象.....57 10.2 进入执行上下文.....58 10.2.1 全局代码.....58 10.2.2 求值代码.....58 10.2.3 函数代码.....58 ## 简史 本 ECMA 标准基于一系列原创技术,其中最著名的是 Netscape 公司的 JavaScript 和 Microsoft ray(数组)对象、String 对象、Number 对象、Math(数学库)对象、Date(日期)对象、RegExp(正则表达式)对象以及其它 Error 类对象:Error,EvalError(求值错误),RangeError(越界错误),ReferenceError(引用错误),SyntaxError(语法错误),TypeError(类型错误),URIError(唯一资源定位符错误)。 ECMAScript #### 7.8.5 正则表达式常量 正则表达式常量被扫描后,转换为 RegExp 对象的输入元素(章节 15.10)。此对象在包含它的程序或函数开始求值之前被创建。求值此常量产生一个到那个对象的引用;这不产生新对象。决不能用 === 比较被程序求值为正则表达式对象的两个正则表达式常量,即使两个常量内容相同。在运行时创建 RegExp 对象,可以用 new RegExp(章节 15.10.4),或者以函数的方式调用0 码力 | 58 页 | 563.06 KB | 2 年前3
Nim 2.0.2 中文手册"安全"的语言特性,并且没有禁用运行时检查,就不会产生这类错误。 constant expression "常量表达式",在对包含它的代码进行语义分析时,其值就可以被计算出来,并且不局限于语义分析时求值的能力,例如常量折叠。它从来不会是左值,也不会有副作用。它可以使用编译期支持执行的所有 Nim 语言特性。由于常量表达式可以作为语义分析时的输入,比如定义数组边界,鉴于这种灵活性要求,编译器交错进行语义分析和编译期代码执行。 +;' ## 求值顺序 求值顺序严格从左到右,由内到外,这是大多数其他强类型编程语言的典型做法: var s = "" proc p(arg: int): int = s.add $arg result = arg discard p(p(1) + p(2)) doAssert s == "123" 赋值也不特殊,左边的表达式在右边的表达式之前被求值: var = getI() doAssert a == [1, 0, 0] v = 0 someCopy(b[getI()], getI()) doAssert b == [1, 0, 0] 然而,“求值顺序”的概念只有在代码被规范化之后才适用。规范化涉及到模板的扩展和参数的重新排序,这些参数已经被传递给命名参数。 原由:与重载赋值或类似赋值的运算符保持一致,a = b 可以理解为 performSomeCopy(a0 码力 | 127 页 | 7.05 MB | 1 年前3
统一建模语言 UML 参考手册 - 基本概念往有许多方法来避免不必要的计算。变更事件应仅当更显式通讯形式不合适时使用。 注意变更事件和迁移条件之间的区别。迁移条件在迁移上的触发事件发生和接收者处理事件时被求值。如果为假,迁移不会被激发,该条件不会被重新求值。变更事件则持续的被求值直到为真,此时迁移被激发。 时间事件。时间事件代表了事件的流逝。时间事件可以采用绝对时间(某天某时刻)或相对时间(给定事件后的一段事件)。在高层次的模型中,时间 事件要容易一些。 迁移条件。迁移可能伴随布尔表达式的迁移条件。它可能引用拥有该状态机对象的属性,以及触发事件的参数。迁移条件在触发事件发生时被求值。如果表达式为真,则迁移被激发——即结果发生。如果表达式为假,迁移不被激发。迁移条件仅在触发事件发生时被求值一次。如果条件为假,而后为真,迁移是不会被激发的。 相同事件可以作为离开某个状态多个迁移的触发。相同事件的迁移必须具有不同的迁移条件。如果事件 选择是随机的或依赖于实现细节。建模人员不应该依赖于预计的结果。 结束迁移。缺乏显式触发事件的迁移在状态中的活动结束时被触发(即结束迁移)。结束迁移可能包含迁移条件,它在状态中的活动结束时被求值(而后不会再求值)。 动作。迁移被激发时,它的动作(如果存在)被执行。动作是原子操作和简短的运算,常常是赋值语句或单个的计算。其它动作包括向别的对象发送型号、调用操作、设置返回值、创建和销毁对象以及接触有0 码力 | 123 页 | 2.61 MB | 2 年前3
Julia 中文文档.. 79 9.17 更多阅读 ..... 80 10 流程控制 ..... 81 10.1 复合表达式 ..... 81 10.2 条件表达式 ..... 82 10.3 短路求值 ..... 85 10.4 重复执行:循环 ..... 87 10.5 异常处理 ..... 89 内置的 Exception ..... 90 throw 函数 ..... 90 多重对象 …… 187 宏生成代码 …… 188 19 元编程 …… 189 19.1 程序表示 …… 189 符号 …… 190 19.2 表达式与求值 …… 191 引用 …… 191 插值 …… 192 Splatting 插值 …… 192 嵌套引用 …… 193 QuoteNode …… 194 v(3) $ 是计算了两次的。然而,链式比较中的顺序是不确定的。强烈建议不要在表达式中使用有副作用(比如 printing)的函数。如果的确需要,请使用短路运算符 &&(请参考短路求值)。 ## 初等函数 Julia 提供了强大的数学函数和运算符集合。这些数学运算定义在各种合理的数值上,包括整型、浮点数、分数和复数,只要这些定义有数学意义就行。 而且,和其它 Julia 函数一样,这些函数也能通过点语法0 码力 | 1238 页 | 4.59 MB | 2 年前3
阮一峰 JavaScript 教程if(布尔值) 2. 语句; 3. 4. // 或者 5. if(布尔值)语句; 上面是 if 结构的基本形式。需要注意的是,“布尔值”往往由一个条件表达式产生的,必须放在圆括号中,表示对表达式求值。如果表达式的求值结果为 true,就执行紧跟在后面的语句;如果结果为 false,则跳过紧跟在后面的语句。 1. if (m === 3) 2. m = m + 1; 上面代码表示,只有在 m 等于3时,才会将其值加上1。 为了避免这种歧义,JavaScript 规定,如果行首是大括号,一律解释为语句(即代码块)。如果要解释为表达式(即对象),必须在大括号前加上圆括号。 1. (\{foo: 123\}) 这种差异在 eval 语句(作用是对字符串求值)中反映得最明显。 1. eval('{foo: 123}') // 123 2. eval('({foo: 123})') // {foo: 123} 对象 上面代码中,如果没有圆括号, 尔值的简便写法。 且运算符(\&) 且运算符(&&)往往用于多个表达式的求值。 它的运算规则是:如果第一个运算子的布尔值为 true,则返回第二个运算子的值(注意是值,不是布尔值);如果第一个运算子的布尔值为 false,则直接返回第一个运算子的值,且不再对第二个运算子求值。 1. 't' && '' // ""0 码力 | 540 页 | 3.32 MB | 1 年前3
C++高性能并行编程与优化 - 课件 - 11 现代 CMake 进阶指南的 \($\{\}$ 表达式可以嵌套 因为 $ \{PROJECT\_NAME\} $ 求值的结果是 hello make 所以 $ \{Project\_NAME\}\_VERSION\} $ 相当于 $ \{hello make\_VERSION\} $ 进一步求值的结果也就是刚刚指定的 0.2.3 了。 message("hello_make_VERSION: xpressions • https://cmake.org/cmake/help/v3.7/command/if.html ## if 的特点:不需要加 \($\{\}$ ,会自动尝试作为变量名求值 由于历史原因,if 的括号中有着特殊的语法,如果是一个字符串,比如 MYVAR,则他会先看是否有 $ {MYVAR} $ 这个变量。如果有这个变量则会被替换为变量的值来进行接下来的比较,否则保持原来字符串不变。 MATCHES "Hello") 会被翻译成 if (Hello MATCHES "Hello") 而因为 Hello 这个变量名存在,所以会被(出于历史原因的)if 进一步求值:if (“world” MATCHES “Hello”) 从而会执行假分支,结果不正常了。 set(Hello world) set(MYVAR Hello) if (${MYVAR} MATCHES0 码力 | 166 页 | 6.54 MB | 2 年前3
共 120 条
- 1
- 2
- 3
- 4
- 5
- 6
- 12













