Ruby语法笔记

脚本专栏 ruby专题 分类:[default] 更新日期: 2015-11-16
本文给大家记录的是本人学习ruby之后所记录下来的部分语法知识,分享给有需要的小伙伴,希望对大家能够有所帮助。

接受用户输入

first_name = gets.chomp

首字母大写

first_name.capitalize!

字母变大写

first_name.upcase!

字母变小写

first_name.downcase!

多行输出

print <<EOF
  # 多行输出
EOF

注释

# 我是注释

变量获取

#{first_name}

变量

  1. 全局变量 $
  2. 类变量 @@
  3. 方法变量 @
  4. 局部变量 小写字母或_

if/else

if a < b
  puts '1'
elsif b < a
  puts '2'
end    


class Classname
  def functionname(params)
    puts params
  end
end

class1 = Classname.new
class1.functionname('1')
unless
unless false
  print 'ok'
else
  print 'no'
end    

是否包含字符

print 'puts'

user_input = gets.chomp

user_input.downcase!

if user_input.include?"s"
  print 'has s'
end

替换字符

# s -> th
user_input.gsub!(/s/,"th")

在字符串中输出变量值

puts 'okok #{user_input}'

while

counter = 1

while counter < 11
  puts counter
  counter = counter + 1
end

Until

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

for num in 1...10
  puts num
end  

Loop Method
An iterator is just a Ruby method that repeatedly invokes a block of code.

i = 20
loop do
  i -= 1
  print "#{ i }"
  break if i <= 0
end  

Next

i = 20
loop do
 i -= 1
 next if i%2 != 0
 print "#{i}"
 break if i <= 0
end

数组

my_array = [1,2,3,4,5]

The .each Iterator迭代器

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 次数迭代器

10.times { print 'ok'})

Looping with 'While'

num = 1

while num <= 50 do
  print num
  num += 1
end  

Looping with 'Until'

num = 1
until num > 50 do
  print num
  num += 1
end  

Loop the Loop with Loop

num = 0

loop do
  num += 1
  print "Ruby!"
  break if num == 30
end  

The .split Method,

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

> 本站内容系网友提交或本网编辑转载,其目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请及时与本网联系,我们将在第一时间删除内容!

相关文章
  • Swift中内置的集合类型学习笔记
    Swift中内置的集合类型学习笔记
    Swift中自带数组.set.字典三大集合类型,这里将学习过程中的基础的Swift中内置的集合类型学习笔记进行整理,需要的朋友可以参考下一.引言 Swift中提供了3种集合类型,Array数据类型,Set集合类型,Dictionary字典类型.Array用于存放一组有序的数据,数据角标从0开始一次递增:Set用于存放一组无序的数据,数据不可以重复:Dicti ...
  • PHP微信开发之文本自动回复
    PHP微信开发之文本自动回复
    这篇文章主要为大家详细介绍了PHP微信开发之简单实现文本自动回复的相关资料,感兴趣的小伙伴们可以参考一下首先,先去微信公众平台注册一个账号(注册要填的东西挺多的),注册好之后,登录进去.可以看到左侧的"开发者中心",开启开发者中心前好像还要你完善一些资料,按照步骤完善即可.进入开发者中心之后,先去编辑 修改配置,修改配置的时候,注意: U ...
  • 解读ASP.NET5&MVC6系列教程1:ASP.NET5简介
    这篇文章主要介绍ASP.NET 5简介以及对各个版本号进行解释,ASP.NET 5中新的变化,需要的朋友可以参考下.ASP.NET 5简介 ASP.NET 5是一个跨时代的改写,所有的功能和模块都进行了独立拆分,做到了彻底解耦.为了这些改写,微软也是蛮 拼的,几乎把.NET Framwrok全部改写了一遍,形成了一个.NET Core的东西. 在.NET C ...
  • 正则表达式性能优化方法高效正则表达式书写
    正则表达式性能优化方法高效正则表达式书写
    这里说的正则表达式优化,主要是针对目前常用的NFA模式正则表达式这里说的正则表达式优化,主要是针对目前常用的NFA模式正则表达式,详细可以参考:正则表达式匹配解析过程探讨分析(正则表达式匹配原理).从上面例子,我们可以推断出,影响NFA类正则表达式(常见语言:GNU Emacs,Java,ergp,less,more,.NET语言, PCRE library ...
  • 探讨Ajax中有关readyState状态值和status状态码)的问题
    这篇文章主要介绍了探讨Ajax中有关readyState状态值和status状态码的问题的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下先看下面一段代码,然后给大家详细介绍,Ajax中有关readyState(状态值)和status(状态码)的问题,具体内容如下所示: var getXmlHttpRequest = function () { t ...
  • Web2.0编程思想:16条法则
    1.在你开始之前,先定一个简单的目标.无论你是一个Web 2.0应用的创建者还是用户,请清晰的构思你的目标.就像"我需要保存一个书签"或者"我准备帮助人们创建可编辑的.共享的页面"这样的目标,让你保持最基础的需求.很多Web 2.0应用的最初吸引之处就是它的简单,避免并隐藏了那些多余的复杂性.站在创建者的立场,可以想象 ...
猜你喜欢