• Ruby编程语言学习笔记1


    对应Ruby编程语言第一章  
    #coding:utf-8
    #
    Blocks and Iterators(代码块和迭代器)
    #
    times and upto downto是由Integer实现的迭代器
    #
    times {|i| block }:Iterates block int times, passing in values from zero to int - 1.
    puts "#times {|i| block }:"   
    5.times do |i|
        print i, " "
        print "\n"
      end
    3.times{print "Welcome to Ruby ,Jeriffe\n"}
    #upto(limit) {|i| block }:Iterates block, passing in integer values from int up to and including limit.
    print"\n"
    puts "#upto(limit) {|i| block }:"  
    1.upto(9){|x| print x," "}
    print"\n"
    #downto(limit) {|i| block }:Iterates block, passing in integer values from int down to and including limit.
    print"\n"
    puts "#downto(limit) {|i| block }:" 
    9.downto(1){|x| print x," "}
    print"\n"
    #数组(及类似的”可枚举的“对象)定义了一个each迭代器
    #
    each {|item| block }:Calls block once for each element in self, passing that element as a parameter.
    print"\n"
    puts "#each {|item| block }:"   
    a=[3,2,1]
    a.each{|item| print item,' '}
    print"\n"
    #在each迭代器基础上定义的其他迭代器
    print"\n"
    puts "#在each迭代器基础上定义的其他迭代器:"   
    a=[1,2,3,4]
    b=a.map{|item| item*item}
    print b,"\n"
    c=a.select{|item| item%2==0}
    print c,"\n"
    d=a.inject do|sum,item|
      sum+item
    end
    print d,"\n"
    #Methods(方法)
    #
    方法用def关键字来定义,方法的返回值是方法最后一个被执行的表达式
    def square(x)
      x*x
    end
    print square(5),"\n"
    #Assignment(赋值)
    #
    除传统的=操作符赋值外,Ruby还支持并行赋值:一个表达式中出现多余一个的值和变量
    puts" 并行赋值:"
    x,y=1,2
    print "x=",x,',y=',y,"\n"
    x,y=y,x
    print "x=",x,',y=',y,"\n"
    #方法返回多个值
    puts"#方法返回多个值:"
    def polar(x,y)
      theta=Math.atan2(y,x)
      r=Math.hypot(x,y)
      [r,theta]
    end
    distance,angle=polar(2,3)
    print "distance=",distance,',angle=',angle,"\n"


  • 相关阅读:
    Beef McNuggets USACO 4.1(数论公约数问题+背包阵亡)
    Raucous Rockers USACO 3.4 (dp背包?)
    Electric Fence USACO 3.4
    大雾....
    American Heritage USACO 3.4 (二叉树前序中序求后序)
    Closed Fences USACO 3.4(阵亡)
    cvte酱油一把
    算法导论之计算几何学小记 33.1
    A Game USACO 3.3 (DP阵亡)
    [bx]和loop指令
  • 原文地址:https://www.cnblogs.com/jeriffe/p/2538369.html
Copyright © 2020-2023  润新知