接受用户输入
1
|
first_name = gets.chomp |
首字母大写
1
|
first_name.capitalize! |
字母变大写
1
|
first_name.upcase! |
字母变小写
1
|
first_name.downcase! |
多行输出
1
2
3
|
print << EOF # 多行输出 EOF |
注释
1
|
# 我是注释 |
变量获取
1
|
#{first_name} |
变量
- 全局变量 $
- 类变量 @@
- 方法变量 @
- 局部变量 小写字母或_
if/else
1
2
3
4
5
|
if a < b puts '1' elsif b < a puts '2' end |
类
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
class Classname def functionname(params) puts params end end class1 = Classname. new class1.functionname( '1' ) unless unless false print 'ok' else print 'no' end |
是否包含字符
1
2
3
4
5
6
7
8
9
|
print 'puts' user_input = gets.chomp user_input.downcase! if user_input.include? "s" print 'has s' end |
替换字符
1
2
|
# s -> th user_input.gsub!(/s/, "th" ) |
在字符串中输出变量值
1
|
puts 'okok #{user_input}' |
while
1
2
3
4
5
6
|
counter = 1 while counter < 11 puts counter counter = counter + 1 end |
Until
1
2
3
4
5
6
|
counter = 1 until counter > 10 print counter counter = counter + 1 end |
+= 、 -= 、 *=、 /=
Some languages have the increment operators ++ and -- (which also add or subtract 1 from a value), but Ruby does not
for循环
# 如果 1...10 包含1-9,如果 1..10 包含1-10
1
2
3
|
for num in 1 ... 10 puts num end |
Loop Method
An iterator is just a Ruby method that repeatedly invokes a block of code.
1
2
3
4
5
6
|
i = 20 loop do i -= 1 print "#{ i }" break if i <= 0 end |
Next
1
2
3
4
5
6
7
|
i = 20 loop do i -= 1 next if i% 2 != 0 print "#{i}" break if i <= 0 end |
数组
1
|
my_array = [ 1 , 2 , 3 , 4 , 5 ] |
The .each Iterator迭代器
1
2
3
4
5
6
7
8
9
|
numbers = [ 1 , 2 , 3 , 4 , 5 ] # one way to loop numbers. each { |item| puts item } # another way to loop numbers. each do |item| puts item end |
The .times Iterator 次数迭代器
1
|
10 .times { print 'ok' }) |
Looping with 'While'
1
2
3
4
5
6
|
num = 1 while num <= 50 do print num num += 1 end |
Looping with 'Until'
1
2
3
4
5
|
num = 1 until num > 50 do print num num += 1 end |
Loop the Loop with Loop
1
2
3
4
5
6
7
|
num = 0 loop do num += 1 print "Ruby!" break if num == 30 end |
The .split Method,
1
2
3
4
5
6
7
8
9
10
11
12
|
text.split( "," ) puts "Text to search through: " text = gets.chomp puts "Word to redact" redact = gets.chomp words = text.split( " " ) words. each do |word| print word end |