博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[Erlang 0083] All about Erlang Shell
阅读量:6903 次
发布时间:2019-06-27

本文共 2262 字,大约阅读时间需要 7 分钟。

 Erlang Shell是一个强大的工具,几乎只要我的电脑开着,就会有一个Erlang Shell开着,随时验证想法.就是因为是常用武器,也会有一些常见问题,今天做下回顾,顺便解决两个新问题.算是Erlang shell常见问题的不完全合集了吧.后续和Erlang Shell相关的问题也会在本文追加更新.

  

  对于Erlang Shell有些问题已经有解决方案了,你可以先翻翻下面的列表:

 

 

 

 

 

 

 

 

 

 

老革命遇到新问题之 

 

我还是想看到输出的中文是什么?

 

   之前专门整理过一篇关于Erlang与Unicode的文章: [Erlang 0062] Erlang Unicode 两三事 ,但还是有执著的兄弟就像看看输出的中文是什么,这里可以绕一步,把输出的内容输出到文件,然后在别的窗口(或者把当前shell切换到后台运行)查看,代码如下:

 
14> Dump= fun(Content)-> file:write_file("/data/dump.data", io_lib:fwrite("~ts.\n", [Content])) end.#Fun
15> Dump(v(1)).ok16>

 

  如果,这个是常用的操作,可以考虑把这个方法放在user_default方便使用;我曾经在  提到过user_default的用法.

 

 

老革命遇到新问题之

 

把io:format结果输出到文件

 

  群里面有人问"我在erl shell里执行m(). 如何把列出的内容输出到文件里, 因为内容太多了, 一个屏看不完!"如果你尝试上面的方法把结果写到文件,你会发现结果只有一个ok.这是因为m()输出的一大堆结果是io:format的输出,要把这些结果输出实际上要做的是将io:format的结果重定向到文件.我之前提到过,这里其实就是修改group_leader  (参考: )

 

  样例代码如下,记得由于你的结果会全部重定向到文件,所以后续想切换回Shell输出,需要重新设置一下group_leader

 

Eshell V5.9.1  (abort with ^G)1> group_leader().<0.23.0>2> {ok, F} = file:open("dump.data", [write]).{ok,<0.33.0>}3> self().<0.30.0>4> group_leader(F, self()).5> m().6> group_leader(pid(0,23,0), pid(0,30,0)).true7> erlang:now().{
1351,776145,62000}

   这个问题有同学发起追问"io:format 也显示不完呢?"  这个其实很简单,我们只需要把rp()的结果重定向就可以了:

Eshell V5.9  (abort with ^G)1> lists:seq(1,100).[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22, 23,24,25,26,27,28,29|...]2> {ok, F} = file:open("dump.data", [write]).{ok,<0.35.0>}3>  group_leader(F, self()).4> rp(v(1)).5>

查看一下文件dump.data:

[root@localhost data]# cat dump.data true[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22, 23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42, 43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62, 63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82, 83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100]ok

 

  关于Erlang Shell还有什么常见的问题?欢迎补充!

 

  最后,送上小图一张,这位美女是 曾华倩 每次看到曾华倩出现在屏幕,就想到何勇的那句歌词:

姑娘 姑娘 你漂亮 漂亮 你抱着娃娃我还把你想

 

 

2012-11-01 23:26 更新

今天还有一个好消息啊,Nosql Distilled 的电子书版可以下载了,期待Martin Fowler的这本书好久了,终于等到了!!!!

这里就不给出链接了,执行百度吧,很容易找到 epub版本的 

 

NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence [Paperback]

 

Pramod J. Sadalage (Author), Martin Fowler (Author)

 

 

2012-11-5 20:26:35更新

  关于Erlang Shell的扩展除了user_default的方式,不少开发者也不断另辟蹊径:

  著名的Erlang开发者Ulf Wiger2007年在其博客里面提到了一些对Erlang Shell的扩展方法:

[1] 

[2] 

 

[3] 相关项目地址: 

 

转载地址:http://jvvdl.baihongyu.com/

你可能感兴趣的文章
Software Engineering | Strategy pattern
查看>>
ios开发系列-准备工作
查看>>
Android Studio调试手机或者安装APK的时候出现install failed test only
查看>>
js闭包
查看>>
Xcode +SVN
查看>>
设置界面分析
查看>>
SQL中DateTime转换成Varchar样式
查看>>
java.util.AbstractList
查看>>
几个常见用于解决nginx负载均衡的session共享问题的办法
查看>>
setTimeOut、setInterval与clearInterval函数
查看>>
Appium原理及版本变化细节
查看>>
iphone ios 用xcode4.2开发 访问web service的功能
查看>>
Visual Studio 代码折叠快捷键(摘要)
查看>>
正则【备用】
查看>>
FeatureSelectors
查看>>
数据库防火墙DBShield安装
查看>>
sudo with no password
查看>>
Windows 局域网ping获取设备IP
查看>>
使用蓝图来扩展编辑器
查看>>
USACO题目——Transformations
查看>>