ruby 基础笔记

ruby 基础笔记

表格 1.1:简单介绍 Rails 默认文件结构

文件/文件夹 说明
app/ 程序的核心文件,包含模型、视图、控制器和帮助方法
app/assets 程序的资源文件,如 CSS、JavaScript 和图片
bin/ 可执行文件
config/ 程序的设置
db/ 数据库文件
doc/ 程序的文档
lib/ 代码库文件
lib/assets 代码库包含的资源文件,如 CSS、JavaScript 和 图片
log/ 程序的日志文件
public/ 公共(例如浏览器)可访问的数据,如出错页面
script/rails 生成代码、打开终端会话或开启本地服务器的脚本
test/ 程序的测试文件(在 3.2.1 节 中换用 spec/
tmp/ 临时文件
vendor/ 第三方代码,如插件和 gem
vendor/assets 第三方代码包含的资源文件,如 CSS、JavaScript 和图片
README.rdoc 程序简介
Rakefile rake 命令包含的任务
Gemfile 该程序所需的 gem
Gemfile.lock 一个 gem 的列表,确保本程序的复制版使用相同版本的 gem
config.ru Rack 中间件的配置文件
.gitignore git 忽略的文件类型

 

 

变量定义(variables):

local: time or _time  instance: @time  class: @@time  global $time

数据类型(data types)

Numeric  String  Symbol  Boolean  Array  Hash 

variables tricks(变量应用)

"hello #{name}"  a,b = b,a  3.times{ puts "hello"}  "hello" * 3

判断语句

1.condition if

质樸的if:

  if(a>5)

     puts a

  end

一行版:

  if a > 5 then puts a end

语义不够顺畅:

  puts a if a > 5

2.condition unless

  • 与if语义相反的unless

  puts "miss it" if !name

  puts "miss it" unless name

  三元不能少:  

  a > 5 ? puts(a) : "oh no"

3.condition if else

  

  • if elsif else:

  • 
    if name == "jack"
      "i am rose"
    elsif name == "rose"
      "jack i miss u"
    else
      "get out from here"
    end
      
  • 这个肯定是switch的场景啊:

  • 
    case name
    when "jack" then "i am rose"
    when "rose" then "jack i miss u"
    else "get out from here"
    end

loop(循环)

  • 循环怎么写:

  • 3.times{ puts "hello world" }
  • for呢:

  • 
    for x in [1,2,3]
      puts x
    end
  • while:

  • 
    while i > 5 do
      i -= 1
    end
    i -= 1 while i > 5
    		
  • while的好兄弟until:

  • 
    until i <= 5 do
      i -= 1
    end
    i -= 1 until i<= 5
    • while true太不洋气了:

    • 
      loop do
        puts "我自豪"
      end
      		
    • 打断罪恶的连锁:

    • break
      next
      redo
      retry

  

 

 

转载于:https://www.cnblogs.com/andicu/p/3747270.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/109823.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • leetcode最长回文子串_kmp算法题

    leetcode最长回文子串_kmp算法题实现 strStr() 函数。给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。示例 1:输入: haystack = “hello”, needle = “ll”输出: 2示例 2:输入: haystack = “aaaaa”, needle = “bba”输出: -1说明:当 needle 是空字符串时,我们应当返回什么值呢?这是一个在面试中很好的问题

  • 递归和迭代的对比

    递归和迭代的对比递归和迭代的对比递归迭代特点递归程序调用自身的编程技巧称为递归(recursion)。递归做为一种算法在程序设计语言中广泛应用。一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。递归的主要思考方式在于:把大事化小递…

  • keil4 进行 S3C2440裸机开发

    keil4 进行 S3C2440裸机开发用Keil-MDK开发TQ2440裸机程序入门教程——LED流水灯实现觉得此编文章很详实,故转载之,来自http://www.amobbs.com/thread-5281512-1-1.html开发板也差不多买了半年了,以前照着教程用的是软件是ADS,在win7下老是崩溃,后来才知道ADS早就不提供支持了,ADS的公司怎样怎样了…(此处省略300..)然后我就捣鼓

  • CSS实现水平垂直居中的1010种方式(史上最全)

    CSS实现水平垂直居中的1010种方式(史上最全)

  • 《Linux内核设计与实现》读书笔记(十六)- 页高速缓存和页回写

    《Linux内核设计与实现》读书笔记(十六)- 页高速缓存和页回写

  • Linux中GUI图形nmtui问题及网卡问题

    1.网络管理器未运行,如下图:解决:在systemd里面,可以直接使用systemctl进行管理启动:systemctlstartNetworkManger一般这一句是不行的,可能你设置了开机不允许启动NetworkManager,你可以试试以下命令:开机启动:chkconfigNetworkManageron启动网络管理器:serviceNetworkMan…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号