ruby教程:如何快速入門ruby程式設計語言

來源:互聯網
上載者:User

標籤:程式設計語言   知識點   如何   模型   動態   

在學習新的程式設計語言的時候,我們一定要弄清楚一下幾個問題:

語言的類型模型是什嗎?

強型別/弱類型,靜態類型/動態類型

類型模型會改變問題的處理方式,控制語言的運行方式

語言的編程範型是什嗎?

物件導向、函數式、過程式等等

怎樣和語言互動?

編譯、解釋

語言的判斷結構(decision construct)和核心資料結構是什嗎?

哪些核心特性讓這門語言與眾不同?

 

因為每門程式設計語言都有自己的一套慣用方法,各有所長,各有縮短,通過學習不同的程式設計語言,你會明白,哪門語言最適宜解決自己當下關注的問題。下面就以我正在學習ruby程式設計語言為例,給大家說說,我會關注哪些問題,就一起來看看我對ruby程式設計語言(http://www.maiziedu.com/course/ruby/)關注的幾個知識點。

 

Ruby程式設計語言的簡介

 

由松本行弘(Yukihiro Matsumoto)大約在 1993 年發明

指令碼語言、解釋型、物件導向、動態類型

現在我的機器上安裝的ruby 版本是 2.1,可以使用下面的命令來查詢:

$ ruby -v

ruby 2.1.4p265 (2014-10-27 revision 48166) [x86_64-darwin14.0]

具體的安裝不做太多介紹,在官方網站查閱不同平台的相關資料即可,下面是一個簡單的例子

irb(main):001:0> properties = [’good’, ’bad’, ’clever’, ’stupid’]

=> ["good", "bad", "clever", "stupid"]

irb(main):002:0> properties.each {|property| puts "I am #{property}."}

I am good.

I am bad.

I am clever.

I am stupid.

=> ["good", "bad", "clever", "stupid"]

留意一下 ruby 是如何進行遍曆及值替換的,之後我們也會深入瞭解。需要注意的是,這種寫起來方便的語言,一般來說效率都不會太高。但是開發效率與執行效率常常是魚與熊掌,很多時候不得不進行選擇。

我們再來看一個長一點的例子:

irb(main):001:0> puts ’hello, wdx’

hello, wdx

=> nil

irb(main):002:0> friend = ’Snake’

=> "Snake"

irb(main):003:0> puts "hello, #{friend}"

hello, Snake

=> nil

irb(main):004:0> friend = ’Queit’

=> "Queit"

irb(main):005:0> puts "hello, #{friend}"

hello, Queit

=> nil

這裡我們可以看到以下幾點:

不用聲明變數

每條 ruby 代碼都會返回某個值

單引號表示直接解釋

雙引號包含的字串會進行字串替換

編程模型

 

Ruby 是一門純物件導向語言。從下面的例子就可以看出來:

irb(main):001:0> 233

=> 233

irb(main):002:0> 233.class

=> Fixnum

irb(main):003:0> 233 + 233

=> 466

irb(main):004:0> 233.methods

=> [:to_s, :inspect, :[email protected], :+, :-, :*, :/, :div, :%, :modulo, :divmod, :fdiv, :**, :abs, :magnitude, :==, :===, :<=>, :>, :>=, :<, :<=, :~, :&, :|, :^, :[], :<<, :>>, :to_f, :size, :bit_length, :zero?, :odd?, :even?, :succ, :integer?, :upto, :downto, :times, :next, :pred, :chr, :ord, :to_i, :to_int, :floor, :ceil, :truncate, :round, :gcd, :lcm, :gcdlcm, :numerator, :denominator, :to_r, :rationalize, :singleton_method_added, :coerce, :i, :[email protected], :eql?, :remainder, :real?, :nonzero?, :step, :quo, :to_c, :real, :imaginary, :imag, :abs2, :arg, :angle, :phase, :rectangular, :rect, :polar, :conjugate, :conj, :between?, :nil?, :=~, :!~, :hash, :class, :singleton_class, :clone, :dup, :taint, :tainted?, :untaint, :untrust, :untrusted?, :trust, :freeze, :frozen?, :methods, :singleton_methods, :protected_methods, :private_methods, :public_methods, :instance_variables, :instance_variable_get, :instance_variable_set, :instance_variable_defined?, :remove_instance_variable, :instance_of?, :kind_of?, :is_a?, :tap, :send, :public_send, :respond_to?, :extend, :display, :method, :public_method, :singleton_method, :define_singleton_method, :object_id, :to_enum, :enum_for, :equal?, :!, :!=, :instance_eval, :instance_exec, :__send__, :__id__]

看出來了嗎,ruby 中一切皆為對象,比方說數字就是 Fixnum 類型的對象,我們也可以用 . 來調用對象的各種方法。

 

判斷

 

我們同樣可以通過例子來研究研究。

大家看了以上的介紹對ruby程式設計語言有了一定的瞭解嗎?可以從這幾個知識點,關注點瞭解到ruby程式設計語言與其他語言的不同,也知道了ruby語言的特色。想瞭解更多ruby程式設計語言,可以搜尋麥子學院,裡面有更多ruby視頻教程。


ruby教程:如何快速入門ruby程式設計語言

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.