Rubyѧϰ±Ê¼ÇËÄ——Ä£¿é
#Ò»¡¢Ä£¿é¶¨Òå¼°ÒýÓã¬Ä£¿é¾ÍÊÇÒ»¶Î´úÂ룬ÀïÃæÓÐһЩ·½·¨·ÅÒ»Æð¡£
#¶¨ÒåÄ£¿éÓÃ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 talking."
end
end
class Student < Person
include Me
end
aStudent=Student.new
aStudent.talk # I'm talking.
puts aStudent.sqrt(20.7,3.3) # 4.54972526643248
#ͨ¹ý“ < ¸¸ÀàÃû ” £¬Ò»¸ö×ÓÀà¿ÉÒԵõ½¸¸ÀàµÄÊôÐԺͷ½·¨£»Í¨¹ý“ includeÄ£¿éÃû ” £¬Ò»¸ö×ÓÀà¿ÉÒԵõ½Ä³¸öÄ£¿éµÄ³£Á¿ºÍ·½·¨¡£À಻Äܱ» include ¡£
#ËÄ¡¢extend,»ìÐ͵ÄÁíÒ»ÖÖÇé¿ö
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 Student
end
aStudent=Student.new
aStudent.extend(Me)
puts aStudent.sqrt(93.1, 25) # 9.64883412646315
#include ·½·¨ÎªÒ»¸öÀàµÄËùÓжÔÏó°üº¬Ä³¸öÄ£¿é£» extend ·½·¨ÎªÒ»¸öÀàµÄij¸ö¶ÔÏó°üº¬Ä³¸öÄ£¿é¡£
#Îå¡¢requireºÍload
#require£¬loadÓÃÓÚ°üº¬Îļþ£»include£¬extendÔòÓÃÓÚ°üº¬Ä£¿é¡£
#require¼ÓÔØÎļþÒ»´Î£¬load¼ÓÔØÎļþ¶à´Î¡£
#require¼ÓÔØÎļþʱ¿ÉÒÔ²»¼Óºó׺Ãû£¬load¼ÓÔØÎļþʱ±ØÐë¼Óºó׺Ãû¡£
#requireÒ»°ãÇé¿öÏÂÓÃÓÚ¼ÓÔØ¿âÎļþ£¬¶øloadÓÃ
Ïà¹ØÎĵµ£º
Ëɱ¾ÐкêÈçÔ¼ÓÚÊ¥µ®½Ú·¢²¼ÁËRuby 1.9¡£¸ù¾ÝRubyµÄ¹ßÀý£¬Ð¡ÊýµãºóÃæµÚһλÈç¹ûÊǵ¥Êý£¬ÄÇô¾Í±íÃ÷ÕâÊÇÒ»¸öʵÑé°æ±¾£¬²»ÍƼöÓÃÓÚ²úÆ·»·¾³¡£Ëùν“²úÆ·»·¾³”£¬¶ÔÓÚĿǰµÄRubyÀ´Ëµ£¬»ù±¾ÉϾÍÊÇRuby on Rails¡£´ÓĿǰRoRÉçȺµÄ·´Ó³À´¿´£¬È·ÊµÓÐÈËÕýÔÚ³¢ÊÔÓÃRuby 1.9ÅäºÏRoR£¬µ«ÊÇÉÐÊô ......
PythonºÍRubyµÄ¶Ô±È£¬¾ÀÕýһЩÎó½â
ÏÂÃæÊÇÎÒÔÚ¿´Á½Æª¹ØÓÚPythonºÍRuby¶Ô±ÈµÄÎÄÕÂʱ£¬Ëù×÷µÄ¾ÀÕý£¬ÔÎͼÊǹ㷺Á÷Ðеģ¬±È½ÏºÃÕÒ¡£
------------------------------------------------------
¡¶rubyºÍpythonµÄ±È½Ï¡·¸üÕýÒ»µãÊÂÇé
1¡¢Îĵµ¡¢¿ªÔ´ÏîÄ¿¡¢¿âÖ§³Ö£¬ÕâЩ¶«Î÷Ruby²»Òª¸úPython±È£¬²»ÊǼ¸¸öÊýÁ¿¼¶µÄÎÊÌ⣬ºÎ±ØÃ²Ë ......
´Ó½ñÌìÆð²»ÔÙÀË·Ñʱ¼ä£¬¿ªÊ¼×ßÏò×Ô¶¯»¯²âÊÔÕâÌõ¹âÃ÷µÄµÀ·£¬²¢ÒԴһ¸ö×Ô¶¯»¯²âÊÔÆ½Ì¨ÎªÄ¿±ê£¬²¢Õâ¸ö¹ý³ÌÒ»µãµãµÄ¼Ç¼ÏÂÀ´ºÍ´ó¼Ò·ÖÏí
Ê×ÏÈ£¬ÊÇruby»·¾³µÄ´î½¨
£¨1£©µ½rubyµÄ¹ÙÍø£ºhttp://www.ruby-lang.org/en/ÏÂÔØ ruby°²×°³ÌÐò;
PS £ºÑ¡Ôñ ruby on windows,ÎÒÏÂÔØµÄÊÇRuby 1.8.6 One ......
ÔÚʹÓÃÖÐrubyµÄ¹ý³ÌÖÐÄÑÃâ»áÓöµ½Ìá¸ßÐÔÄܵÄÎÊÌ⣬Óɴ˱ãÏëÆðÁËrubyÏ̡߳£µ«ÊÇÎÒÔÚʹÓÃÖÐÈ´·¢ÏÖrubyµÄÏß³ÌÈ´²»ÄÜÌá¸ßÐÔÄÜ¡£ÎÒдÁËÒÔÏ´úÂ룬×öÁËЩ¼òµ¥²âÊÔ¡£
´úÂë
# -*- coding: GB2312 -*-
require 'date'
# ʹÓÃỊ̈߳¬Ï̵߳Ĵ¦Àí´úÂëÀïûÓÐsleep
def have_thread_no_sleep
p Time.now
thread1 = Thread.new do
......
ÕÕÀý¿ÉÒÔÏÈ¿´¶Ë³ÌÐò
class Person
def initialize( name,age=18 )
@name = name
@age = age
@motherland = "China"
end
def talk
puts "my name is "+@name+", age is "+@age.to_s
&n ......