Window中Ruby開發環境搭建

Window中Ruby開發環境搭建

Ruby,一種簡單快捷的面向對象(面向對象程序設計)腳本語言, 是一種類似於 Python 和 Perl 的腳本語言。由日本人松本行弘(Yukihiro Matsumoto)開發。你可以用在線版體驗下,在線Ruby IDE網址:

https://www.jdoodle.com/execute-ruby-online/

界面如下:

 

DevKit可用於編譯那些gem提供的c或c++的源代碼。它本身被編譯爲了exe,安裝的時候會找到ruby的目錄,然後修改添加一些文件。這樣,在安裝那些需要編譯的gem時,就直接搞定了。有了devkit之後,你的ruby中便具有了一個mingw32的本地編譯環境,而且這個本地編譯環境是自動調用的。一般下載帶Devkit的Ruby。

Window 系統下,我們可以使用 RubyInstaller 來安裝 Ruby 環境,下載地址爲:https://rubyinstaller.org/downloads/

我下載使用的是Ruby+Devkit 2.6.5-1 (x64)

安裝比較簡單,可參照

https://blog.csdn.net/qq_38161040/article/details/84205367

 

安裝後,在開始菜單中可看到:

 

通過在命令行cmd中輸入ruby -v命令驗證,方法:

同時按下 和R鍵,打開運行窗口:

輸入cmd 回車或單擊“確定”按鈕

在cmd中輸入ruby -v 回車(即按下Enter鍵)

 

在cmd中輸入ruby -help 回車 ,和看到ruby命令概述:

 

安裝成功後,可以實踐了。

 

irb工具

irb是一個 shell——一個交互式 Ruby 會話(Session) 工具。

在 irb shell 內,您可以逐行立即查看解釋結果。

這個工具會隨着 Ruby 的安裝自動帶有,所以您不需要做其他額外的事情,irb 即可正常工作。

只需要在命令提示符中鍵入 irb 回車,進入irb交互式 Ruby 會話(Session) 模式,如下所示:

退出irb模式,在控制檯輸入exit 回車(即按下Enter鍵),或者Ctrl+d

 

 

ruby文件的建立與運行

ruby文件的擴展名.rb

用記事本新建ruby文件,

print ("Hello World!!");

print ("Hi!");

保存在d:\ 目錄下,文件名未fileA.rb

 

使用irb執行ruby文件

 

在cmd中鍵入 irb 回車(即按下Enter鍵),進入irb交互式 Ruby 會話(Session) 模式

再輸入 load 'D:\rbDemo\FileA.rb' 回車(即按下Enter鍵)

 

使用ruby命令執行ruby文件

ruby D:\rbDemo\FileA.rb,參見下圖:

 

【提示:早期版本,Ruby 文件中如果有中文,如果運行時提示 invalid multibyte char (US-ASCII)

解決方法爲只要在文件開頭加入 # -*- coding: UTF-8 -*-(EMAC寫法) 或者 #coding=utf-8 就行了。例如:

# -*- coding: UTF-8 -*-

puts "你好,世界!";

 

基本語法知識

在Ruby中,一切皆爲對象,字符串,數值,時間等各種數據,都是對象。

 

Ruby的變量

Ruby的變量有一定的規則,以$開頭的一定是全局變量,以@開頭的都是實例變量,而以@@開頭的是類變量。常數則以大寫字母開頭; Ruby是動態語言,你可以在程序中修改先前定義過的類。 也可以在某個類的實例中定義該實例特有的方法。

 

輸出方法有 print(),puts(),p()

puts方法與print方法不同之處在於,puts顯示的字符串最後面一定會換行。

print和puts方法顯示時,畫面上顯示出來的都是字符串,很難判斷得知數據時什麼對象,但是p方法會根據字符串與數值以不同的形式顯示出來,甚至字符串內包含換行符號或定位等特殊字符時,也會以"\n"與"\t"的形式顯示出來,數組、雜湊用p方法輸出會比print方法輸出顯示結果要好理解。

單引號和雙引號的區別在於:雙引號可以對變量和特殊字符進行解析,而單引號卻不行。如果是使用雙引號解析變量,那麼需要添加#{}

例如:

name = "baby";

puts('hello #{name}');

puts("hello #{name}");

 

註釋

  行註釋使用的是#開始

多行(塊)註釋使用的是=begin開始,=end結束

如:

單行註釋以#開始,如

#註釋,忽略

或者,註釋可以跟着語句或表達式的同一行的後面:

x = 10 ;   # 這也是註釋

 

註釋會對解釋器隱藏 =begin/=end 之間的行:

=begin

這是註釋。

這也是註釋。

這也是註釋。

這還是註釋。

=end

 

 

條件分支

score = 70

if score >= 90

    puts("Great");

elsif score >= 80

    puts("very good");

elsif score >= 60

    puts("good");

else

    puts("bad");

end

運行結果:

 

循環

i=1

while i<6 do

    p("hello #{i}");

    i+=1;

end

運行結果:

 

函數

def funName

 x=10+2;

 puts x;

end

 

Ruby 程序中的行尾

Ruby 把分號和換行符解釋爲語句的結尾。但是,如果 Ruby 在行尾遇到運算符,比如 +、- 或反斜槓,它們表示一個語句的延續。

每行結束可以用分號“;”,但其實ruby的每行結束是可以不用分號的,回車換行就行。

 

Ruby 標識符

標識符是變量、常量和方法的名稱。Ruby 標識符是大小寫敏感的。這意味着 Ram 和 RAM 在 Ruby 中是兩個不同的標識符。

Ruby 標識符的名稱可以包含字母、數字和下劃線字符( _ )。

 

require、load以及include

require、load以及include關鍵字都是在kernel中定義的,用來包含外部文件或模塊到當期程序中,下面就他們的具體區別進行部分闡述:

1、require:

require多引入外部rb源文件或者外部庫(可以省略文件的後綴‘.rb’),require加載外部文件只會加載一次(多次引入會忽略),而load會加載多次

2、load:

load多爲加載資源配置文件,因爲load可以多次加載(每次都重新加載)(配置文件如***.yml等文件),與require相比,除了會加載多次外,加載時需要添加文件的後綴名

3、include:

include多爲加載源文件中的模塊,實現mix_in;同時include在定義類使用時,可以將模塊的方法變爲類的實例方法,變量變爲當前類的類變量@@xxx;而與之相對的extend關鍵字會將模塊中的方法變爲類的類方法

require加載外部庫或源文件:

require 'test_library '(或require 'test_library.rb')

load加載資源配置文件:

load 'language.yml'

 

 

gem 使用幫助

cmd中輸入

gem help  回車

 

 

列出已經安裝的包

在cmd中輸入

gem list 回車

 

安裝包

gem install 包名

按裝TK包,在cmd中輸入

 gem install tk 回車

 

卸載安裝包

gem uninstall包名

 

 

下面是使用TK包的窗口程序

 

例子、Ruby窗口程序

用記事本新建ruby文件,內容如下:

require 'tk'

tkroot=TkRoot.new {

  title 'hellw word'

  geometry '300x200'

}

lb = TkLabel.new(tkroot) do 

 

  font 'arial 20 bold'

  pack :padx=>2,:pady=>2,:side=>'top'#使用pack把組件組裝在界面中 

end

 

Thread.start do 

  while true

    lb.text=Time.new.strftime("%Y-%m-%d %H:%M:%S")

    sleep(1)  

  end

  end

tkroot.mainloop

 

保存在d:\ 目錄下,文件名未fileB.rb

使用命令行執行

ruby D:\rbDemo\FileB.rb,參見下圖:

 

 

Ruby 集成開發環境(IDE

JetBrains公司的RubyMine,是收費的。

RubyMine是一個集成開發環境(IDE),可幫助您在Ruby / Rails項目開發的各個方面提高工作效率。從編寫和調試代碼到測試和部署已完成的應用程序。擁有強大的只能編輯器來高效快速的生成代碼,並保障代碼的質量,提高工作效率,RubyMine完美支持Ruby和Rails,JavaScript和CoffeeScript,ERB和HAML,CSS,Sass和Less等。

發佈了60 篇原創文章 · 獲贊 60 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章