首页 > 学院 > 开发设计 > 正文

多行字符串_symbol_hash_case_each_for_loop_while

2019-11-06 07:14:08
字体:
来源:转载
供稿:网友
(1)#单行字符串与多行字符串的区别string_line="我是一个字符串"multiple_line=%Q{今天天气不错.我突然想出去走走}puts string_lineputs multiple_line
(2)symbol不变的字符串
class Apple5  attr_accessor :colorend#:color等价于‘color’.siymbol
(3)symbol和string转换
vagrant@vagrant-Ubuntu-trusty-64:/vagrant/test_PRoject$ irbirb(main):001:0> 'abc'=> "abc"irb(main):002:0> :def=> :defirb(main):003:0> 'abc'.class=> Stringirb(main):004:0> :def.class=> Symbolirb(main):005:0> 'abc'.to_sym=> :abcirb(main):006:0> 
(4)使用字符串插值
irb(main):006:0> a=1=> 1irb(main):007:0> "abc"+aTypeError: no implicit conversion of Fixnum into String	from (irb):7:in `+'	from (irb):7	from /home/vagrant/.rbenv/versions/2.1.2/bin/irb:11:in `<main>'irb(main):008:0> "abc#{a}"=> "abc1"irb(main):009:0> 
(5)同一个hash的三种写法
#任何情况下都生效的语法:  =>
jim={    :name=>'Jim',     :age=>20}#Ruby 1.9.0之后产生的语法:更加简洁jim={    name:"Jim",    age:"20"}#也可以写成:jim={}jim[:name]="Jim"

jim[:age]=20

(4)分支语句

a=1case a  when 1 then    puts "1"  when 2 then    puts "2"  when 3, 4, 5 then    puts "3,4,5"  else    puts "else"end

(5)each

[1,2,3].each {|e|  puts e}#等价于下方for e in [1,2,3]  puts "这是for方法"  puts eend#for方法与each的不同,for方法后面的变量是全局变量puts "这是for方法的全局变量"+e.to_s

运行结果:

123这是for方法1这是for方法2这是for方法3这是for方法的全局变量3

(6)loop和while的区别

a=10loop do  puts "这是loop方法"+a.to_s  a=a-1  break if a<8endb=10begin  puts "这是while方法"+b.to_s  b=b-1end while b>8运行结果:

这是loop方法10这是loop方法9这是loop方法8这是while方法10这是while方法9


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表