接受用户输入
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
|