Rubyѧϰ±Ê¼ÇÈý——Àà
#Ò»¡¢¶¨ÒåÒ»¸öÀà
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
if @motherland == "china"
puts "I am a Chinese."
else
puts "I am a foreigner."
end
end#talk½áÊø
attr_writer:motherland
attr_writer:age
end#class½áÊø
p1=Person.new("Zhangren",10);
p1.talk;
p1.motherland="abc";
p1.talk;
p1.age=20;
p1.talk;
#¶þ¡¢¼Ì³Ð×ÔÒ»¸öÀà
class Student < Person
def talk
#super;#Õâ»áµ÷Óø¸ÀàtalkÖеĴúÂë
puts "I am a student. my name is "+@name+", age is "+@age.to_s
end # talk·½·¨½áÊø
end # StudentÀà½áÊø
p3=Student.new("kaichuan",25); p3.talk
p4=Student.new("Ben"); p4.talk
#RubyûÓÐÖØÔØ·½·¨£¬ÒòΪ²ÎÊýûÓÐÀàÐÍ£¬ËùÒÔû·¨ÖØÔØ¡£Óжà̬£¬²»¹ý²»Ì«Ã÷ÏÔ£¬ÒòΪ±äÁ¿¶¼Ã»ÓÐÀàÐÍ£¬ËùÒÔ̸²»Éϸ¸ÀàÒýÓÃÖ¸Ïò×ÓÀà¶ÔÏ󣬶¼ÊÇͳһµÄÒýÓá£
#Èý¡¢±äÁ¿¶¯Ì¬ÐÔ
# E5.3-1.rb
a=5
b="hh"
puts "a = #{a} #{b} #{a}"
puts "b = #{b}"
#ËÄ¡¢ÖØÐ´
def talk (a,b=1)
puts "This is talk version 2."
end
def talk (a)
puts "This is talk version 1."
end
talk (2) # This is talk version 1.
#talk (2,7) # ±¨´í£¬ÒòÎªÖØÐ´Ö®ºó£¬Ö»ÓкóÒ»¸öÓÐÓã¬Ã»ÓÐÖØÔØ¡£¸¸×ÓÀàÖÐÒ²ÊÇÖØÐ´¡£
#Îå¡¢RubyµÄ±äÁ¿µÈ±êʶÃû³ÆÇø·Ö̫Сд¡£È«¾Ö±äÁ¿ÓÃ$ÒýÓã¬ÊµÀý±äÁ¿ÓÃ@£¨Ò²¾ÍÊdzÉÔ±±äÁ¿£¬ÒòΪ²»ÐèÒªÉùÃ÷£¬¶¼ÊÇÖ±½ÓÓã©£¬Àà±äÁ¿ÓÃ@@£¨Æäʵ¾ÍÏ൱ÓÚ¾²Ì¬±äÁ¿£©
$a="\n a is a global value"
puts $a
class StudentClass
@@count=0
def initialize( name )
@name = name
@@count+=1
end
def talk
puts "I am #@name, This class have #@@count students."
end
end
p1=StudentClass.new("Student 1 ")
p2=StudentClass.new
Ïà¹ØÎĵµ£º
¹ØÓÚC++0x
Ô¤¼ÆÓÚÃ÷Äêµ×ÍÆ³öµÄбê×¼C++0x£¬Ëä˵ÒѽӽüÊչٽ׶Σ¬È´ÈÔÓÐÈô¸ÉÓдý½ÓÄɵÄÐÂÌá°¸±»Ìá³ö¡£ÓÈÆäÖµµÃ¹Ø×¢µÄÊÇ£¬Óëlambda±í´ïʽÒÔ¼°¾Ö²¿º¯ÊýÏà¹ØµÄÌá°¸“Unified Function Syntax£¨Í³Ò»µÄº¯ÊýÓï·¨£©”£¬¾¡¹Ü²»Êܱê׼ίԱ»á´ý¼û£¨Á½Äê¼äÀú¾ËÄ´ÎÑÓ³Ù±í¾ö£¬Á½´Î²»Óèͨ¹ý£©£¬ÈÔÈ»“ÍçÇ¿µØ”ÍÆ³öÁ ......
½ñÌì°ÑRuby Shoes´ò°üµÄ³ÌÐò¸´ÖƵ½Ã»Óа²×°Ruby ShoesµÄ»úÆ÷ÉÏ£¬·¢ÏÖËü»¹Ï²»ÁËRuby ShoesµÄ»·¾³°ü¡£
ÕâÈÃÎҸоõºÜ¾ÚÉ¥£¬ºÃ²»ÈÝÒ×ÈëÃÅÁËÒ»ÃÅÓïÑÔ£¬È´ÓöÉÏÁËÎÞ·¨²¿ÊðµÄÎÊÌâ¡£
ÉõÖÁ£¬ÎÒºóÀ´ÏëÒª°ÑÔËÐл·¾³Ç¶Èëµ½Ruby ShoesÖУ¬¶¼Ã»Äܹ»×öµ½¡£
ÕâÑùµÄÎÊÌâÕæÊÇÈÃÎҸоõµ½¶ÔShoesµÄʧÍû¡£
²»¹ý»¹ºÃ£¬³öÁËRuby Shoes£¬»¹Óкܶ ......
rubyÖÐ×Ô´øÊµÏÖ¹Û²ìÕßģʽµÄÀàobserver¡£¿ÉÒÔÀûÓÃËüÀ´ÊµÏÖ¹Û²ìÕßģʽ¡£
´úÂëÀý×Ó£º
# -*- coding: GB2312 -*-
require 'observer'
# ¹Û²ìÕßģʽ(ruby)µÄʹÓÃÀý×Ó
# ±»¹Û²ìÕßP
class PObservable
include Observable
end
# ¹Û²ìÕßA
class AObserver
# update·½·¨ÃûÊDZØÐëµÄÒªÓеÄ
def update(arg)
puts "AO ......
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 ......
env setup
linux(ubuntu)ÏÂruby¿ª·¢»·¾³´î½¨£¬°üÀ¨Ò»Ð©³£¼ûÎÊÌâ½â¾ö
×¢Ò⣬±¾ÎÄÖ»ÊÇÎÒÔڴrubyѧϰ»·¾³Ê±µÄһЩ±Ê¼Ç£¬ÒòΪÊÇÓÃgedit±à¼µÄ£¬ËùÒÔ¸ñʽ»¯²»ÊǺܺã¬ÁíÍ⣬ֻÊDZ¸Íü¶øÒÑ¡£
2010.1.19
1. install ruby
$ tar xzf ruby-1.8.7-p248.tar.gz
$ mv ruby-1.8.7-p248 ruby187
$ cd ruby187/
$ ./configure
......