erlang 返回值
erlang函数返回的几种方式
case
1 | case A of |
如果判断很多的话, 那么代码可读性就太差了
if
1 | if |
虽然代码看起来规整了,但是变量A,B,C必须先算出结果
性能是个问题
catch-1
1 | test() -> |
如果test_1/0存在逻辑报错,也会被catch
需要手动在test/0再加判断
catch-2
1 |
|
个人感觉这个比较好
该catch的catch了
该throw的也throw了
目录跳转神器autojump
安装
1 | yum install autojump |
CENTOS/LINUX使用
安装后,重新打开终端,或执行source etc/profile.d/autojump.sh才可使用
在使用j xxxx前,要先cd xxx/xxxx一次
然后就可以愉快的使用j xxxx进行跳转了
查看记录/配置文件:
j --stat
WIN使用
autojump在WINDOWS没有安装成功,而且个人习惯使用PowerShell
PowerShell下有一个替代者
1 | Install-Module ZLocation -Scope CurrentUser |
使用方法和autojump类似,只是j换成了z
查看记录:
Get-ZLocation
配置文件:C:\Users\Administrator\z-location.txt
参考文档
使用erl_tidy格式化代码宏定义注意
自己写了一个rebar3插件,用于格式化代码,基于erl_tidy
链接地址: rebar3_plugin_fmt
无意中发现一个宏定义的问题
源代码:
1 | -define(CALC_PERIOD_RATE, 0.6). %% 权重概率 |
格式化后代码:
1 | -define(CALC_PERIOD_RATE, 5.99999999999999977796e-1). %% 权重概率 |
因此,若是小数, 请使用(6/10)这种格式
proxychains对单个应用代理
安装
1 | ## |
配置
1 | vim /etc/proxychains.conf |
运行
proxychains4 git clone https://github.com/rofl0r/proxychains-ng
问题
- 不是所有的都能够代理,至少
ping就不行(据说是不支持对icmp代理)
参考文档
将linux目录映射到windows本地
erlang kvlist,record互转
目前项目中将record结构转换为KVList, 然后保存到mongodb中
由于record_info(fields,Record)不支持传入参数,处理从record转换为kvlist比较麻烦
CENTOS使用YUM安装特定版本的软件
使用--showduplicates参数列出所有版本
加快erlang编译
最近在学习powershell,随便写了个可以加快编译的脚本
不得不说,powershell算是windows下最好用的脚本工具了
理论上这个脚本也是可以在linux下使用的, powershell安装教程
windows下的脚本要用gbk编码,蛋疼…
linux下加快编译的脚本请移步ERLANG快速编译脚本
Intellij Idea快捷键
Erlang项目,其他成员使用Idea开发,唯独我使用vim开发
并不是自己zhuangbility,试着转过去,各种不舒服,再转一次