RubyJava之間的比較

(飛刀和雨)

1. 基本類型的比較Ruby的基本數(shù)據(jù)類型

1數(shù)值型(numeric)

Java擁有8種主治類型, Boolean,byte,char.short,int,long,float,double.在開發(fā)中我們往往只常用到boolean, char, int & double 

Ruby則巧妙的使用了2 FixnumBignum,而且ruby不需要你去定義這個(gè)數(shù)字類型,只需你輸入個(gè)數(shù),ruby會(huì)自動(dòng)地進(jìn)行必須的轉(zhuǎn)換。用戶不必?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. 字符串類型(String

Java中處理字符串一般都是使用String類或者StringBuffer類,而ruby的使用則更加的方便和快速。Ruby的字符串的大小是可變的。可以無需使用更多的時(shí)間和內(nèi)存。

 

 

ruby

Java

打印時(shí)變量帶入字符串

Puts “This is #{number}”

System.out.println(“This is ”+number);

字符與值轉(zhuǎn)換

?a è97

int x = (int)’a’;

大小寫轉(zhuǎn)換

s,downcase

s.lowerCase();

或得字符串部分

s[3.5]

s.indexOf(3,5);

 

 

3. 范圍類型。

這類的文件是java所沒有的,所以對(duì)于很多開發(fā)人員來說這是一個(gè)很新的類型,

代表了一個(gè)系列的值,當(dāng)然

使用s..es…e。后面的一個(gè)不包括最后一個(gè)值

(-1..-5).to_a