安装完Aptana Studio 3才发现eclipse是有相关插件的,晕死,先用着Aptana Studio 3吧还是。
为了尽快熟悉Ruby基本语法和开发工具的使用,先来两个弱智小程序练练手。
计算器:
puts "please input number1:"
number1=gets
puts "please input a operator(+、-、*、/):"
op=gets
puts "please input number2:"
number2=gets
case op.chomp
when "+"
result=number1.to_i+number2.to_i
when "-"
result=number1.to_i-number2.to_i
when "*"
result=number1.to_i*number2.to_i
when "/"
result=number1.to_i/number2.to_i
end
puts "result:#{number1.chomp}#{op.chomp}#{number2.chomp}=#{result}"
主要练习与用户的交互,Ruby中使用内置的gets方法获取用户从键盘输入的数据,并在按下回车键时结束输入。
下面的运算器由用户输入两个操作数,并指定运算符,之后输出结果。
运行结果:
注意:gets方法返回的是包含用户输入值的一行字符串,因此在进行数学运算时要调用to_i方法转为整形,在字符串比较时要调用chomp方法去掉尾部换行符。
面向对象版计算器:
class Counter
def add(n1,n2)
n1+n2
end
def minus(n1,n2)
n1-n2
end
def multiply(n1,n2)
n1+n2
end
def divided(n1,n2)
n1/n2
end
end
c=Counter.new
puts "8+4=#{c.add(8,4)}"
puts "8-4=#{c.minus(8,4)}"
puts "8*4=#{c.multiply(8,4)}"
puts "8/4=#{c.divided(8,4)}"
运行结果:
猜数字游戏:
程序内置一个10以内的数字,用户输入数字进行猜测,最后给出用户一共猜测次数。
count=0
while(true)
count+=1
puts "please guess the num"
guessed=3
guess=gets.chomp.to_s
if(guessed.to_s==guess)
puts "right"
break
elsif
puts "wrong"
end
end
puts "count=#{count}"
运行结果:
这个小程序在写的时候遇到一些困难,当用户输入字符3时依旧输出wrong,比较时试过equal,结果一样是wrong,为输入的字符加上chomp也不行。后来发现将预置数字转为字符串(to_s),同时将输入数字去除空行chomp之后也转成字符串再比较就行了
还有个语法点需要备注:
Ruby中没有自增运算符,需要用count+=1来替代count++
还是对Ruby语法不够熟悉的说。