首页 > 其他分享 >erlang -type 以及-spec 使用

erlang -type 以及-spec 使用

时间:2024-01-03 13:02:37浏览次数:34  
标签:www reference 26 integer erlang type spec

很多时候我们编写的模块方法需要明确的参数类型,方便使用,-type 以及-spec 就提供了此能力

参考使用

  • app.erl
-module(app).
 
-export([myadd/1,mydemo/1]).
 
-type add() :: {integer(), integer()}.
 
-spec myadd(add()) -> integer().
 
myadd(Args) ->
    {A,B} = Args,
    A + B.
 
-spec mydemo(add()) -> integer().
mydemo({A,B}) ->
    A + B.

 

  • 使用

erlang -type 以及-spec 使用_参数类型

 

说明

此方法在不少erlang 项目中都可以看到,用好了很方便

参考资料

https://www.erlang.org/docs/26/reference_manual/typespec
https://www.erlang.org/docs/26/reference_manual/data_types
https://www.erlang.org/docs/26/reference_manual/typespec#specifications-for-functions

标签:www,reference,26,integer,erlang,type,spec
From: https://blog.51cto.com/rongfengliang/9082301

相关文章

  • eqwalizer WhatsApp 开源的erlang类型检查工具
    可能大家都听说过WhatsApp对于erlang使用是比较多的,WhatsApp的IM系统就是基于erlang开发的,同时WhatsApp也开源了一些erlang周边的工具eqwalizer是一个类型检查的,可以与rebar以及非rebar项目集成参考使用基于rebar的项目下载工具https://github.com/WhatsApp/eqwalizer/......
  • 前端VUE JS if (!this.form.typeId)什么意思,包括数字0吗
    这行代码是在检查this.form对象的typeId属性是否为假值。如果typeId是假值(比如null、undefined、false、0、NaN或空字符串""),那么条件将被视为true。这通常用于检查对象属性是否存在或是否被设置为一个真实的值。数字0也包括吗?是的,数字0也被视为假值。在JavaScript中,条......
  • [EFI]HP Spectre 13 电脑 Hackintosh 黑苹果efi引导文件
    硬件型号驱动情况主板HPSpectre13处理器IntelCorei7-7500U(7thgen-KabyLake)已驱动内存8GBLPDDR3-1866SDRAM已驱动硬盘512GBToshibaNVMe™M.2SSD已驱动显卡IntelHDGraphics620已驱动声卡ConexantCX8200(0x2008)已驱动网卡I1211GigabitEthernet已驱动无线......
  • [Typescript] This type
    Sometimeswehaveafree-standingfunctionthathasastrongopinionaroundwhatthiswillendupbeing,atthetimeitisinvoked.Forexample,ifwehadaDOMeventlistenerforabutton:<buttononClick="myClickHandler">ClickMe!</b......
  • 解决 typescript node tsx 的兼容问题
    问题在项目中使用typescript+tsx+node存在各种兼容问题,包括:[esbuildError]:Top-levelawaitiscurrentlynotsupportedwiththe"cjs"outputformatCannotfindmodule'X'.Didyoumeantosetthe'moduleResolution'optionto'......
  • HTTP协议安全头部X-Content-Type-Options引入的问题
    本文于2016年4月完成,发布在个人博客网站上。考虑个人博客因某种原因无法修复,于是在博客园安家,之前发布的文章逐步搬迁过来。前段时间测试MM反馈了一个问题,在富文本编辑器里上传的图片无法正常呈现。因为Jackie在本机的环境上没有观察类似的现象,而恰好那天测试环境的某个重要配......
  • TypeORM 的同步选项
    配置TypeORM连接到数据库时,有一个synchronize选项,意思是“同步”,也就是同步TypeORM实体和数据表,再详细讲就是根据实体自动创建和修改数据表结构,使其与TypeORM定义的实体类相匹配。以Nest中的使用为例:import{Module}from'@nestjs/common';import{TypeOrmModule}......
  • HBaseIntrospector
    packagex;importjava.sql.DatabaseMetaData;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.util.ArrayList;importjava.util.List;importjava.util.Map;/***@authormuzhi*@author<ahref="mailto:maming.zhong2526@nvxclou......
  • Spring BeanFactoryAware 解决 prototype 作用域失效问题
    跟着孙哥学Spring,b站:https://www.bilibili.com/video/BV185411477k/?spm_id_from=333.337.search-card.all.click在Spring中,如果一个singletonbean依赖了一个prototypebean,那么这个prototypebean在初始化时只会被创建一次,这就是所谓的"prototypescope失效"的问题......
  • python中的泛型使用TypeVar
    1.引入为什么需要TypeVarPEP484的作者希望借助typing模块引入类型提示,不改动语言的其它部分。通过精巧的元编程技术,让类支持[]运算不成问题。但是方括号内的T变量必须在某处定义,否则要大范围改动python解释器才能让泛型支持特殊的[]表示法。鉴于此,我们增加了typing.TypeVar构造......