學習Ruby時的一些牢騷

學習Ruby時的一些牢騷  一不小心就開始學習Ruby了,跨了一個元旦,也算學了兩年了(其實也就沒幾天)。  總體來說,有點排斥,因為感覺不好。  以前學過一點VB,沒想到Ruby也是這種以“End”語句結束代碼塊的語言。這種方式也不是說有什麼不好,總體來說有點亂,黑乎乎的一行行全是代碼。而且語言很多地方設計的有點亂(或者說根本就沒有設計),文檔也不多(官方的Document亂七八糟——你說你弱類就弱了唄,幹嘛扯蛋的要以類型索引,有本事你比了JS)。  其實關於Ruby的書也不少,就是大多都是E

Ruby之旅(15) Ruby中的三種變數一種常量和兩個偽變數

全域變數  $xx物件變數 @xx局部變數 [a-z]xx常量 [A-Z]xx兩個偽變數self和nil:self實際上是一個指向當前對象的全域變數,這個變數的值由解譯器控制,我們只能讀取,不能修改。nil也是一個由解譯器控制全域變數,不能進行賦值。1. 全域變數 $xx全域變數應該謹慎使用,因為它的範圍是指令碼級,在當前會話中的任何位置都可以改變。全域變數在初始之前訪問的話 是nil可以通過trace_var來監視全域變數的改變並綁定一個變數改變時做出響應的代碼塊。Code

Ruby之旅(17) each,collect map collect! map!

arr = [1,2,3]1) arr2 = arr.each{|element| element = element * 2} #arr與arr2仍然都等於[1,2,3]   each返回原數組 遍曆內對元素的更改不會儲存2) arr2 = arr.map{|element| element = element* 2} #arr等於[1,2,3] arr2等於[2,4,6] map返回更改後的數組 遍曆內對元素的更改不會儲存3) arr2 = arr.map!{|element|

Ruby之旅(十) Ruby中的字串

Ruby中的字串處理非常靈活"abc"[0]  返回97 就是a"abc"[1] 98"abc"[2] 99"abc"[3] nil"abc"[-1] 99 從後向前數"abc"[-2] 98"abc"[-3] 97"abc"[-4] nil"abc" * 2 返回"abcabc" 支援乘法運算"abc" + "def"  返回"abcdef""abcdef"[0,1]  "a"  從位置0開始抽取1位"abcdef"[1,3] "bcd""abcdef"[-3,3] "def""abcdef"

Ruby之旅(六) 模組以及類的多繼承

ruby除了支援class外還支援module,module的作用有兩個:1 當作一組方法和常數的命名空間 防止命名衝突2 可以被類mixin(混入),mixin

Ruby中對XML文檔的解析

RUBY中對XML的文檔的解析可以使用這個庫REXML庫。REXML庫是ruby的一個XML工具包,是使用純Ruby語言編寫的,遵守XML1.0規範。在Ruby1.8版本及其以後,RUBY標準庫中將包含REXML。REXML庫的路徑是:

每個程式員都應該學習使用Python或Ruby

如果你是個學生,你應該會C,C++和 Java。還會一些VB,或C#/.NET。多少你還可能開發過一些Web網頁,你知道一些HTML,CSS和JavaScript知識。總體上說,我們 很難發現會有學生顯露出掌握超出這幾種語言範圍外的語言的才能。這真讓人遺憾,因為還有很多種程式設計語言,它們能讓你成為一個更好的程式員。在這篇文章裡,我將會告訴你,為什麼你一定要學習Python或Ruby語言。跟C/C++/Java相比 —

Ruby中的條件運算子

1.== (等於)和!= (不等於)比較兩個對象的值是否相等 ,返回 true, flasea=1; b=1.0; a==b #true2.eql?比較兩個對象的值、類型是否相等,返回 true, flasea=1; b=1.0; a.eql?(b) #flase(a為整數型,b為浮點型)3.equal? 比較兩個對象在記憶體中地址是否相同,返回 true, flasea=1.0; b=1.0; a.equal?(b) #flasea=1.0; b=a ; a.equal?(b) # true4

ruby之旅(11) Ruby中的數組與散列

ruby中的數組由方括弧建立,初始值可以放在方括弧中並用逗號分割,數組元素的類型可以不一樣,並且支援加法乘法運算。ary = [1, 2, "3"]ary * 2 返回 [1, 2, "3", 1, 2, "3"]ary + ["lee", "ho"] 返回[1, 2, "3", "lee", "ho"]ary[0,2] 返回[1, 2]  從位置0開始擷取兩個元素ary[0..2] 返回[1, 2, "3"] 從位置0一直到位置2數組支援<<運算

Ruby之旅(七) 數組以及Hash

Ruby支援數組以及Hash,數組和Hash都是通過索引訪問的,所不同的是數組通過數字索引,而Hash的索引可以是任何對象,所以數組訪問速度更快(直接定位),而Hash則更加靈活,搜尋元素速度更快(Hash演算法定位索引,無需遍曆)。Ruby裡面比較有特點的是,數組與Hash都可以容納不同的對象,因為這是Ruby語言所決定的(非強型別語言,單根派生自Object)數組的一個常用方法是<<

Ruby之旅(八) 之 Rails的Hello World!

前面已經介紹了有關Ruby語言上的東西,下面開始學習讓Ruby流行起來的Rails平台。Rails平台可以構建標準的MVC應用。 MVC就是控制器Controller,視圖View,模型Model。建立一個Rails項目的命令是:rails projectname,可以指定資料庫類型進行建立,如 rails -d mysql projectname我們建立一個demo項目: rails -d mysql demo然後可以通過WebRick來啟動http

Ruby之旅(13) 類 繼承 覆蓋 單態方法

Code highlighting produced by Actipro CodeHighlighter

Ruby之旅(九) 初探Rails:資料庫遷移任務與腳手架

我先寫下我這兩天自己的一些小經驗。一 如何使用gem刪除新版本 保留舊版本我們知道gem清除舊版軟體的方法是gem cleanup 更新新版的辦法是gem update 可是想刪除新版保留舊版呢方法:gem install rails --VERSION=1.2.6 安裝1.2.6版的railsgem list 查看使用gem安裝的軟體: rails (1.2.6)(2.0.2) 兩個版本並存呢gem uninstall rails 詢問你刪除哪個版本 1xx 2xx 3All選擇新版

Ruby之旅(一) Ruby之旅第一步 初次見面

開始我的Ruby之旅,寫下學習筆記,是針對那些有其他OO語言經驗的人寫的,可以來看下神奇的Ruby。第一個sample!

Ruby之旅(四) 類的繼承

直接上代碼Rectangle.rbclass Rectangle  attr_accessor :width  attr_accessor :height    def initialize(wdth, hgt)    @width = wdth    @height = hgt  end    def area()    return @width * @height  end    def +(addRectangle)    return area() + addRectangle.are

Ruby之旅(14) ruby中的模組 和 代碼塊,過程對象

Ruby中比較特殊的是module和block.module有命名空間的作用 可以將類,方法,和常數組織在一起module還有mixin的方法,可以在class內部include一個module來實現混入一個module裡的執行個體方法sample:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->module MSample    PI = 1   

ruby奇技淫巧 之 利用Fixnum的upto和downto方法來遍曆數組

arr = "1,2,3".split(',')arr.map!{|item| item = item.to_i} #一般可以用map!方法來改變原數組內容0.upto(arr.length-1){|idx|arr[idx] = arr[idx].to_s} #再將數組內容改回字串形式 使用upto方法fixnum對象的upto和downto方法,可以很方便的作為訪問一個數組的索引。其實也可以這樣做(0..arr.length-1).each{|n| arr[n] = arr[n].to_i}總

用ruby給自己發的歌刷刷人氣。。

剛剛在音樂空間裡發了幾首歌  敲了幾句ruby代碼  刷刷人氣

ruby的魅力:ruby調用win32ole

如何使用ruby進行windows

ruby的魅力:直接呼叫Win32API

Ruby是很強大,可以利用附加庫dl/win32的Win32API模組直接呼叫win32APIWin32API.new參數1 字串 呼叫dll名稱參數2 字串 dll中dllexport的名稱參數3 字串數組 表示每個參數的類型 L代表Long P代表Point I代表Int V代表Void (在實際使用的時候HResult和各種Handle都是Long,字串是P)參數4 字串 表示傳回值類型

總頁數: 85 1 .... 36 37 38 39 40 .... 85 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.