當前位置:首頁 » 操作系統 » ruby源碼

ruby源碼

發布時間: 2022-05-07 07:43:29

⑴ Ruby跟python哪個更好哪個更有前途哪個代碼更簡潔

1.整體上說,Pythn更好。
2.整體上說,Python更有前途。
3.整體上說,兩者好像都比較簡潔。不過Python代碼中縮進是必須的,所以至少看起來更美觀。

4.關於python,感興趣的話可以去看:
crifan 【整理】Python語言簡介

5.其實關於語言,更推薦你去看:
【整理】關於某種(計算機)語言(如C/C++/C#/Object-C/java/Javascript/Perl/PHP/Python/VB/VBA等等)能幹什麼和是否有前途和錢途

(此處不給貼地址,請自己用google搜帖子標題,就可以找到帖子地址了)

⑵ 求助,在windows上用vscode怎麼執行ruby代碼

  1. 需要先安裝ruby環境,在windows上下載RubyInstaller下一步下一步即可.

  2. 在cmd命令輸入'ruby -v'輸出版本號驗證是否安裝成功.

  3. 在vscode中運行ruby代碼跟命令行執行步驟一樣 ctrl+`打開終端輸入ruby myfile.rb即可

  4. 如果想要在vscode中調試ruby代碼 查看此篇文章debug-ruby-in-vscode

  5. 上述情況僅針對於少量文件如果你的代碼是一個網站應該考慮何種實現方式更換IDE來解決.

  6. 如果有所幫助,敬請採納.

⑶ ruby的一段代碼$1,$2……這些是什麼意思呢菜鳥求教啊!

題主應該是對這個有疑問 digit4 = $2 || "1", 這句的意思是 如果$1不為nil,則執行這句,重點是在$2不為nil的時候,digit4=$2,這個||是一個邏輯運算符,前面為真就直接返回結果,所以就把$2直接返回了,上面描述的情況對應於這樣的輸入 p han2num("千八百二十三") 題主可以好好看看,如有問題請再聯系我,祝順利!

⑷ 想用Sass,但是為什麼一定要安裝ruby

linux下ruby編程環境的安裝和配置,方法如下:
1、去ruby官方下載安裝包,下載地址:
2、解壓縮下載的ruby-1.9-stable.tar.gz安裝包,進入目錄。

su
#./configure -prefix=/usr/local/ruby-1.9
#make
#make install
此時可能出現的錯誤:
echo executable host ruby is required. use --with-baseruby option.;
false ./tool/generic_erb.rb -c -o known_errors.inc
./template/known_errors.inc.tmpl ./defs/known_errors.def
executable host ruby is required. use --with-baseruby option.
make: *** [known_errors.inc] Error 1
出現此問題的原因在於1.9版本的ruby編譯需要系統默認安裝舊版本的ruby,而ubuntu中默認沒有安裝。
3、解決方法:
sudo apt-get install ruby
#默認ubuntu10.10會自行安裝ruby 1.8,之後再編譯1.9就沒問題了。
下載1.8.7版本源碼編譯安裝,並設置臨時環境變數 ,進入1.8源碼目錄
su
#./configure -prefix=/usr/local/ruby-1.8
#make && make install
export PATH=/usr/local/ruby-1.8/bin:$PATH
#此時使用ruby -v驗證版本為1.8
4、在剛才安裝配置ruby1.8的終端中繼續重新進行1.9的編譯安裝,進入1.9源碼目錄:
#解壓文件
tar vfxz ruby-1.9.1-p0.tar.gz
#進入解壓後的文件夾
cd ruby-1.9.1-p0/
#編譯源碼,編譯之前,應該先對/usr/local/ruby-1.9.1文件夾設置許可權.
./configure --prefix=/usr/local/ruby-1.9.1
#大名鼎鼎的 make 和 install
make && make install
#設置PATH路徑,把安裝的ruby放在系統PATH前面,避免調用操作系統自帶的ruby
export PATH=/usr/local/ruby-1.9.1/bin:$PATH
#在 ~/.profile 文件中增加了這樣的代碼:
if [ -d "/usr/local/ruby-1.9.1/bin" ] ; then
PATH="/usr/local/ruby-1.9.1/bin:$PATH"
fi
然後 注銷 再登陸一次.
#如無意外
ruby -v
#ruby 1.9.1p0 (2009-01-30 revision 21907) [i686-linux]
#ruby 1.9.1安裝成功了.
注意:之前安裝了1.8版本ruby,可以直接通過rm -rf /usr/local/ruby-1.8刪除即可。

⑸ linux下安裝ruby方法!

linux下ruby編程環境的安裝和配置,方法如下:

1、去ruby官方下載安裝包,下載地址:http://www.ruby-lang.org/en/downloads/

2、解壓縮下載的ruby-1.9-stable.tar.gz安裝包,進入目錄。

su
#./configure-prefix=/usr/local/ruby-1.9
#make
#makeinstall

此時可能出現的錯誤:

.use--with-baserubyoption.;
false./tool/generic_erb.rb-c-oknown_errors.inc
./template/known_errors.inc.tmpl./defs/known_errors.def
executablehostrubyisrequired.use--with-baserubyoption.
make:***[known_errors.inc]Error1

出現此問題的原因在於1.9版本的ruby編譯需要系統默認安裝舊版本的ruby,而ubuntu中默認沒有安裝。

3、解決方法:

sudoapt-getinstallruby
#默認ubuntu10.10會自行安裝ruby1.8,之後再編譯1.9就沒問題了。

下載1.8.7版本源碼編譯安裝,並設置臨時環境變數 ,進入1.8源碼目錄

su
#./configure-prefix=/usr/local/ruby-1.8
#make&&makeinstall
exportPATH=/usr/local/ruby-1.8/bin:$PATH
#此時使用ruby-v驗證版本為1.8

4、在剛才安裝配置ruby1.8的終端中繼續重新進行1.9的編譯安裝,進入1.9源碼目錄:

#解壓文件
tarvfxzruby-1.9.1-p0.tar.gz
#進入解壓後的文件夾
cdruby-1.9.1-p0/
#編譯源碼,編譯之前,應該先對/usr/local/ruby-1.9.1文件夾設置許可權.
./configure--prefix=/usr/local/ruby-1.9.1
#大名鼎鼎的make和install
make&&makeinstall
#設置PATH路徑,把安裝的ruby放在系統PATH前面,避免調用操作系統自帶的ruby
exportPATH=/usr/local/ruby-1.9.1/bin:$PATH
#在~/.profile文件中增加了這樣的代碼:
if[-d"/usr/local/ruby-1.9.1/bin"];then
PATH="/usr/local/ruby-1.9.1/bin:$PATH"
fi
然後注銷再登陸一次.
#如無意外
ruby-v
#ruby1.9.1p0(2009-01-30revision21907)[i686-linux]
#ruby1.9.1安裝成功了.

注意:之前安裝了1.8版本ruby,可以直接通過rm -rf /usr/local/ruby-1.8刪除即可。

⑹ ruby中怎麼建立url,實現頁面的跳轉,簡單實現就好。代碼要具體。

是Ruby, 還是Rails?

如果是在 Rails 里,直接在Action中寫,比如:

def hello
redirect_to :action => "index"
end

def hello
redirect_to 'http://.com'
end

⑺ ruby開發的軟體,怎麼避免源代碼泄漏

在Ruby中,一切皆是對象。下面舉一個例子來更直觀地說明Ruby語言的這一特點。

在Java中,求一個數的絕對值的代碼如下。

int c = Math.abs(-20);

而在Ruby語言中,一切皆是對象,也就是說「-20」這個數也是一個對象,因此,求一個數絕對值的Ruby代碼形式如下。

c = -20.abs 這樣的代碼編寫方式是不是更形象一些呢?

Rails 框架是一個更符合實際需要而且更高效的Web開發框架,Rails結合了PHP體系的優點(快速開發)和Java體系的優點(程序規整)。

Rails是一個全棧式的MVC框架,換句話說,通過Rails可以實現MVC模式中的各個層次,並使它們無縫地協同運轉起來。

在實際開發一個MVC模式的Web應用項目時,如果使用Java開發,需要用到Struts、Hibernate和Spring等框架,而且需要額外整合3個框架開發出的內容。而使用Ruby語言開發相同的項目時,只需要用到Rails框架就可以完成。

RoR的效率肯定要比Java高一個數量級,這確實是事實,比PHP至少也要高好幾倍,這也是事實,這一點在這篇文章中不展開了,但是為什麼開發效率這么高,我也想談談我的看法,當然還很不成熟的看法:

一、主要原因是ruby語言的語法非常強大我記得庄表偉說過一個觀點:「框架是強化的語法」,意思就是說語法比較弱,所以才需要n多框架,如果語法很強,框架就很少。這一點在Java和ruby身上得到了驗證。

1、ruby的open class VS Java的AOP,反射、動態代理,位元組碼增強等技術JDK1.3開始引入反射,就已經打開了Java這種靜態類型語言通往動態類型語法的潘多拉魔盒。隨後的動態代理技術,位元組碼增強技術,靜態和動態的AOP技術開始層出不窮,為什麼呢?就是需要在程序運行期動態改變對象的行為。但是對於ruby來說是open class的,語法級別上就支持程序運行期修改對象行為,所以Java需要很復雜技術才能實現的功能對於ruby來說就是非常簡單的搞定了。

2、ruby的ck typing VS Java的IoC,泛型Java的IoC不用說了,泛型在庫級別也開始廣泛使用。IoC就是根據對象行為來進行對象組裝,泛型就是在不確定對象行為的情況下確定對象的交互。但是ruby的對象行為是在運行期才確定的,天然就是泛型的,行為不是靜態的,所以不需要IoC。

3、ruby的block,closure VS Java的匿名內部類大家對spring的Template肯定印象很深刻,但是這是ruby標準的用法,所以各種資源釋放,異常處理在語法級別上就支持的很好,做起來很簡單。

4、ruby的Meta programming VS Java缺乏method_missing機制大家耳熟能詳了,Java沒有這么強的Meta programming,很多ruby magic耍不出來。

5、腳本語言 VS 編譯語言這也是一個很大的優勢,腳本編程速度確實快。

二、rails框架確實做的很棒

1、full-stackrails是一個概念一致的fullstack框架,不知道為什麼,在Java世界目前只有Rife這一個可以和RoR相提並論的fullstack框架,但是Rife的實現並不好(作者從PHP轉過來的,和DHH爆發過口水戰)。不過因為底層語法支持的不同,用Java是做不出來RoR框架的。因此也有人用Groovy做Grails,不過這幫人不太爭氣。

2、CoC這個不用說了,現在很多Java框架開始吸收這一點。

3、為web開發良身打造web開發需要用到各種技術全部提供,絕對的貼心,如果用Java,這些東西都需要自己集成或者自己實現,省了一大堆麻煩事。

4、開發測試部署快速這個不說了,Java劣勢太明顯了

關於「效率提高的來源」問題,我的理解就是次要復雜性被ROR降低到了極致。說的難聽一點,不是ROR太聰明,而是我們以前做得蠢事太多了。各種各樣的xml, taglib,單元測試困難 ... ...

做過項目的人都知道這些次要復雜性很多情況下真的是要命的。ROR沒有降低軟體的內在復雜性,也就是業務問題。但是它把復雜性降低到無限趨近於業務復雜性,也有人稱ROR是Web開發的DSL。而解決業務問題正是人發揮聰明才智的地方,ROR不能代替人,但是它把人從次要復雜性的泥潭之中解救了出來。
參考資料:南京賽威信息科技

⑻ ruby爬蟲得到的源代碼不全怎麼回事

抓取的目標網頁html沒有正確閉合等,都會導致這樣的問題

⑼ 如何通過修改ruby源碼來修改內置關鍵字

可以嘗試自定義函數來做,或者可以覆蓋關鍵字來實現(可以改變定義在某個類型中的函數,類似於下面這段代碼)。

1.234.to_json
=>"1.234"
1.234.to_s
=>"1.234"
1.234.to_s.to_json
=>""1.234""
classFloat
defto_json
self.to_s.to_json
end
end
1.234.to_json
=>""1.234""

⑽ 」Ruby幾乎總是解釋執行的,但也有開發者正著手開發虛擬機,想把 Ruby代碼編譯成位元組碼再執行" ~~~

效率不一樣。
解釋器模式,每次都要重新解釋代碼,效率低下;
編譯成位元組碼,則已經有預編譯,對一些變數,內存等,以後運行的時候,直接可以進行運行處理,提高效率。

如果你了解java或者.net,那就不難理解這兩者的差別了。

熱點內容
編譯期錯誤提示 發布:2024-10-07 20:07:23 瀏覽:296
阿里雲伺服器打開慢 發布:2024-10-07 20:06:33 瀏覽:577
磁存儲行業的前景 發布:2024-10-07 20:01:29 瀏覽:548
android對象序列化 發布:2024-10-07 20:01:28 瀏覽:760
安卓上面的微信如何恢復 發布:2024-10-07 19:57:45 瀏覽:52
510低配包括哪些配置 發布:2024-10-07 19:38:21 瀏覽:556
ping伺服器地址一直丟包 發布:2024-10-07 19:37:34 瀏覽:588
怎麼去除手機鎖屏密碼 發布:2024-10-07 18:56:05 瀏覽:67
怎樣注冊手機貼吧賬號密碼是什麼 發布:2024-10-07 18:55:17 瀏覽:365
埠安全配置屬於什麼 發布:2024-10-07 18:41:01 瀏覽:794