`
gigix
  • 浏览: 352752 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

把Module搞得像Class

阅读更多
http://www.clickcaster.com/items/the-black-art-of-erlangs-parameterized-modules
引用
To declare a parameterized module, simply specify some variable names in the module declaration...Parameterized modules give you what are effectively constants which can be declared per "instance" of a module.

非标准用法,风险自负。
分享到:
评论
1 楼 Trustno1 2007-11-10  
这个提案实际上是一个不那么甜也不那么淡的语法糖. 他必须仍然遵守no effects的约定.Ulf Wigert提到他对Paramazied Modules的扩充

-module(pmod, [X, Y]).

-export([set_Y/1,
sum/0]).


sum() ->
    X + Y.

set_Y(NewY) ->
    {?MODULE, X,NewY}.

Eshell V5.5.4.3  (abort with ^G)
1>
1> c(pmod).
{ok,pmod}
2> M = pmod:new(3,4).
{pmod,3,4}
3> M:sum().
7
4> M1 = M:set_Y(5).
{pmod,3,5}
5> M1:sum().
8

M1=M:set_Y(5) 这一点非常重要,如果允许M:set_Y(5),M:sum()输出8的话那么整个Erlang就分崩离析

相关推荐

    module-info.class

    module-info.class

    Python类和模块(Class, Module)【Python一周入门教程6】

    Python类和模块(Class,_Module)【Python一周入门教程6】

    Android代码-CameraModule

    CameraModule Camera module for Android applications. Screenshots: https://www.dropbox.com/sh/2d7svoykpwpwmbw/AAAveLqvtaJ2Zt5NHaEu3-QSa Usage In your Application class call managers initializer: public...

    nginx-sticky-module-1.25.zip

    nginx sticky是nginx的module,可以实现基于cookie的负载均衡。 下载后,在编译安装nginx时,用--add-module选项,指到sticky所在目录。类似命令如下: ./configure --prefix=/usr/local/nginx-1.6.0 --add-module=...

    Android-Androidstudio多module混淆成一个Jar

    Android Studio作为Google官方推荐的Android开发IDE,提供了强大的功能支持,包括构建脚本和Gradle插件,使得这一过程变得相对简单。本文将详细介绍如何在Android Studio中将多个Module混淆并打包成一个Jar文件。 1...

    Android Studio 多层级 Module 对 aar 引用问题解决方法

    最近碰到这么个恶心的问题 ...1.把aar文件放入module文件夹下libs包下 2.然后在项目的build.gradle文件的android节点下加入 3. 1. repositories { flatDir { dirs 'libs' } } 4.然后继续在dependencies节点中加

    Python 解决由于未安装模块而导致的 No module named 问题 Python源码

    Python 解决由于未安装模块而导致的 ”No module named ”问题 Python源码Python 解决由于未安装模块而导致的 ”No module named ”问题 Python源码Python 解决由于未安装模块而导致的 ”No module named ”问题 ...

    android之APP抽离Module及自动化移动全部资源

    为了自动化移动资源,你可以编写Gradle脚本或使用第三方工具,例如使用Android Studio的Refactor > Move功能,或者利用像Retrofit、Butter Knife这样的依赖注入框架,它们可以帮助识别并自动迁移相关资源。...

    JS.Class 学习笔记

    在JavaScript的世界里,JS.Class库提供了一种面向对象编程的机制,模仿了Ruby中的模块(Module)和类(Class)的概念。这篇学习笔记主要探讨了JS.Class如何利用JS.Module实现继承、方法查找以及模块的使用。 JS....

    html css module

    html css module html css module html css module html css module html css module html css module html css module

    lcd_module.dcp

    lcd_module.dcp

    九年级英语下册 Module 4 Rules and suggestions English Class Rules课件 (新版

    九年级英语下册 Module 4 Rules and suggestions English Class Rules课件 (新版)外研版

    ES6入门教程之Class和Module详解

    在ES6中,引入了两种重要的语法特性:Class和Module,它们极大地改善了JavaScript的面向对象编程和模块化管理。 一、Class(类) 在ES6之前,JavaScript使用构造函数和原型链来实现面向对象编程,这使得代码相对...

    jackson-module-jaxb-annotations-2.7.8-API文档-中英对照版.zip

    赠送jar包:jackson-module-jaxb-annotations-2.7.8.jar; 赠送原API文档:jackson-module-jaxb-annotations-2.7.8-javadoc.jar; 赠送源代码:jackson-module-jaxb-annotations-2.7.8-sources.jar; 赠送Maven依赖...

    Java17module展示

    此项目展示了Java17里module的使用,最终打包为exe文件,不需要JDK环境 对应文章 https://burn-red.blog.csdn.net/article/details/131443199

    modulejs 下载,面向对象的javascript框架.rar

    Rich utility class modulejs 兼容全部主流浏览器 Internet Explorer 6 , Firefox 2 (and browsers based on gecko) Chrome 4 , Safari 3 and Opera 9 . modulejs quick example: var ajax = module("net.Ajax")....

    使用@IdClass创建联合主键,并实现外部关联

    使用@IdClass创建联合主键,并实现外部关联 在 Java Persistence API(JPA)中,联合主键是指由多个字段组成的主键,可以使用@IdClass注解来实现。在本文中,我们将介绍如何使用@IdClass创建联合主键,并实现外部...

    WordPress外贸企业主题Module开心版[更新至V4.5.4]

    WordPress外贸企业主题Module开心版[更新至V4.5.4],Module主题采用全新模块化开发,首页模块可视化拖拽自由组合,可自定义搭建出不同行业适用的企业网站。同时主题全面支持WPML多语言切换,可轻松搭建外贸网站。 ...

    Module1.mod

    Module1.mod

Global site tag (gtag.js) - Google Analytics