关于OCaml,你想知道的都在这里

2018-09-30 14:53:58 来源:elecfans
标签:

 

关于OCaml,最早称为Objective Caml,是Caml编程语言的主要实现,开发工具包含交互式顶层解释器,字节码编译器以及最优本地代码编译器。Ocaml有一个巨大标准库,使得可以像Python或者Perl语言一样可以方便地开发各种应用程序。

 

对于程序员来说,OCaml由编程语言社区努力推广,并提供有目标的支持,自动内存管理和设备的便携性。目前可从苹果的App Store获下载OCaml应用程序。通过OCaml语言的应用特性,可以建立一个教代数的网站。


ocaml 简单例子(Linux)

 

 

ocaml 注释

单行注释:

 

 

多行注释:

 

 

OCaml中可以使用嵌套( … *)块, 因此我们可以很容易地注释掉某一块程序。

 

调用函数

在ocaml中,用括号括起参数和用逗号分隔参数是错误的。

 

一般情况下,括号只括起整个函数调用,不要括起函数调用的参数。

 

 

函数定义

 

 

ocaml函数的一些特性:

 

OCaml是强静态类型的语言。(也就是说没有如perl中的动态类型)。

 

OCaml用类型推导(type inference)来找出类型,所以大家无需注明类型。如果你用上述OCaml的toplevel,那么OCaml会显示出它认为的函数类型。

 

OCaml不做任何的隐式转换。如果你需要浮点数,你必须写2.0,因为2是一个整数。OCaml从不执行任何自动类型转换。

 

由于type inference的副作用,OCaml不允许任何形式的重载(包括操作符重载)。它用不同的运算符来表示“两个整数相加”(用+)和“两个浮点数相加”(用+.)。注意后者有一个点号。其他算术运算符( -。, *.,/。 )也是这样。

 

OCaml返回函数的最后的表达式值,因此我们没有必要如C中一样写return。

 

基本类型

int char float bool string unit(void的返回类型)

 
关注与非网微信 ( ee-focus )
限量版产业观察、行业动态、技术大餐每日推荐
享受快时代的精品慢阅读
 

 

继续阅读
为什么大量的人会觉得FPGA难学?这些道理你都知道吗?

如果想速成,那就上网看视频吧,这样主要是面对应用的,一个小时内让你的板子运行起来。早期起来的快,活学活用,就是后期没有系统理论支持,会有些吃力,特别是大项目,那完全是个悲剧。国内做的可以的,我知道的就是周立功了,艾米电子也可以吧。

想要学习PLC,我们该从何入手?

PLC编程语言符合IEC 61131标准。其中比较主流的语言是模块化的编程语言,也即IEC 61131-3语言。由于所有的PLC生产厂家都必须遵循IEC 61131标准,因此深入学习某一款PLC后,其它的PLC大体上是类似的。

在FPGA的编程语言里,这是你最容易犯的错误

我知道,我对与电子有关的所有事情都很着迷,但不论从哪个角度看,今天的现场可编程门阵列(FPGA),都显得“鹤立鸡群”,真是非常棒的器件。如果在这个智能时代,在这个领域,想拥有一技之长的你还没有关注FPGA,那么世界将抛弃你,时代将抛弃你。

学Python的程序员,摇身一变成凤凰?

不久前 “摩拜单车创始人套现 15 亿:你的同龄人,正在抛弃你” 在朋友圈刷屏,一时引起众多争议。虽然受到了一些意见领袖的反感和声讨,但不可否认的是,这样的言论的确引起了很多人的焦虑。

电子工程师:我是怎么月薪5W的?

我出身在一个普通家庭,家庭条件一般。从小时候起,我就发誓,长大后一定要出人头地,让家里过上好日子。从小好好学习,终于考上了重点大学。最近电子专业很热门,听说赚钱也挺多的,我对电子行业也比较感兴趣,于是大学就报了电子工程专业。

更多资讯
PLC的面向对象编程实现方式

面向对象编程是计算机高级语言的一种先进的编程模式,在工业控制系统的PLC程序中也可以采用这种设计思想,虽然我们无法实现面向对象的很多优秀特点如“继承”,甚至于它根本就不具备面向对象编程语言的特点,但面向对象编程的基本概念就是类和类的实例(即对象),我们只需要使用这种概念就可以了。

ASIC项目瀑布式开发流程详解

最近收拾书架,翻出一张多年以前的ASIC项目开发流程图,一起回顾一下。

智能门锁不安全?工程师自己造了一个AI人脸识别门锁
智能门锁不安全?工程师自己造了一个AI人脸识别门锁

展示了AI如何在Ultra96和Intel Movidius NCS以及Tensorflow Inception Facenet上运行。 该项目可以扩展到使用面部识别来解锁,记录进出情况,打开不同的灯光场景。

芯片厂商营收整体看衰赛灵思却逆势增长34%,凭什么
芯片厂商营收整体看衰赛灵思却逆势增长34%,凭什么

赛灵思可编程芯片产品市场的不断增长推动它的发展壮大,5G网络的推出也是它继续前行的助推器。

使用Vivado HLS在ZYNQ-7000上开发OPENCV的教程

OPENCV(Open Source Computer Vision)被广泛的使用在计算机视觉开发上。使用Vivado HLS视频库在zynq-7000全可编程soc上加速OPENCV 应用的开发,将大大提升我们的计算机视觉开发。

电路方案