Time of Update: 2018-12-06
學習Ruby時的一些牢騷 一不小心就開始學習Ruby了,跨了一個元旦,也算學了兩年了(其實也就沒幾天)。 總體來說,有點排斥,因為感覺不好。 以前學過一點VB,沒想到Ruby也是這種以“End”語句結束代碼塊的語言。這種方式也不是說有什麼不好,總體來說有點亂,黑乎乎的一行行全是代碼。而且語言很多地方設計的有點亂(或者說根本就沒有設計),文檔也不多(官方的Document亂七八糟——你說你弱類就弱了唄,幹嘛扯蛋的要以類型索引,有本事你比了JS)。 其實關於Ruby的書也不少,就是大多都是E
Time of Update: 2018-12-06
全域變數 $xx物件變數 @xx局部變數 [a-z]xx常量 [A-Z]xx兩個偽變數self和nil:self實際上是一個指向當前對象的全域變數,這個變數的值由解譯器控制,我們只能讀取,不能修改。nil也是一個由解譯器控制全域變數,不能進行賦值。1. 全域變數 $xx全域變數應該謹慎使用,因為它的範圍是指令碼級,在當前會話中的任何位置都可以改變。全域變數在初始之前訪問的話 是nil可以通過trace_var來監視全域變數的改變並綁定一個變數改變時做出響應的代碼塊。Code
Time of Update: 2018-12-06
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|
Time of Update: 2018-12-06
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"
Time of Update: 2018-12-06
ruby除了支援class外還支援module,module的作用有兩個:1 當作一組方法和常數的命名空間 防止命名衝突2 可以被類mixin(混入),mixin
Time of Update: 2018-12-06
RUBY中對XML的文檔的解析可以使用這個庫REXML庫。REXML庫是ruby的一個XML工具包,是使用純Ruby語言編寫的,遵守XML1.0規範。在Ruby1.8版本及其以後,RUBY標準庫中將包含REXML。REXML庫的路徑是:
Time of Update: 2018-12-06
如果你是個學生,你應該會C,C++和 Java。還會一些VB,或C#/.NET。多少你還可能開發過一些Web網頁,你知道一些HTML,CSS和JavaScript知識。總體上說,我們 很難發現會有學生顯露出掌握超出這幾種語言範圍外的語言的才能。這真讓人遺憾,因為還有很多種程式設計語言,它們能讓你成為一個更好的程式員。在這篇文章裡,我將會告訴你,為什麼你一定要學習Python或Ruby語言。跟C/C++/Java相比 —
Time of Update: 2018-12-06
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
Time of Update: 2018-12-06
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數組支援<<運算
Time of Update: 2018-12-06
Ruby支援數組以及Hash,數組和Hash都是通過索引訪問的,所不同的是數組通過數字索引,而Hash的索引可以是任何對象,所以數組訪問速度更快(直接定位),而Hash則更加靈活,搜尋元素速度更快(Hash演算法定位索引,無需遍曆)。Ruby裡面比較有特點的是,數組與Hash都可以容納不同的對象,因為這是Ruby語言所決定的(非強型別語言,單根派生自Object)數組的一個常用方法是<<
Time of Update: 2018-12-06
前面已經介紹了有關Ruby語言上的東西,下面開始學習讓Ruby流行起來的Rails平台。Rails平台可以構建標準的MVC應用。 MVC就是控制器Controller,視圖View,模型Model。建立一個Rails項目的命令是:rails projectname,可以指定資料庫類型進行建立,如 rails -d mysql projectname我們建立一個demo項目: rails -d mysql demo然後可以通過WebRick來啟動http
Time of Update: 2018-12-06
Code highlighting produced by Actipro CodeHighlighter
Time of Update: 2018-12-06
我先寫下我這兩天自己的一些小經驗。一 如何使用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選擇新版
Time of Update: 2018-12-06
開始我的Ruby之旅,寫下學習筆記,是針對那些有其他OO語言經驗的人寫的,可以來看下神奇的Ruby。第一個sample!
Time of Update: 2018-12-06
直接上代碼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
Time of Update: 2018-12-06
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
Time of Update: 2018-12-06
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}總
Time of Update: 2018-12-06
剛剛在音樂空間裡發了幾首歌 敲了幾句ruby代碼 刷刷人氣
Time of Update: 2018-12-06
如何使用ruby進行windows
Time of Update: 2018-12-06
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 字串 表示傳回值類型