ÎÄÕÂת×Ô 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
gem -v ÏÔʾ°æ±¾£¬°²×°³É¹¦
3¡¢ÏÂÔØrailsµÄ gem °²×°£¨gem install -l ±¾µØ°²×°£©£º
http://rubyforge.org/frs/download.php/63167/rails-2.3.4.gem
gem install -l rails-2.3.4.gem
»áÌáʾÒÀÀµ£º
rails requires rake (>= 0.8.3, runtime
ÏÂÔØ
rake£º
http://rubyforge.org/frs/download.php/56871/rake-0.8.7.gem
¼ÌÐø
gem install -l rails-2.3.4.gem
ÌáʾÒÀÀµ£º
rails requires activesupport (= 2.3.4
ÏÂÔØ
activesupport £º
http://rubyforge.org/frs/download.php/63162/activesupport-2.3.4.gem
Èç´Ë£¬ÒÀ´ÎÏÂÔØËùÓÐÒÀÀµ£º
activerecord£º
http://rubyforge.org/frs/download.php/63163/activerecord-2.3.4.gem
actionpack£º
http://rubyforge.org/frs/ ......
²Ù×÷ϵͳubuntu£¬¿ª·¢¹¤¾ßnetbeans
vendorÊý¾Ý¿â±íÓÐ×Ö¶Îservice_category varchar(100)
<% form_for :vendor, @vendor, :url => sellers_path do |f| %>
<%= f.select(:service_category,
["Painting","Plumbing","Decor"], {}, {:multiple => true, :size => 3}) %>
<%= f.submit "Register"%>
<% end %>
url Ö¸¶¨µ½Äĸöcontrol action£¬ÓõÄÊÇrails rest¼¼Êõ
µ«ÊÇ´æÈëÊý¾Ý¿â±íµÄÊÇ--\painting --Ö®ÀàµÄ×Ö·û´®£¬²»·ûºÏÒªÇó
ËùÒÔÔÚvendor modelÖмÓÈë
def service_category=(values)
if !values.nil?
write_attribute('service_category', values.join(','))
end
end
def service_category
if !read_attribute('service_category').nil?
read_attribute('service_categ ......
#Ò»¡¢ÕâÀïÊÇ×¢ÊÍ£¬Êǵ¥ÐÐ×¢ÊÍ£¬ÀàËÆÓÚ//
puts 3/5#ÕâÀïÊÇÕûÊýÐÎʽµÄ½á¹û
puts 3/5.0#ÕâÀïÊÇСÊýÐÎʽµÄ½á¹û
=begin
ÕâÊǶàÐÐ×¢ÊÍ£¬Êµ¼ÊÉÏÕâÒ²ÊÇRubyÄÚǶÎĵµ¸ñʽ£¬ÀàËÆÓÚJava doc
=end²»µ«ÒªÓÐÆðÖ¹£¬»¹ÒªËõ½ø²ÅÓÐÓá£
=end
#¶þ¡¢Á¬ÐÐ
puts "Hello Ruby!"; puts "This is a "\
"String";#ÐÐβµÄ·ÖºÅ¿ÉÒÔÊ¡ÂÔ?‘\’ÊÇÁ¬Ðзû£¬ÐÐβ¼´Ä¬ÈÏΪһ¸öÓï¾äµÄ½áÊø£¬¿ÉÒÔûÓзֺţ¬Èç¹û²»Ï£ÍûËü½áÊøµ«Ïë»»ÐУ¬ÐèÒª¼ÓÁ¬Ðзû'\'ÇÒÖ®ºó²»ÄÜÔÙ¼ÓÐÐ×¢ÊÍ¡£
#Èý¡¢print,puts,printf
#puts¿ÉÒÔ¼Ó¶à¸ö²ÎÊýÔÚºóÃæ£¬Ã¿Êä³öÒ»¸ö²ÎÊý×Ô¶¯¼ÓÒ»¸ö»»Ðзû£¬¶øprint²»¼Ó»»Ðзû
puts "%d,%s",100,"string, hello!";
#ÓøñʽÂÀÊä³öÓеãÏñCÓïÑÔ·ç¸ñ,ÓÃprintf
printf "%d,%s",100,"string, hello!";
#ËÄ¡¢Ò»Ð©Ó﷨֪ʶ
#0¿ªÍ·±í8½øÖÆÊý£¬0x¿ªÍ·±í16½øÖÆÊý,0b¿ªÍ·±í¶þ½øÖÆ£¬µ¥ÒýºÅË«ÒýºÅ¶¼¿ÉÒý×Ö·û´®
#Ò»¸öÊý×éÖеÄÔªËØ¿ÉÒÔ»¥²»Ïàͬ£¬ÊÇÈõÀàÐÍÓïÑÔ
#Çø¼ä£º1..5±í1£¬2£¬3£¬4£¬5¡£1...5±íʾ1£¬2£¬3£¬4
#¸³Öµ¿ÉÓÃÕâÖÖÐÎʽa,b,c=3,4,5;
#±È½ÏÔËËãʱ¡£==×îÈõ£¬Ö»ÒªÖµÏàͬ¼´¿É£¬Èç1==1.0ÎªÕæ£¬eql?ǿһµã£¬ÐèҪֵΪÀàÐÍÏàͬ£¬Èç1==1£¬equal?×îÇ¿ÐèÒªÁ½¸ö±äÁ¿µÄµ ......
#Ò»¡¢Êý×éÒýÓÃ
arr=[3,4,5,6,7,8,9]
puts arr[0] #3
puts arr.first #3
puts arr[arr.length-1] #9
puts arr[arr.size-1] #9
puts arr.last #9
puts arr[-1] #9
puts arr[-2] #8
print arr[1..3] ,"\n" #456
print arr[-3,4] ,"\n" #789£¬´Ó-3¿ªÊ¼ £¬´òÓ¡4¸öÔªËØ£¬ÕâÀïÖ»ÓÐÈý¸ö
#RubyµÄÊý×é´óСÊǶ¯Ì¬µÄ£¬ÄãÄܹ»ËæÊ±Ôö¼Ó¡¢É¾³ýÊý×éÔªËØ¡£
print arr.join(", "),"\n" #Òâ˼ÊÇ£º½«Êý×éarrת»»³É×Ö·û´®Êä³ö£¬ÓÃ", "¸ô¿ªÃ¿¸öÔªËØ£¬²¢ÇÒ»»ÐС£
#¶þ¡¢Êý×é±à¼
arr=[4,5,6]
print arr.join(", "),"\n" #4, 5, 6
arr[4] = "m" #°Ñ4ºÅË÷ÒýλÖÃÔªËØ¸³ÖµÎª"m"
print arr.join(", "),"\n" #4, 5, 6, , m
print arr[3] ,"\n" #´òÓ¡3ºÅË÷ÒýλÖÃÔªËØ #nil
arr.delete_at(3) #ɾ³ý3ºÅË÷ÒýλÖÃÔªËØ
print arr.join(", "),"\n" #4, 5, 6, m
arr[2] = ["a","b","c"] #°Ñ2ºÅË÷ÒýλÖÃÔªËØ¸³ÖµÎª["a","b","c"]
print arr.join(", "),"\n" #4, 5, a, b, c, m
print arr[2] ,"\n" #´òÓ¡2ºÅË÷ÒýλÖÃÔªËØ #abc
arr[0..1] = [7,"h","b"] #°Ñ0..1ºÅÔªËØÌæ»»Îª7,"h","b"
puts arr[0];#ÓÉÊä³ö¿É¼û£¬ÔªËظöÊý¼ÓÁËÒ»¸ö£¬¼´Ìæ»»Ö®ºó£¬³ÉÁË0..2¶ÔÓ¦7,h,b
puts arr[1];
puts arr[2];
......
#Ò»¡¢¶¨ÒåÒ»¸öÀà
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( ......
#Ò»¡¢Ä£¿é¶¨Òå¼°ÒýÓã¬Ä£¿é¾ÍÊÇÒ»¶Î´úÂ룬ÀïÃæÓÐһЩ·½·¨·ÅÒ»Æð¡£
#¶¨ÒåÄ£¿éÓÃmodule...end ¡£Ä£¿éÓëÀà·Ç³£ÏàËÆ£¬µ«ÊÇ£º
#A) Ä£¿é²»¿ÉÒÔÓÐʵÀý¶ÔÏó£»
#B) Ä£¿é²»¿ÉÒÔÓÐ×ÓÀà¡£
include Math
puts sqrt(91);
module Me
def sqrt(a)
puts a*a;
return a*a;
end
PI=3.1415926
end
include Me
puts sqrt(10)
puts Math.sqrt(10);
puts Math::PI;
puts Me::PI;#±äÁ¿ÒýÓÃÓë·½·¨µ÷Óò»Í¬£¬ÓÃ˫ðºÅ£¬¶ø²»ÊǵãºÅ
#¶þ¡¢¿É±ä²ÎÊý
def params(*num)
"This is text sqrt. "
puts num.size
puts num[1]
puts num.inspect
end
params(4,2,3)
#Èý¡¢Ä£¿éµÄµÚÈý¸ö×÷Óã¬ÊµÏÖÀàËÆÓÚ¶àÖØ¼Ì³ÐµÄ¹¦ÄÜ£¬Ò²³ÆMix-in
#ÎÒÃÇÓÐÒ»¸öStudentÀ࣬ÓÐ×ÅPersonÀàµÄÊôÐԺͷ½·¨£¬»¹»á×öÊýѧÌâ——Ç󯽷½¸ù¡£ÒѾÓÐÁËMeÄ£¿é£¬Ö»ÒªMix-in ÔÚStudentÀàÀï¾Í¿ÉÒÔÁË¡£
module Me
def sqrt(num, rx=1, e=1e-10)
num*=1.0
(num - rx*rx).abs <e ? rx : sqrt(num, (num/rx + rx)/2, e)
end
end
class Person
def talk
puts "I'm t ......