ruby 学习笔记 1
写ruby blog 系统的记录下。也是对我学ruby的点滴记录。
先介绍下我的学习环境。
系统:ubuntu12.04
文档:techotopia ,ruby文档,the hard way learn ruby 以及其他文档
记录:有道云笔记

关于ruby
学习ruby 通常会介绍下ruby的历史和发展,但是我觉得这些有的废话,
关于ruby,是一个日本人写出来的,是一门解释性语言 这就够了。
开始
在ubuntu上 ,先判断下是否installed ruby。
1 |
ruby -v |
如果安装了会打印出版本号
/**
1 |
ubuntu12.04上默认是没有安装,会显示: |
**/
这里ruby1.8 和ruby1.9.1 ,两个版本差别还是有的,存在不兼容问题。
所以选择方面要适合自己。
之前提到bianjiqiopenshift 使用ruby on rails 开发的界面,使用的ruby1.9.3
所以这个我使用的也是高版本的,大家可以根据自己的需求选择。
至于具体的版本之间的差异,可以google之。
安装
1 |
sudo apt-get install ruby1.9.3 |
然后检查是否安装成功:
1 |
ruby -v |
我们可以看到ruby的版本号。
第一条ruby命令
现在执行第一个ruby的命令。
1 |
ruby -e 'print "heloo ruby!\n"' |
-e 是能够ruby在终端命令行(command line)上执行一行ruby语句的一个参数,也可以 一行command line 上可以多个 -e 执行多个 一行ruby语句。
参考:
The ‘-e’ flag only allows a single line of code to be executed, but that does not mean that multiple ‘-e’ flags cannot be placed on a single command line to execute multiple lines:
1 |
geiao@jghost:~$ ruby -e 'print "hello ruby!\n"' -e 'print "Hello Jeiao\n"' |
这里的print 可以替换成puts 或者 p 。具体还是有差别的。 以后多接触了,在说吧,mark下。
ruby 学习笔记 1的更多相关文章
- Ruby学习笔记4: 动态web app的建立
Ruby学习笔记4: 动态web app的建立 We will first build the Categories page. This page contains topics like Art, ...
- ruby学习笔记(1)-puts,p,print的区别
ruby学习笔记-puts,p,print的区别 共同点:都是用来屏幕输出的. 不同点:puts 输出内容后,会自动换行(如果内容参数为空,则仅输出一个换行符号):另外如果内容参数中有转义符,输出时将 ...
- ruby学习笔记(2)-chomp,chop的区别
还没开始系统性的学习Ruby,最近在看metasploit框架的exploit会涉及到Ruby脚本,也就硬着头皮一遍查阅资料一遍做些笔记吧. Ruby字符串中存在chop和chomp的内置函数.我在h ...
- Ruby学习笔记0708
#!/usr/bin/env ruby class MegaGreeter attr_accessor :names # 初始化這個物件 def initialize(names = "Wo ...
- ruby 学习笔记 2 -变量
变量 在ruby的世界里,变量有5种,全局变量 局部变量 实例变量 常量 类变量以及伪变量 常用的: 全局: 在全局使用,使用$开头,因为是全局的,所以在任何的代码例子中都可以改变其值,造成混乱,所以 ...
- Ruby学习笔记
#!/usr/bin/ruby puts "Hello, Ruby, what is your name?" $name = STDIN.gets puts "Hi, I ...
- Ruby学习笔记(二)
1.block 代码块 do...end 或 {} 构成一个代码块,就像常见的 .each后面跟的代码块. my_nums = [1,2,3] my_double_nums = my_nums.col ...
- Ruby学习笔记之升级ruby的版本
升级ruby版本,有时候安装ruby的版本过低,需要进行升级,例如安装在centos6.7安装fpm需要ruby版本在1.9以上. 0x00 主机环境如下 [root@test ~]# cat /et ...
- Ruby学习笔记7: 添加身份验证(adding Authentication)
我们已经完成了Category & Product页面内容的增删改查,再加入一个身份验证即可成为一个较完整的Rails App了.本文就来完成这个任务. We now need to give ...
随机推荐
- find命令:忽略一个目录或者多个目录
example: find ./ ! -path "./output/*" ! -path "./output1/*" -type f | xargs grep ...
- Ptex源码学习笔记-2
写入纹理数据: 主要分为五种写入方式:新建纹理.编辑已有纹理.编辑ExtHeader中的指定项.写入元数据和写入指定面的纹理数据.写入过程中数据存在一个临时文件中,在close时才会把临时文件的内容拷 ...
- LDAP客户端
LDAP客户端通过与服务端关联起来,就可以使用服务端的系统账号登录系统,通过useradd 添加用户是在ldap里是没有显示的,ldap添加用户,在/etc/passwd里也是没有显示的,ldap添加 ...
- C3属性的轮播图(持续更新)
天气好冷,都不想写代码.就先写个没有焦点的轮播图,过两天在补全. 用的是CSS3的属性 过渡transition 和 转换 transfrom:translateX() 只做了轮播和 鼠标进入停止轮播 ...
- 转:fatal error: SDL/SDL.h: No such file or directory
Ubuntu的新得立已经包含SDL库,所以通过几个简单的命令就可以安装,比windows还傻瓜! sudo apt-get install libsdl1.2-dev(比较大,10M左右) 附加包: ...
- 博弈论揭示了深度学习的未来(译自:Game Theory Reveals the Future of Deep Learning)
Game Theory Reveals the Future of Deep Learning Carlos E. Perez Deep Learning Patterns, Methodology ...
- Spark RDD aggregateByKey
aggregateByKey 这个RDD有点繁琐,整理一下使用示例,供参考 直接上代码 import org.apache.spark.rdd.RDD import org.apache.spark. ...
- Python模块:struct
各个编程语言都有自己的数据类型,当python需要接受其他语言或者网络传输来交互数据的时候,需要考虑到python的数据类型与其他平台之间交互问题.而python的struct就是解决这个问题的. s ...
- 关于spring boot jar包与war包的问题
此文为转载:http://mrlee23.iteye.com/blog/2047968 在开发调试完成之后,可以将应用打成JAR包的形式,在Eclipse中可以直接使用Maven插件的package命 ...
- JavaWeb技术(三):JDBC中核心接口
一. DriverManager 接口 DriverManager 数据库连接驱动接口,用于获取数据库连接对象Connection import java.sql.Connection; impor ...