Ruby语言输入方法法

Python011

Ruby语言输入方法法,第1张

#举个例子,分段函数的处理

puts "Please input x:" #输出一些文字

x = gets #等待用户用键盘输入信息

if x<2 #以下是判断输入信息及根据输入信息进行引导

y = x+4

else

y = 2*x

end

puts "The result is:#{y}"#输出结果

输入输出,我们平时简称做(I/O)的东西。想起做为脚本的javascript和vbscript不能使用标准输入输出我就不爽。也还记得刚开始学习java时,还没有Scanner这一说,就连读进一个整数都要很装B地StringTokenizer一番,实在是很苦的。好在Ruby很人性化,他不但实现了I/O,而且实现得还很不错,让我们一起来看一下吧。Ruby提供了两种不同的I/O方法。第一种就是我们一直在用的RUBY的内核模块中的gets,open, print, printf, putc, puts, readline, readlines, 以及test。做为一直以来都在使用的standard input和standard output,我就不多做解释了。只要说一句大家就明白了,上面的函数如果出现在C中,那么实现就和C的语法一样,如果出现在JAVA中,你就直接使用JAVA的写法去调用,完全OK。第二种方法就要体现出Ruby自己的东西了:I/O对象。接下来,我们就来看一下I/O对象的几类。还是从我们最常用的一个子类开始吧:File。1、打开文件可能你马上就想到了,既然File是一个类,那么new方法就应该可以用吧,呵呵,没错,我们可以用File.new(filename,openMode)这种方法来打开一个文件,相对的,我们也可以用File.close来关闭对一个文件的引用,这不需赘述。可是我却要向大家推荐另外一种用法:File.open,这种方法也同样可以打开一个文件,那么他和new有何不同吗?在通常的应用之中,这两种方法并没有什么不同。但是如果在打开文件的方法之后附加了一个块的话,那他们的表现就不同了。Open方法将不再返回一个文件引用,而是去调用块里的代码,并把新打开的文件作为参数传给块使用。而当块中的代码执行完以后,文件将会自动关闭。Open的另外一个好处是,如果在执行过程中程序发生了异常,那么文件也将会自动关闭。而New就有可能因无法执行close而无法关闭文件。2、读写文件3、使用迭代器读取文件具体代码就是上面的那些

字符编码问题,ruby自己是支持utf8的.

require "iconv"

Iconv.iconv("GBK//IGNORE","UTF-8//IGNORE",string).to_s

具体参数使用问题,你可以查看API