首页 > 其他分享 >elixir defdelegate 使用

elixir defdelegate 使用

时间:2024-01-08 18:03:00浏览次数:33  
标签:do name Default defdelegate elixir https 使用 login password

delegate 模式,在不少语言都支持,有些是隐式的(一些早期语言),有些是显式的(新语言,kotlin,swift等)
elixir 也支持delegate 处理,还是比较方便的,以下是一个简单的使用

定义原始方法

  • default.ex

 


defmodule Default do
  def login(name,password) do
    IO.puts "from Default.login"
    IO.puts "name: #{name}---password: #{password}"
  end
end
定义使用
对于EctoApp 模块中的login/2 方法使用Default 中的
 
defmodule EctoApp do
  defdelegate login(name,password), to: Default
end
def login(name,password) do
  • 效果

elixir defdelegate 使用_参考资料

说明

delegate 模式 在实际开发中还是比较常见的,现在不少新的开发语言都直接支持了

参考资料

https://hexdocs.pm/elixir/1.12.3/Kernel.html#defdelegate/2
https://kotlinlang.org/docs/delegation.html
https://developer.apple.com/documentation/swift/using-delegates-to-customize-object-behavior
https://www.swiftbysundell.com/articles/delegation-in-swift/

标签:do,name,Default,defdelegate,elixir,https,使用,login,password
From: https://blog.51cto.com/rongfengliang/9148234

相关文章

  • absinthe elixir 的graphql 框架简单试用
    absintheelixir的graphql框架包含的特性graphql草案的完整实现插件化设计异步字段解析以及批量解析,同时支持插件化的解析支持安全包含了基于GraphiQL的playground项目测试基于了phoenix框架创建phoenix项目mixphx.newabsinthe_phx添加sqliteecto依赖默认phoenix使用了......
  • elixir apply 结合 macro 一个方便的开发技巧
    此玩法实际在Phoenixelixir项目中使用比较多,以下是一个简单的示例示例代码login.exdefmoduleLogindodefdemoappdoquotedoimportunquote(__MODULE__)endenddefdalongdoIO.puts("dalongdemo")enddefmacro__using__(which)whenis_......
  • 位段的介绍与使用
    1.0位段介绍:位段 位--二进制位位段的声明与结构是类似的,但是有两个不同:位段的成员必须是:int、unsignedint、signedint;位段成员名后面必须有一个冒号和一个数字。位段作用:可以很大程度上节省空间计算位段所占用的空间:structS{inta:2;intb:5;intc:10;intd:30......
  • elixir macro defoverridable 功能
    基于macro的包装函数可以使用defoverridable可以方便进行方法的重写参考使用app.exdefmoduleAppdodefmacro__using__(_options)doquotedodefinitdoIO.puts"doinit"enddeflogindoIO.puts"dologin"end......
  • wasmex webassenbly elixir 运行时
    wasmex是基于wasmtime以及rustnif开发的方便elixir运行webassembly的框架与rust的集成与rust集成使用的三方包 与mjml工具类似使用了rustler_precompiled以及rustlerrust使用的三方包 前边也说了是基于了wasmtime包装的,同时使用了wasmtimewasi一些子模块说明rustle......
  • 6个在React中使用的小技巧
    这是一个可怕的问题,在React中,我们经常会编写条件语句来显示不同的视图,比如这个简单的例子。constApp=()=>{return(<>{loading?<Loading/>:<List>}</>)}但是,当项目的代码量足够大并且有很多JSX条件时,事情很快就会失控。代码......
  • 使用 Jamf Pro 和 Okta 工作流程实现自动化苹果设备管理
    Jamf的销售工程师VincentBonnin与Okta的产品经理EmilyWendell一起介绍了JNUC2021的操作方法会议。它们涵盖了Okta工作流程(OktaWorkflow),并在其中集成了JamfPro,构建了一些工作流程,并提供了几个用例。Okta工作流程和JamfPro这个使用OktaWorkflows和JamfPro进行苹果设备管理的J......
  • 使用VBScript清理%AppData%\Microsoft\InputMethod\Chs下的UDP*.tmp文件
    目录代码使用方法话题来源彩蛋——Windows操作系统下到底有多少种脚本语言?代码'VBScripttolistUDP*.tmpfilesandaskuserfordeletionOptionExplicit'DeclarevariablesDimWSHShell,FSO,TargetFolder,FileCollection,FileDimTargetPattern,FilesToDelete,Fi......
  • LINE网页版使用方法(内含LINE网页版特点总结)
    如果想要在电脑上使用LINE,但是又觉得下载客户端很累赘的话,LINE网页版是你最好的选择。但是LINE网页版相对于其他平台来说使用方式比较少。所以今天就来讲讲,我们有什么方式可以在电脑中使用LINE。LINE网页版使用方法1.需要使用Chrome浏览器,并选择【扩展程序】中的【访问Chrome应用商......
  • stm32学习总结:5、Proteus8+STM32CubeMX+MDK仿真串口并使用串口打印日志(注意重定向prin
    stm32学习总结:5、Proteus8+STM32CubeMX+MDK仿真串口并使用串口打印日志(注意重定向printf到串口打印的问题)文章目录stm32学习总结:5、Proteus8+STM32CubeMX+MDK仿真串口并使用串口打印日志(注意重定向printf到串口打印的问题)一、前言二、资料收集三、注意事项四、STM32CubeMX配置五、......