RUBY 看书总结

总结这几天总的知识的积累

不提供输出的结果,请自行输出

1.普通变量能随意变换类型`

 a = 1;
 a = "str"
 a = [1,2,3,4,5]
 a = {num1: var1, num2: var2}

2.循环方法

do …end 与{ ~ }以及方法的实现

(1) .times

	5.times do 
		puts "hello world"
	end
	
	0..5.times do |item|
		puts "我现在是第#{item}次 循环"
	end

(2).each

num = [1,2,3,4,5,"终"]
num.each do |item|
	puts "num数组中的值是#{item}"
	end

num.each_with_index do |item,index|
	puts "num数组下标#{index}的值是#{item}"
end

hash = {key1: "value1",key2: "value2"}
hash.each  do |key,value|
	puts "hash 输出 key : #{key} , value : #{value}"
end

"All\nthe\nwords\nare\nprinted\nin\na\nnew\line.".each_line do |line|   
	puts line   
end


(3) for

 for number in 1..5 
 	puts "number 的值是 #{number}"
 end 

for z in a..z
	puts "z 的值是#{z}"
end
	
hash = {key1: "value1",key2: "value2"}
for key,value in hash 
	puts "hash 输出 key : #{key} , value : #{value}"
end

(4) while,until

#只要不等于0就一直跑
	a = 2
	while a != 0
		puts "我不等于0所以我不停的输出"
		a -= 1
	end
#只要等于2就不跑了	
	until a == 2
		puts "我不等于2所以我要一直跑"
		a += 1
    end

(5) loop

loop do   
  puts "请输入内容"   
  answer = gets.chomp   #终端停顿,输入内容
  if answer == '5'   
    puts "等于5 我退出了"
    break   
  end   

3.块,模块,类,继承

@target实例变量
@@target 类变量
$target 全局变量
target 普通变量

class A #类
    attr_accessor :name, :age #可读写
        def initialize(a = 10,b = 20)#创建对象不添加参数,默认参数
        @a = a
        @b = b
        end
        def show #方法
            puts "这是个需要实例化才能调用的方法"
            puts "在这里输出 #{@a} ,#{@b},#@a,#@b"
        end
        
        def showAttr
            puts "如果没参数我就是个#{name},#{age}"
        end
            
        def self.doSome
            puts"这是个直接用类调用的方法"
        end
    end
    
    a = A.new
    a.show
    A.doSome
    a.name = "ruby"
    a.age = 22
    a.showAttr
	module M1 #模块
		def hello
			puts "实例对象才能调用我"
		end
		def M1.sayHello
			puts "是不是有种静态方法的感觉"
		end
	end
	
	class B < A#继承
		include M1
	end
	b = B.new
	b.hello
	M1.sayHello
	b.showAttr
def method 
    puts "块输入方法"
    yield
end
method {puts "这就是块"}

def method1 
    puts "块输入方法"
    yield 22
end
method1 {|item| puts "这就是块#{item}"}

4.方法

days = ["我是1", "我是2", "我是3", "我是4", "我是5", "我是6", "我是7"]   

days = ["我是1", "我是2", "我是3", "我是4", "我是5", "我是6", "我是7"]   

puts days[0]      
puts days[8]#下标越界看输出   
puts days[-2]     
puts days[2, 3]#下标2读取3个元素   
puts days[2..6]#下标2到下标6的元素   
puts pp days.take(5)#获取前5个数据
puts pp days.drop(5)#舍去前5个的数据
puts days.push("today")#添加元素
puts days << ("yes")#同上
puts days.unshift("now")#开头添加元素
puts days.insert(2,"插入")#下标插入数据
puts days.pop#删除末尾的元素并返回
puts days.shift#删除开头元素并返回
puts days.delete("我是2")#删除数组中的'有的元素’并返回
puts days.uniq#删除数组中的相同元素,返回剩余数组
#puts days.sort#排序
days.sort {|i| -1}
str = "this is a word"
puts str.split#字符串抽成数组

days.instance_of?(Array)#判断类型

基础的我做好基础的事,高级的事交给高级的我,循循渐进

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值