Erlang学习记录:输入和输出
输入和输出
输入和输出功能都被定义在io模块
输出功能非常常用,由于erlang项目没有可断点调试的IDE(或者说根本不需要),所以所有的调试操作都是由io输出 来调试的
io:get_line/1.
参数:输入提示
获取标准输入,回车结束,
io:get_chars/2.
参数:输入提示,跳过字符数量
获取输入字符,获取的字符不包含跳过数量的字符
io:read/1
参数:输入提示
从shell面板读取一个项元,项元必须是一个明确的值,而不是一个表达式
io:write/1
打印输出一个项元
io:format/1
直接输出一段文本
io:format/2
参数:格式化的字符串/二进制,解析列表,列表,列表
格式化输出一段文本
格式化的占位符(控制格式化的序列,简称:控制序列)以“~”开头,后面的称之为填充字符
完美的控制序列型是为F.P.PadC,其中F为输出宽度(长度和格式,+10表示左对齐10位长度,-10表示右对齐10位长度,内容长度不足时使用Pad填充),P为输出精度,即截取原输出文本的长度,当P大于原文本昌都市,使用Pad填充,Pad是填充字符,只能是一个字符,默认空格,C是控制字符,如:40p~n
控制序列表:
| 符号 | 说明 |
|---|---|
| ~c | 输出一个字符的ASCII码 |
| ~f | 输出一个有6位小数点的浮点数 |
| ~e | 输出一个以科学记数法表示的共6位的浮点数 |
| ~w | 以标准语法从输出任何项元(也就是Term),常被用于输出Erlang数据类型 |
| ~p | 类似~w,但是会在适当的地方换行和缩进,并尝试将列表作为字符串输出 |
| W、P | 类似w和p,但是限制结构深度为3 |
| ~B | 输出一个十进制整数 |
| ~n | 换行 |
| ~s | 打印一个字符串,I/O列表或原子,打印时不带引号 |
~W深度示例
> io:format("~W",[[z,h,c],3]).
[z,h|...]ok
> io:format("~W",[[z,h,c],2]).
[z|...]ok
> io:format("~W",[[z,h,c],1]).
[...]ok
> io:format("~W---~W",[[z,h,c],1,[a,b,c],2]).
[...]---[a|...]ok
> f(List).
ok
> List = [2,3,math:pi()].
[2,3,3.141592653589793]
> f(Sum).
ok
> Sum = lists:sum(List).
8.141592653589793
> io:format("hello,world!~n",[]).
hello,world!
ok
> io:format("the sum of ~w is ~w.~n",[[2,3,4],demo:sum([2,3,4])]).
the sum of [2,3,4] is 9.
ok
> io:format("the sum of ~W is ~.2f.~n",[List,3,Sum]).
the sum of [2,3|...] is 8.14.
ok
> io:format("~40p~n",[{apply,io,format,["the sum of ~W is ~.2f.~n",[[2,3,math:pi()],3,demo:sum([2,3,math:pi()])]]}]).
{apply,io,format,
["the sum of ~W is ~.2f.~n",
[[2,3,3.141592653589793],
3,8.141592653589793]]}
ok
> io:format("|~-4s|",[abc]). % |abc |ok
> io:format("|~-10s|",[abc]). % |abc |ok
> io:format("|~-10.0.+s|",[abc]). % |++++++++++|ok
> io:format("|~-10.1.+s|",[abc]). % |a+++++++++|ok
> io:format("|~-10.2.+s|",[abc]). % |ab++++++++|ok
> io:format("|~-10.10.+s|",[abc]). % |abc+++++++|ok
> io:format("|~4s|",[abc]). % | abc|ok
> io:format("|~10s|",[abc]). % | abc|ok
> io:format("|~10.0.+s|",[abc]). % |++++++++++|ok
> io:format("|~10.1.+s|",[abc]). % |+++++++++a|ok
> io:format("|~10.7.+s|",[abc]). % |+++abc++++|ok
> io:format("|~10.10.+s|",[abc]). % |+++++++abc|ok
io:format/3
参数:输出文件流(需要输出到的进程标识符,file:open(File,write)的返回值)/格式化的字符串/二进制,解析列表,列表,列表
往输出文件流中输出(写出)数据
FS = file:open(File, read|write...).
io:format(FS, "~P~N", [Message]).
file.close(FS).
%%
<<"爱我中华"/utf8>>
% 或者
unicode:characters_to_binary("爱我中华").
> io:format("~ts",[<<"爱我中华"/utf8>>]).
爱我中华ok
%%todo
Erlang学习记录:输入和输出的更多相关文章
- python学习记录_中断正在执行的代码,执行剪切板中的代码,键盘快捷键,魔术命令,输入和输出变量,记录输入和输出变量_
2018-03-28 00:56:39 中断正在执行的代码 无论是%run执行的脚本还是长时间运行的命令ctrl + cIn [1]: KeyboardInterrupt 执行剪切板中的代码 ctrl ...
- 从0开始的Python学习015输入与输出
简介 在之前的编程中,我们的信息打印,数据的展示都是在控制台(命令行)直接输出的,信息都是一次性的没有办法复用和保存以便下次查看,今天我们将学习Python的输入输出,解决以上问题. 复习 得到输入用 ...
- C++学习42 输入和输出的概念
我们经常用到的输入和输出,都是以终端为对象的,即从键盘输入数据,运行结果输出到显示器屏幕上.从操作系统的角度看,每一个与主机相连的输入输出设备都被看作一个文件.除了以终端为对象进行输入和输出外,还经常 ...
- perl学习笔记——输入与输出
读取标准输入 用<STDIN>进行标准输入:chomp($line=<STDIN>); 如果读到文件尾,行输入操作符就会返回undef.便可利用这一性质跳出循环. while( ...
- Python学习--02输入和输出
命令行输入 x = input("Please input x:") y = raw_input("Please input x:") 使用input和raw_ ...
- perl学习(5) 输入和输出
1.1. 从标准输入设备输入 <STDIN> 行输入操作在到达文件的结尾时将返回undef,在while循环的条件中不能使用chomp: while (defined($line = &l ...
- python语言学习5——输入和输出
输出 用print()在括号中加上字符串,就可以向屏幕上输出指定的文字. 注意点: 字符串用的是单引号 碰到逗号输出时就会输出一个空格 输入 python提供了一个input(),可以让用户输入一个字 ...
- Python学习笔记-输入与输出
一.Python提供了raw_input()和input()两个函数实现数据输入. 1.raw_input() 接收字符串类型的输入数据. str1=raw_input("请输入字符串:&q ...
- Python学习--02输入和输出、运算符
命令行输入 x = input("Please input x:") y = raw_input("Please input x:") 使用input和raw_ ...
随机推荐
- Python中两大神器&exec() &eval()
一.神器1 -- 内置函数eval eval是python中的内置函数,它的作用是将字符串变为所对应的表达式,也相当于一个功能代码加双引号变为字符串,而eval又将字符串转为相应的功能,它在使用过程中 ...
- ADS 命令行命令介绍
armasm 1. 命令:armasm [选项] -o 目标文件 源文件 2. 选项说明 -Errors 错误文件名 ;指定一个错误输出文件 -I 目录[,目录] ;指 ...
- windows版nginx+ftp实现图片服务器的搭建
配置图片服务器的一部分参数 resource.properties: #FTP\u76f8\u5173\u914d\u7f6e #FTP\u7684ip\u5730\u5740 FTP_ADDRESS ...
- jeecg Online表单开发中新增自定义按钮
要求:给表单增加一个“确认”按钮,按钮功能更改选中数据的flag字段为1 点击“自定义按钮”,录入一个“确认”按钮 按钮编码:该编码在一个智能表单配置中唯一,该编码同时是按钮触发的JS函数名.例如:按 ...
- 酷狗mac版如何新建歌单?酷狗mac版收藏歌单方法
很多朋友们都喜欢使用酷狗音乐听音乐,不过最近有使用酷狗mac音乐播放器的Mac新用户,想要新建歌单收藏歌单,但有不知道如何操作,那么苹果电脑酷狗mac版如何新建歌单收藏歌单呢?针对此问题,本文给大家介 ...
- Maven将本地项目打包后引入本地另一个项目
进入需要打包的文件夹,执行:mvn clean install -X 生成JAR包 打完JAR包后,将maven依赖安装 执行命令: install:install-file -Dfile=E:\co ...
- bzoj1010题解
[解题思路] 设s[i]=i+∑c[j](j∈[1,n]∩N) 易得转移方程f[i]=min{f[j]+(s[i]-s[j]-L-1)2},朴素算法复杂度O(n2). 考虑斜率优化:记T[i]=s[i ...
- 回滚树形dp(按dfs序dp)——hdu6035
本题前面的操作别的博客里都有.难点在于颜色ci的贡献,如何一次dfs求出答案 先来考虑如何在一次dfs中单独对颜色i进行计算 用遍历dfs序的方式,在深搜过程中,碰到带有颜色 i 的点 u,u每个颜色 ...
- Spring随笔-bean装配
Spring提供了三种装配方式 1.XML文件进行显式装配 2.java中进行显示装配 3.自动化装配 1.自动化装配的两种实现方式 1.组件扫描:Spring会自动发现应用上下文中创建的bean 2 ...
- 7、postman的变量
环境变量 环境变量顾名思义,我们可以设置测试环境和生产环境的变量. 比如我们设置测试环境的某个变量值为A,但是生产环境的为B,这个时候就可以用到环境变量.当然我们也可以不用环境变量,直接手动改,不过试 ...