Ruby和Java之間的比較
(飛刀和雨)
1. 基本類(lèi)型的比較Ruby的基本數(shù)據(jù)類(lèi)型

1數(shù)值型(numeric)
Java擁有8種主治類(lèi)型, Boolean,byte,char.short,int,long,float,double.在開(kāi)發(fā)中我們往往只常用到boolean, char, int & double。
Ruby則巧妙的使用了2類(lèi) Fixnum和Bignum,而且ruby不需要你去定義這個(gè)數(shù)字類(lèi)型,只需你輸入個(gè)數(shù),ruby會(huì)自動(dòng)地進(jìn)行必須的轉(zhuǎn)換。用戶(hù)不必?fù)?dān)心數(shù)字之間的差別
|
ruby
|
Java
|
字符串轉(zhuǎn)數(shù)字
|
N = ‘400’.to_i
|
N= new Integer(“400”).intValue( );
|
隨機(jī)數(shù)
|
A = rand(5)
|
Random random = new java,util.Random();
int A = random.nextInt(5);
|
Ruby提供良好的數(shù)學(xué)運(yùn)算公式,這些是java.math 所不能夠比擬的
1. 對(duì)數(shù)的使用:Math.loh(1) Math.log10(1000)
2. 求矩陣算法,求解線形的方程組,復(fù)數(shù)的使用
2. 字符串類(lèi)型(String)
Java中處理字符串一般都是使用String類(lèi)或者StringBuffer類(lèi),而ruby的使用則更加的方便和快速。Ruby的字符串的大小是可變的。可以無(wú)需使用更多的時(shí)間和內(nèi)存。
|
ruby
|
Java
|
打印時(shí)變量帶入字符串
|
Puts “This is #{number}”
|
System.out.println(“This is ”+number);
|
字符與值轉(zhuǎn)換
|
?a è97
|
int x = (int)’a’;
|
大小寫(xiě)轉(zhuǎn)換
|
s,downcase
|
s.lowerCase();
|
或得字符串部分
|
s[3.5]
|
s.indexOf(3,5);
|
3. 范圍類(lèi)型。
這類(lèi)的文件是java所沒(méi)有的,所以對(duì)于很多開(kāi)發(fā)人員來(lái)說(shuō)這是一個(gè)很新的類(lèi)型,
代表了一個(gè)系列的值,當(dāng)然
使用s..e和s…e。后面的一個(gè)不包括最后一個(gè)值
(-1..-5).to_a