Ruby特别适合去解决一些小的程序问题,相比于c,c++和Java会很方便(至少代码量是少了不少),这样可以把更多的精力花在解决问题的算法上。然而几乎每次编程序都要涉及到输出输出操作(尤其是输入,不然你咋看结果)。...
Ruby特别适合去解决一些小的程序问题,相比于c,c++和Java会很方便(至少代码量是少了不少),这样可以把更多的精力花在解决问题的算法上。然而几乎每次编程序都要涉及到输出输出操作(尤其是输入,不然你咋看结果)。这次咱们就谈谈ruby的I/O。
一、输入
gets
输入一个带换行符的字符串
a=gets #输入123,按回车
a #"123\n"
输入一个不带换行符的字符串
使用chomp,在不指定参数的情况下,String.chomp删除尾部\n,\r和\r\n
a=gets.chomp #输入123(按回车)
a #"123"
输入数字,使用to_i转换为数字类型
a=gets.to_i #输入123(按回车)
a #123
输入一串数字,使用map
a=gets.split.map(&:to_i) #输入10 22 34(中间有空格,按回车)
a #[10, 22, 34]
输入指定个数的多个数字,暂时没想到更好的办法
a=[] #初始化一个空数组
gets.to_i.times{|i|a<<gets.to_i} #先指定输入数字个数,再依次输入数字。
#输入 3\n5\n8\n5\n \n为回车
a #[5,8,5]
总之Ruby中的输入只有gets一种函数,读取数据时很多时候需要对输入进行处理。
二、输出
print是比较常见的输出形式,变量是啥就输出啥,从不拖泥带水。
如果想要输出多个变量,用“,”隔开
print "123" #打印123
print 123 #打印123
print 1,2,3 #打印123
print [1,2,3] #打印[1, 2, 3]
a=3
print "12#{a}45" #打印12345,使用#{}读取变量值,因为是String的功能,其它输出也适用
puts
puts是在print的基础上,如果每次输出(下面第三行1,2,3都各算一次输出)末尾无换行符,则自动补换行符
puts "123", "123\n" #打印123\n123\n
puts "123\n\n" #打印123\n\n
puts 123 #打印123\n
puts 1,2,3 #打印1\n2\n3\n
puts [1,"2",3] #打印1\n2\n3\n
printf
格式化输出,与c语言中类似
printf("%d %d %s",1,2,"abc") #打印1 2 abc
printf("%s %s",["11111",2,3],1) #打印["11111", 2, 3] 1 感觉%s是万能的
p
p 根据数据的数据类型选择合适的输出方式,比较适合程序员调试(因为可以看出数字和数字组成的字符串之间的区别
p "123" #打印"123"\n
p "123\n" #打印"123\\n"\n 即123后面打印出了'\','n','"',然后换行
p 123 #打印123\n
p 1,2,3 #打印1\n2\n3\n
p [1,"2",3] #打印[1, "2", 3]\n
总结一下
puts | printf | p | ||
---|---|---|---|---|
数字自动增加双引号 | √ | |||
自动换行 | √ | √ | ||
数组换行 | √ | |||
使用逗号来连续输出 | √ | √ | √ | |
使用“%”格式化输出 | √ | |||
123 | 123 | 123\n | 123(%d) | 123\n |
“123” | 123 | 123\n | 123(%s) | “123”\n |
[1,2,3] | [1, 2, 3] | 1\n2\n3\n | [1, 2, 3](%s) | [1, 2, 3]\n |
本文标题为:Ruby即时编程——(一)输入输出
- Ruby的字符串与数组求最大值的相关问题讨论 2023-07-22
- R语言-如何切换科学计数法和更换小数点位数 2022-11-23
- Swift超详细讲解指针 2023-07-08
- Ruby 迭代器知识汇总 2023-07-23
- R语言绘图数据可视化pie chart饼图 2022-12-10
- Go Web开发进阶实战(gin框架) 2023-09-06
- Ruby on Rails在Ping ++ 平台实现支付 2023-07-22
- R语言关于二项分布知识点总结 2022-11-30
- Golang http.Client设置超时 2023-09-05
- 汇编语言程序设计之根据输入改变屏幕颜色的代码 2023-07-06