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
Ïà¹ØÎĵµ£º
ÐÂÄê¸Õ¿ªÊ¼,ÒѾÓÐһЩÉúÃ͵ÄÅóÓÑÒª¿ªÊ¼ÐµÄÖ°³¡ÉúÑÄÁË,
²»ÖªµÀ»á²»»áÓöµ½ÕâÑùµÄÎÊÌâ: ÏëÕÒÒ»·ÝRuby on railsµÄ¹¤×÷,ÎÒÓ¦¸ÃÖªµÀÄÄЩ֪ʶ
?
»¹ºÃ,ÎÒ²¢²»ÊÇÏëÖ¸µãÄãʲô,Ö»ÊÇÏë°´ÎÒµÄ˼ά·½Ê½Õ¹¿ª,ÈÃÄãÄÜ"ÎÅ"µ½µã¶«Î÷¼´³É.
¹ÅÔÆ:Öª¼ºÖª±Ë£¬°ÙÕ½²»´ù£»²»Öª±Ë¶øÖª¼º£¬Ò»Ê¤Ò»¸º£» ......
ÒòΪһ´ÎżȻµÄ»ú»á½Ó´¥ÁËRubyÓïÑÔ¡£È»ºóÏÂÔØÁËRuby Shoes¹¤¾ß¡£
·¢ÏÖRuby»¹ÊÇÂùÓÐȤµÄ¡£
»¨ÁËÒ»¶Îʱ¼äÊìϤÁËËüµÄÓï·¨¡£
ÏÂÃæÀ´ÊÔÊÔËüµÄÊó±ê¹¦ÄÜ¡£
Shoes.app do
#ͼƬ³õʼ»¯
@img = image "http://www.google.cn/intl/zh-CN/images/logo_cn.gif"
#ͼƬ¹ØÓÚÊó±êµÄµ÷ÓÃ
& ......
rubyÖÐ×Ô´øÊµÏÖ¹Û²ìÕßģʽµÄÀàobserver¡£¿ÉÒÔÀûÓÃËüÀ´ÊµÏÖ¹Û²ìÕßģʽ¡£
´úÂëÀý×Ó£º
# -*- coding: GB2312 -*-
require 'observer'
# ¹Û²ìÕßģʽ(ruby)µÄʹÓÃÀý×Ó
# ±»¹Û²ìÕßP
class PObservable
include Observable
end
# ¹Û²ìÕßA
class AObserver
# update·½·¨ÃûÊDZØÐëµÄÒªÓеÄ
def update(arg)
puts "AO ......
ÈýÕßÖ®¼äÇø±ð²¢²»ÏñÄãÏëµÄÄÇôÄÑ£¬Ò²²»»áÏñÓÐЩÎÄÕÂдµÄÄÇô³¤¡£Í¦¼òµ¥µÄ¡£
Ïà֮ͬ´¦£ºÈýÕß¾ùÔÚkernelÖж¨ÒåµÄ£¬¾ùº¬Óаüº¬½øÄ³ÎïÖ®Òâ¡£
²»Í¬Ö®´¦£º
1¡¢requre,loadÓÃÓÚÎļþ£¬Èç.rbµÈµÈ½áβµÄÎļþ¡£
2¡¢includeÔòÓÃÓÚ°üº¬Ò»¸öÎļþ(.rbµÈ½áβµÄÎļþ)ÖеÄÄ£¿é¡£
3¡¢requreÒ»°ãÇé¿öÏÂÓÃÓÚ¼ÓÔØ¿âÎļþ£¬¶øloadÔòÓÃÓÚ¼ÓÔØÅ ......
ÔÎÄÁ¬½Ó£º http://hi.baidu.com/%B7%CF%B2%C5%CB%FB%B8%E7/blog/item/09c19411244152daf7039ec4.html
ͨ¹ýÃüÁîÐв鿴ruby°æ±¾ÐÅÏ¢£º
ruby -v
ÃüÁîÐÐÔËÐгÌÐò£º
·½·¨1.
ruby -e 'print "hello ruby"'
-e ±íʾ½«ºóÃæµÄÒ»ÐÐ×÷Ϊruby³ÌÐò
print ÊÇrubyµÄÒ»¸öÄÚÖú¯Êý
·½·¨2.½»»¥±àÒë»·¾³
irb £¨ÃüÁîÐÐÊäÈëºó£¬ ......