Ruby on Rails 学习(四)

来源:互联网 发布:阿里云看我的订单 编辑:程序博客网 时间:2024/06/05 17:23
 1.读出文件
class HelloController < ApplicationController  def helloallText = ""File.open("/xxx/black_group.txt","r") do |file| while line  = file.gets allText = allText + lineend endrender :text => allTextreturn  endend


2.数组和数组循环
class HelloController < ApplicationController  def hello#数组allLineArray=Array.newFile.open("/xxx/black_group.txt","r") do |file|while line  = file.getsallLineArray.push( line )  #向数组尾部添加元素列表 end endallText = ""#数组循环for i in allLineArray do     allText = allText + "#{i}"end   render :text => allTextreturn  endend


3.接受的参数
class HelloController < ApplicationController  def hellogroup_name = params[ :group_name ] render :text => group_namereturn  endend


访问一下确认:
http://192.168.60.128:3000/hello/hello?group_name=test


4.通过黑名单阻止进入的参数


class HelloController < ApplicationController  def hellogroup_name = params[ :group_name ] group_name = group_name.gsub(/\s+/,'') #去空格#数组allLineArray=Array.newFile.open("/xxx/black_group.txt","r") do |file|while line  = file.getsline = line.gsub(/\s+|\r|\n/,'') #去空格回车换行allLineArray.push( line )  #向数组尾部添加元素列表 end endallText = ""#数组循环inBlackFlag = 0allTextfor i in allLineArray do     #判断进入的group_name是否在黑名单列表中   tmpValue = "#{i}"   allText = allText + tmpValue+"="+group_name +"<br>"    if( tmpValue == group_name )inBlackFlag = 1break    end   end   retTxt = group_name + "=" + "#{inBlackFlag}" render :text => retTxtreturn  endend




5.封装成私有方法

class HelloController < ApplicationControllerdef hellogroup_name = params[ :group_name ] inBlackFlag =   getBlackFlag(group_name) if (inBlackFlag == 1)returnend endprivatedef getBlackFlag(group_name) group_name = group_name.gsub(/\s+/,'') #去空格#数组allLineArray=Array.newFile.open("/xxx/black_group.txt","r") do |file|while line  = file.getsline = line.gsub(/\s+|\r|\n/,'') #去空格回车换行allLineArray.push( line )  #向数组尾部添加元素列表 end endallText = ""#数组循环inBlackFlag = 0allTextfor i in allLineArray do     #判断进入的group_name是否在黑名单列表中   tmpValue = "#{i}"   allText = allText + tmpValue+"="+group_name +"<br>"    if( tmpValue == group_name )inBlackFlag = 1break    end   end    return inBlackFlagend end




6.造成黑名单限制功能
class HelloController < ApplicationControllerdef hellogroup_name = params[ :group_name ] inBlackFlag =   getBlackFlag(group_name) if (inBlackFlag == 1)retTxt = group_name + " is in black list." render :text => retTxtreturnend endprivatedef getBlackFlag(group_name) group_name = group_name.gsub(/\s+/,'') #去空格#数组allLineArray=Array.newFile.open("/xxx/black_group.txt","r") do |file|while line  = file.getsline = line.gsub(/\s+|\r|\n/,'') #去空格回车换行allLineArray.push( line )  #向数组尾部添加元素列表 end endallText = ""#数组循环inBlackFlag = 0allTextfor i in allLineArray do     #判断进入的group_name是否在黑名单列表中   tmpValue = "#{i}"   allText = allText + tmpValue+"="+group_name +"<br>"    if( tmpValue == group_name )inBlackFlag = 1break    end   end    return inBlackFlagend end

改进

class HelloController < ApplicationControllerdef hellogroup_name = params[ :group_name ] inBlackFlag =   getBlackFlag(group_name) if (inBlackFlag == 1)retTxt = group_name + " is in black list!" render :text => retTxtreturnend endprivatedef getBlackFlag(group_name) group_name = group_name.gsub(/\s+/,'') #去空格 allLineArray=Array.newFile.open("/xxx/black_group.txt","r") do |file|while line  = file.getsline = line.gsub(/\s+|\r|\n/,'') #去空格回车换行allLineArray.push( line )  #向数组尾部添加元素列表 end end inBlackFlag = 0 if( allLineArray.include?(group_name) )   inBlackFlag = 1end  return inBlackFlagendend  参考  http://www.phptoruby.com/in_array





原创粉丝点击