F#校验算法范围?

  • 回答 (2)
  • 关注 (0)
  • 查看 (14)

F#允许通过打开来使用检查算法Checked模块,例如:

open Checked
let x = 1 + System.Int32.MaxValue // overflow

比如C#允许使用关键字checked:

int x = 1 + int.MaxValue;             // ok
int y = checked { 1 + int.MaxValue }; // overflow

笔洁7e笔洁7e提问于
software微软、谷歌、腾讯、阿里、百度……回答于
已采纳

内部作用域:

let f() =
    // define a separate operator
    let (+.) x y = Checked.(+) x y
    try 
        let x = 1 +. System.Int32.MaxValue
        printfn "ran ok"
    with e ->
        printfn "exception"
    try 
        let x = 1 + System.Int32.MaxValue
        printfn "ran ok"
    with e ->
        printfn "exception"
    // shadow (+)
    let (+) x y = Checked.(+) x y
    try 
        let x = 1 + System.Int32.MaxValue
        printfn "ran ok"
    with e ->
        printfn "exception"
    // shadow it back again
    let (+) x y = Operators.(+) x y
    try 
        let x = 1 + System.Int32.MaxValue
        printfn "ran ok"
    with e ->
        printfn "exception"
    // use parens to create a scope
    (
        // shadow inside
        let (+) x y = Checked.(+) x y
        try 
            let x = 1 + System.Int32.MaxValue
            printfn "ran ok"
        with e ->
            printfn "exception"
    )            
    // shadowing scope expires
    try 
        let x = 1 + System.Int32.MaxValue
        printfn "ran ok"
    with e ->
        printfn "exception"


f()    
// output:
// exception
// ran ok
// exception
// ran ok
// exception
// ran ok

最后,也请参阅--checked+编译器选项:

http://msdn.microsoft.com/en-us/library/dd233171(VS.100).aspx

回答过的其他问题

人工智能在生活中的应用都有哪些?

software微软、谷歌、腾讯、阿里、百度……
安防行业:基于人脸进行识别、标注、辨别等 智能驾驶:识别路线、驾驶决策等 金融行业:智能核保OCR识别、车辆智能定损等 电商行业:货品分类、货品说明、货物商标等 农业:作物辨别、成熟度判别等 工业制造:残缺点检测、特征点标注等... 展开详请

常见NoSQL数据库的应用场景是怎么样的?

software微软、谷歌、腾讯、阿里、百度……
我也说几个吧。 Redis:本质是一个Key-Value类型的内存数据库,主要是局限在较小数据量的高性能操作和运算上,目前使用Redis的网站有github,Engine Yard。 MongoDB:是一个介于关系数据库和非关系数据库之间的产品,访问速度很快。很适合电话本、地址本...... 展开详请

微软收购github后如何取得开发者信任?

software微软、谷歌、腾讯、阿里、百度……
国内and外,一股不支持、不看好,为啥不是Google的讨论越来越热,而且GitHub的直接竞争对手Gitlab还直接推出了一键迁移服务——其后流量暴涨了10倍。 [图片] 其是终归是因为收购它的是微软而不是Google。 依稀记得前任微软CEO鲍尔默赤裸裸的开源仇恨论调。时代...... 展开详请

请问该如何删除Docker镜像,容器和卷?

software微软、谷歌、腾讯、阿里、百度……
清除所有未使用或悬空的图像,容器,卷和网络的话,Docker提供了一个命令,可以清理悬空的任何资源(图像,容器,卷和网络)(与容器无关): docker system prune 要另外删除任何已停止的容器和所有未使用的图像(不只是悬空图像),请将该-a标志添加到命令: dock...... 展开详请

请问在腾讯云注册的域名备案接入商和服务商信息怎么填写?

software微软、谷歌、腾讯、阿里、百度……

参考

可以按以下信息填写

网络接入服务商 接入商所属区域:北京海淀 网站接入方式:其他 云主机 网络接入服务商:腾讯云计算(北京)有限责任公司 域名注册商 域名服务商所属区域:北京 大兴 名称北京新网数码信息技术有限公司

区块链能给游戏带来什么?

software微软、谷歌、腾讯、阿里、百度……
我认为是它带来的是游戏机制的相对透明 。 这点不难理解,当游戏的核心机制上链之后,玩家们可以查看过去只隐藏在中心化服务器中的游戏规则,这给开发商和玩家之间建立了更强的信任纽带。  在技术上智能合约并非“不可修改”,部分游戏规则可以参数化,提供给用户查看参数的方式,通过多个合约互动...... 展开详请

关于作者

software

微软、谷歌、腾讯、阿里、百度……

所属标签

扫码关注云+社区