Ruby的25個編程細節(技巧、實用程式碼片段)_ruby專題

1.try 永遠不會拋出異常 在 沒有的時候 返回 nil 複製代碼 代碼如下:province_id = Province.find_by_name(prov).try(:id)  2.find(:first, :condotions) 方法 不言而與複製代碼 代碼如下:mobile_info = MobileInfo.find(:first, :conditions => ["mobile_num = ? ", mobile_num.to_i]) 

ruby的程式結構介紹_ruby專題

概括、ruby程式由一個或多個ruby源檔案組成,源檔案由模組組成,模組內部有控制結構、類對象、方法、及運算式等元素,下面就按照這個思路來總結ruby的程式組織圖。 一、源檔案 1.1、檔案包含 複製代碼 代碼如下: #file1.rb  inc_path=$0.sub(/\/\w+\.rb/,"") #擷取當前路徑的目錄  $:.insert(-1,inc_path) #將當前路徑加入到load路徑數組   

ruby基礎資料型別 (Elementary Data Type)簡明介紹_ruby專題

概括、ruby中的基礎資料型別 (Elementary Data Type)都是類類型,只不過為了書寫和閱讀的方便,為基礎資料型別 (Elementary Data Type)提供了較為簡潔的書寫方式而已。一、數實值型別整數支援二進位,八進位,十進位,十六進位,根據整數的大小動態決定整數是Fixnum類型還是Bignum類型。浮點數支援科學計數法,小數點後至少有一個數字。數實值型別繼承圖如下:複製代碼 代碼如下:Numeric |--Integer   &

Ruby中proc和lambda的兩個區別_ruby專題

1、在proc和lambda中,return關鍵字有不同含義:在proc中,return僅僅表示從這個lambda中返回.在lambda中,return不是從proc中返回,而是從定義proc的範圍中返回.複製代碼 代碼如下:def one_method    p = Proc.new{return 10}  #調用這個塊的時候,從p的範圍直接返回10,因此下面的return將不會執行    result =

Ruby中require、load、include、extend的區別介紹_ruby專題

require,load用於檔案,如.rb等等結尾的檔案。include,load則用於包含一個檔案中的模組。require 一般情況下用於載入庫檔案,而load則用於載入設定檔。1、require:載入一個庫,並且只載入一次,如果多次載入會返回false。只有當要載入的庫位於一個分離的檔案中時才有必要使用require。使用時不需要加副檔名,一般放在檔案的最前面:複製代碼 代碼如下:require ‘test_library'2、load:load用來多次載入一個庫,必須指定副檔名:複製代碼

Ruby實現的各種排序演算法_ruby專題

時間複雜度:Θ(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] if a[j] > a[j+1]     

Ruby實現的最短編輯距離計算方法_ruby專題

利用動態規划算法,實現最短編輯距離的計算。複製代碼 代碼如下:#encoding: utf-8#author: xu jin#date: Nov 12, 2012#EditDistance#to find the minimum cost by using EditDistance algorithm#example output:#  "Please input a string: "#  exponential#  "Please input the

Ruby實現的最優二叉尋找樹演算法_ruby專題

演算法導論上的偽碼改寫而成,加上導論的課後練習第一題的解的建構函式。複製代碼 代碼如下:#encoding: utf-8=beginauthor: xu jindate: Nov 11, 2012Optimal Binary Search Treeto find by using EditDistance algorithmrefer to <<introduction to algorithms>>example output:"k2 is the root of

Ruby熱門檔案作業碼執行個體_ruby專題

#建立一個222.rb檔案並且輸入字元file = File.open("222.rb","w+")file.puts "123\nwadwa\n12124124\ndwdw"file.close#輸出222.rb的內容File.open("222.rb","r+") do |file|while line = file.getsputs lineendend#直接用IO操作檔案IO.foreach("222.rb") do |line|puts line if line =~/abc/

Ruby遍曆檔案夾同時計算檔案的md5sum_ruby專題

#!/usr/bin/ruby -w#require 'digest/md5'if ARGV.empty? puts "usgae: #$0 path" exit 0enddir_name=ARGV.shiftdef dir_md5sum(path) md5s=Array.new if File.directory?(path) Dir.new(path).each do |file| next if file =~ /

收集的多個ruby遍曆檔案夾代碼執行個體_ruby專題

一、遍曆檔案夾下所有檔案,輸出檔案名複製代碼 代碼如下:def traverse_dir(file_path)    if File.directory? file_path        Dir.foreach(file_path) do |file|           

Ruby多線程編程初步入門_ruby專題

 傳統程式有一個單獨的線程執行,包含該程式的語句或指令順序執行直到程式終止。一個多線程的程式有多個線程的執行。在每個線程是按順序執行的,但是在多核CPU機器上線程可能並行地執行。例如,通常情況下在單一CPU的機器,多個線程實際上不是並存執行的,而是類比並行交叉的線程的執行。Ruby的可以使用 Thread 類很容易地編寫多線程程式。

詳解Ruby中的方法概念_ruby專題

 Ruby方法跟其他程式設計語言中的函數非常相似, Ruby方法用於捆綁到一個單元中的一個或多個重複的語句。方法名稱應以小寫字母開始。如果一個方法的名稱以大寫字母開始,Ruby可能會認為這是一個常數,因此可以正確解析調用。方法應該定義Ruby的之前調用他們,否則會引發一個異常未定義的方法調用。文法:def method_name [( [arg [= default]]...[, * arg [, &expr ]])] expr..end所以,可以定義一個簡單的方法如下:def

深入講解Ruby中Block代碼快的用法_ruby專題

Block定義some_array.each { |value| puts value + 3 }sum = 0other_array.each do |value| sum += value puts value / sumend     A block is somewhat like the body of an anonymous method     Block can take parameters

淺析Ruby中的DATA對象_ruby專題

這段代碼能運行嗎? 這個DATA是什麼東西?require 'erb'data = DATA.readmax = 15_000title = "hello world!"content = "hello world!\n" * 10max.times{ ERB.new(data).result(binding)}__END__<html> <head> <%= title %> </head> <body> <h1>

Ruby包管理器gem常用命令_ruby專題

gem相關命令使用1.顯示gem的協助和版本 複製代碼 代碼如下:gem –h/--help #顯示gem的協助gem –v /--version #顯示gem的版本號碼 2. 列出遠程庫的所有可用軟體 複製代碼 代碼如下:gem query --remote         # 短命令: gem q -r 你可以看到一個關於遠程主機上所有軟體的詳細列表。3. 尋找遠程主機上的特定軟體 複製代碼 代碼如下:gem

在Ruby on Rails中使用Rails Active Resource的教程_ruby專題

簡介當今的應用程式不僅需要和基於瀏覽器的用戶端互操作,還需要和其他應用程式互操作。為實現互通性,web 應用程式通常提供一個 web 服務 API。web 服務 API 通過一個網路(比如 Internet)提供對應用程式 的遠端存取。直到最近,web 服務 API 還使用重型、複雜的基於 SOAP 的 web 服務整合,這種 web 服務,不僅沒有什麼優點,而且還需要很長時間才能實現。帶有基於 Representational State Transfer (REST) 服務的 Rails

ruby判斷一個數是否為質數(素數)樣本_ruby專題

ruby判斷一個數是否為質數質數又稱素數。一個大於1的自然數,如果除了1和它自身外,不能被其他自然數整除的數;(除0以外)否則稱為合數 。根據算術基本定理,每一個比1大的整數,要麼本身是一個質數,要麼可以寫成一系列質數的乘積;而且如果不考慮這些質數在乘積中的順序,那麼寫出來的形式是唯一的。複製代碼 代碼如下:def prime?(num)  res = [1]  res << num  if num == 0 || num ==

Ruby 中$開頭的全域變數、內部變數、隱藏變數介紹_ruby專題

Ruby 中充滿了一系列的隱藏變數,我們可以從這些預定義的全域變數中擷取一些有意思的資訊。全域進程變數$$ 表示當前啟動並執行 ruby 進程。複製代碼 代碼如下:>> $$=> 17170我們可以從當前進程殺死它自己複製代碼 代碼如下:>> `kill -9 #{$$}`[1]    17170 killed     irb$? 表示最近一個子進程的狀態複製代碼 代碼如下:>>

ruby 學習筆記(2) 類的基本使用_ruby專題

ruby語言跟c#的一些重要差別在於: 1.ruby是動態語言,c#是靜態語言--即對象在new出來以後,ruby還可以動態給對象執行個體添加一些屬性或方法(javascript也是如此) 2.ruby中刻意弱化了變數類型這個概念,預設情況下變數/方法都不需要聲明具體(返回)類型,但其實在ruby內部,會自動根據變數的值配置類型。(可以通過 “puts 變數.class“查看) 3.ruby相對c#來講,可能有些雷的地方在於:父類中的private成員,居然是可以在子類中使用的!

總頁數: 85 1 .... 24 25 26 27 28 .... 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.