Time of Update: 2017-02-28
這篇文章主要介紹了Ruby實現的3種快速排序演算法,本文給出了快速排序的普通版本、快速排序的隨機化版本、快速排序的利用了Ruby的文法糖的隨機化版本三個版本,需要的朋友可以參考下 剛學Ruby,正巧演算法老師鼓勵用不熟悉的語言來寫演算法,我就用Ruby吧~~ 話說Ruby可真是超厲害,好多憑直覺的方法都可以用。。。。。無限膜拜中。。。。 期間我遇到了invalid multibyte char (US-ASCII)的錯誤,解決辦法是在開頭加一個#encoding:utf-8
Time of Update: 2017-02-28
這篇文章主要介紹了Ruby實現的最優二叉尋找樹演算法,本文直接給出實現代碼,需要的朋友可以參考下 演算法導論上的偽碼改寫而成,加上導論的課後練習第一題的解的建構函式。 代碼如下: #encoding: utf-8 =begin author: xu jin date: Nov 11, 2012 Optimal Binary Search Tree to find by using EditDistance algorithm refer to <>
Time of Update: 2017-02-28
這篇文章主要介紹了Ruby實現的最長公用子序列演算法,本文直接給出實現代碼,需要的朋友可以參考下 最長公用子序列,LCS,動態規劃實現。 ? 1 2 3 4 5 6 7 8 9 10 11
Time of Update: 2017-02-28
這篇文章主要介紹了Ruby實現的各種排序演算法,本文給出了Bubble sort、Insertion sort、Selection sort、Shell sort等排序的實現方法,需要的朋友可以參考下 時間複雜度:Θ(n^2) Bubble sort 代碼如下: def bubble_sort(a) (a.size-2).downto(0) do |i| (0..i).each do |j| a[j], a[j+1] = a[j+1], a[j]
Time of Update: 2017-02-28
這篇文章主要介紹了Ruby實現生產者和消費者代碼分享,本文直接給出實現代碼,需要的朋友可以參考下 ? 1 2 3 4 5 6 7 8 9 10 11 12
Time of Update: 2017-02-28
這篇文章主要介紹了Ruby中require、load、include、extend的區別介紹,require、load用於檔案,如.rb等等結尾的檔案,include、load則用於包含一個檔案中的模組,需要的朋友可以參考下 require,load用於檔案,如.rb等等結尾的檔案。include,load則用於包含一個檔案中的模組。 require
Time of Update: 2017-02-28
這篇文章主要介紹了Ruby中proc和lambda的兩個區別,本文講解了在proc和lambda中,return關鍵字有不同含義、檢查參數的方式不同兩個重要區別,需要的朋友可以參考下 1、在proc和lambda中,return關鍵字有不同含義: 在proc中,return僅僅表示從這個lambda中返回. 在lambda中,return不是從proc中返回,而是從定義proc的範圍中返回. 代碼如下: def one_method p =
Time of Update: 2017-02-28
這篇文章主要介紹了Ruby定義私人方法(private)的兩種辦法,本文直接給出代碼執行個體,需要的朋友可以參考下 ? 1 2 3 4 5 6 7 8 9 10 11 1
Time of Update: 2017-02-28
這篇文章主要介紹了Ruby中類變數和執行個體變數的比較,本文講解了4點類變數和執行個體變數的不同之處,並給出了代碼執行個體,需要的朋友可以參考下 1、類變數名以@@開始,一個類變數被這個類所有的執行個體對象共用;執行個體變數名以@開始,每個執行個體對象有各自不同的執行個體變數; 2、類變數在使用前必須初始化,否則在使用時會報錯;而執行個體變數如果沒有初始化,則使用時返回nil; 3、類變數是私人的,在類外無法直接存取,可以通過類方法和執行個體方法訪問; 複製代碼
Time of Update: 2017-02-28
這篇文章主要介紹了詳解Ruby中的塊的知識,包括yield語句和begin/end塊等知識點,需要的朋友可以參考下 文法: ? 1 2 3 4 5 block_name{ statement1
Time of Update: 2017-02-28
這篇文章主要介紹了Ruby中的模組與混合類型的相關知識,包括平常人們常說的多態與繼承等相關知識點,需要的朋友可以參考下 模組是組合在一起的方法,類和常量。模組兩個主要好處: 模組提供了一個命名空間,並避免名稱衝突。 模組實現混合工廠。 模組定義了一個命名空間,一個沙箱中方法和常量可以自由使用,而不必擔心踩到其他的方法和常數。 文法: ? 1 2 3
Time of Update: 2017-02-28
這篇文章主要介紹了Ruby中操作字串的一些基本方法,包括對字串的壓縮和解壓縮等處理,需要的朋友可以參考下 在Ruby中的String對象持有和操縱的任意序列的一個或多個位元組,通常表示人類語言的字元表示。 簡單的字串文本括在單引號(單引號字元)。引號內的文本的字串值: ? 1 'This is a simple
Time of Update: 2017-02-28
這篇文章主要介紹了Ruby中數組的一些相關使用方法,是Ruby學習當中的基礎知識,需要的朋友可以參考下 Ruby數組是有序的,任何對象的??整數索引的集合。每個數組中的元素相關聯,並提到的一個索引。 數組下標從0開始,如C或Java。負數索引假設數組末尾---也就是說,-1表示最後一個元素的數組索引,-2是數組中最後一個元素的下一個元素等等。 Ruby的數組可以容納對象,如字串,整數,長整數,雜湊,符號,甚至其他Array對象。Ruby數組沒有在其他語言中數組一樣嚴格。Ru
Time of Update: 2017-02-28
這篇文章主要介紹了Ruby中的Regex,是Ruby學習進階當中的重要知識,需要的朋友可以參考下 Regex是一個特殊的字元序列可以協助匹配或者找到其他字串或串套,使用的模式保持一個專門的文法。 Regex文本是一個模式之間的斜線之間或任意分隔字元 %r 如下: 文法: 複製代碼 代碼如下: /pattern/ /pattern/im # option can be specified %r!/usr/local! # general delimited
Time of Update: 2017-02-28
這篇文章主要介紹了用Ruby進行CGI編程的入門指引,編寫CGI指令碼也是Ruby用於網路編程的一項基礎功能,需要的朋友可以參考下 編寫CGI指令碼: 最基本的Ruby CGI指令碼看起來像這樣: ? 1 2 3 4 5 #!
Time of Update: 2017-02-28
這篇文章主要介紹了在Ruby中利用Net::SMTP類寄送電子郵件的教程,包括類中所帶方法的用法介紹,需要的朋友可以參考下 簡易郵件傳輸通訊協定(SMTP)寄送電子郵件及路由的e-mail郵件伺服器之間的協議處理。 Ruby 提供 Net::SMTP 類的簡易郵件傳輸通訊協定(SMTP)用戶端的串連,並提供了兩個新的方法:new 和 start. new 帶兩個參數: server name 預設為 localhost port number 預設為熟知的
Time of Update: 2017-02-28
這篇文章主要介紹了Ruby多線程編程初步入門,線程是Ruby編程學習當中的重點和痛點,需要的朋友可以參考下 傳統程式有一個單獨的線程執行,包含該程式的語句或指令順序執行直到程式終止。 一個多線程的程式有多個線程的執行。在每個線程是按順序執行的,但是在多核CPU機器上線程可能並行地執行。例如,通常情況下在單一CPU的機器,多個線程實際上不是並存執行的,而是類比並行交叉的線程的執行。 Ruby的可以使用 Thread 類很容易地編寫多線程程式。
Time of Update: 2017-02-28
Ruby支援一系列豐富的運算子的一個現代化的語言。大多數運算子實際上是方法調用。例如,a + b的被解釋為a, +(b)變數引用的對象的方法被稱為一個用b作為它的參數。 對於每個運算子 (+ - * / % ** & | ^ << >> && ||), 有相應的賦值運算子縮寫形式 (+= -=
Time of Update: 2017-02-28
在Linux下使用Ruby On Rails能夠對web應用程式的維護和開發變得更加便利,讓開發人員能更加專註於系統的邏輯結構,在使用前需先配置Ruby On Rails的開發環境,下面小編就給大家介紹下Ubuntu 12.04如何配置Ruby On Rails開發環境。 Ubuntu 12.04 + Ruby 2.0 + Rails 3.2.13 1、安裝系統需要的包 $ sudo apt-get install -y build-essential openssl curl
Time of Update: 2017-02-28
標籤:length 迴圈輸出 end 方法 ruby bre dex print time array = (1..10).to_a# 方法1length = array.length