学ruby有感(by 王瀚)
学了一个学期的C语言,看了一个星期的ruby,我才发现为什么老师说C是最基础的,假如没有一个学期的C基础,那ruby我也不用看了。
Ruby和C语言有许多的相同点和不同点,在学习ruby时,有时可以用C里面的思维来理解,就像ruby里面的方法其实就跟C的函数如出一辙;ruby比C使用时随意的多,在C里声明变量还要求变量类型,而ruby却不用特意去声明类型,直接用就好;而对于输入,C也要分输入的类型,ruby却不用,直接用一个gets就可以,而且将读入的文本保存在预定义变量$_中,然后用chomp删除末尾的换行符,而C用的是gets接收换行符;对于多个单词的变量名,ruby的习惯是用下划分隔单词,而C去是习惯用大小写来区分不同的单词;ruby用do…end来界定块,而C用的是{},虽然ruby也可以用{},但{}只能包含单行代码块,而do…end包含多行代码块……等等。我发现的仅仅是皮毛,有什么错误希望大家指出来,跟多的还要等大家来探索,相互借鉴相互进步。
还有一个就是在安装rails时的问题,我老是装不好,最后在新建项目是发现里面提示还没装rails,然后我就点击安装就好了,不知道这样好不好。
学ruby最后的方法、对象和类,他们之间的关系我现在还理不太清。
吾(王瀚)
相关文档:
ruby中自带实现观察者模式的类observer。可以利用它来实现观察者模式。
代码例子:
# -*- coding: GB2312 -*-
require 'observer'
# 观察者模式(ruby)的使用例子
# 被观察者P
class PObservable
include Observable
end
# 观察者A
class AObserver
# update方法名是必须的要有的
def update(arg)
puts "AO ......
1. ruby已成为1.87
2. 必须先安装安装光盘里的新的xcode,在"optional"目录里
3. 可能需要重新安装macport
http://trac.macports.org/wiki/Migration
4. 或者升级macport
http://weblog.rubyonrails.org/2009/8/30/upgrading-to-snow-leopard
$ sudo port selfupdate
$ sudo port sync
$ sudo port upgrade --force insta ......
irb 是从命令行运行的
irb 的命令行选项(摘自 Porgramming Ruby 第二版)
-f
禁止读取~/.irbrc Suppress reading ~/.irbrc.
-m
数学模式(支持分数和矩阵) Math mode (fraction and matrix support is available).
-d
设置#DEBUG为true(同ruby -d一样) Set $DEBUG to true (same as ``ruby -d'').
-r lo ......
文章转自 http://www.ej38.com/showinfo/Ruby-140367.html
过程如下:
1、ruby下载一键安装:
http://rubyforge.org/frs/download.php/29263/ruby186-26.exe
ruby -v 显示版本,安装成功
2、下载rubygems安装:
http://rubyforge.org/frs/download.php/60719/rubygems-1.3.5.zip
解压,ruby setup.rb
g ......
#一、定义一个类
class Person
def initialize(name,age=18)
@name=name;
@age=age;
@motherland="china";
end
def talk
puts "my name is "+@name+" and I am "+@age.to_s
&nb ......