Time of Update: 2017-01-13
我試圖通過 rbenv 安裝 Ruby,但失敗了,錯誤如標題所示。Ruby-build 上有人報告類似的錯誤,作者也在 wiki 上給出相應的環境要求說明。但裡面並沒有提到 openSUSE 系統。依他們的思路,我尋找了 openSUSE 下的相應 openssl 包:$ zypper se openssl找到的有 libopenssl-devel 等,$ sudo zypper in libopenssl-devel之後再通過 rbenv 安裝:$ rben install 2.0.0-p35
Time of Update: 2017-01-13
例1require 'net/smtp'require 'iconv'def send_email(from, from_alias, to, to_alias, subject, content)subject_n = Iconv.conv('utf-8','gbk',subject)msg = <<MESSAGE_ENDFrom: #{from_alias} <#{from}>To: #{to_alias} <#{to}>MIME-Version: 1.0
Time of Update: 2017-01-13
1.Block: Ruby中的塊就是由多行程式碼群組成的一個代碼塊,通常可以把它認為是一個匿名方法,常用來迭代一個數組或範圍(如each, times方法);文法格式如下: 代碼如下複製代碼 {
Time of Update: 2017-01-13
1,與java,c#等語言中的try…catch…finally…throw 相對應, ruby中用begin/end …rescue…ensure … raise 來處理異常,retry可以用在rescue中。可以只用rescue或是ensure,兩者都使用時,rescue必須在ensure前。2,$arr <<num
Time of Update: 2017-01-18
有了rbenv來管理多版本的ruby環境,我們還需要一個能管理多版本gem(比如rails)的工具,那就是bundler了,項目背景不細說了,需要瞭解的直接到官網http://bundler.io/,這裡只講一些實際使用經驗。安裝gem install bundler使用mkdir app1; cd app1;echo "source 'https://ruby.taobao.org/'" > Gemfileecho "gem 'rails,'4.1.0'" >>
Time of Update: 2017-01-18
Proc對象Proc是由塊轉換來的對象。建立一個Proc共有四種方法,分別是:範例程式碼# 法一inc = Proc.new { | x | x + 1}inc.call(2) #=> 3# 法二inc = lambda {| x | x + 1 }inc.call(2) #=> 3# 法三inc = ->(x) { x + 1}inc.call(2) #=> 3# 法四inc = proc {|x| x + 1 }inc.call(2) #=>
Time of Update: 2017-01-18
代理模式Proxy代理模式是一種結構型設計模式,主要解決的問題是:在直接存取對象時帶來的問題,比如說:要訪問的對象在遠端機器上。在物件導向系統中,有些對象由於某些原因(比如對象建立開銷很大,或者某些操作需要安全控制,或者需要進程外的訪問),直接存取會給使用者或者系統結構帶來很多麻煩,我們可以在訪問此對象時加上一個對此對象的訪問層。如下圖:
Time of Update: 2017-01-18
一般來說,觀察者模式的定義應該是這樣的:building a clean interface between the source of news that some object has changed and the consumers of that news。觀察者模式在訊息的生產者和消費者之間建立了clean
Time of Update: 2017-01-18
max方法b=[1,3,55,777,2,4,6,8,0]對於數值型的資料,max會得到數組的最大值,min得到數組的最小值b.max => 777b.min => 0而對於字串型數組比較大小沒有實際意義,ruby中給出的例子是# enum.max -> obj# enum.max { |a, b| block } -> obj#a = %w(albatross dog horse)#a.max => "horse"# a.max
Time of Update: 2017-01-18
Rake簡介 Rake的意思是Ruby Make,一個用ruby開發的代碼構建工具.但是,為什麼Ruby需要Rake? 按理說Ruby代碼無需編譯,應該不需要Rake才對呀?原來,Rake另有妙用,即把Rake當做一個任務管理工具來使用...這樣做有兩個好處:1.以任務的方式建立和運行指令碼
Time of Update: 2017-01-18
何為面板模式? 面板模式為子系統中一組不同的介面提供統一的介面。外觀定義了上層介面,通過降低複雜度和隱藏子系統間的通訊以及依存關係,讓子系統更加便於使用。
Time of Update: 2017-01-18
讓我們編寫一個簡單的 Ruby 程式。所有的 Ruby 副檔名都是 .rb。所以,把下面的原始碼放在 test.rb 檔案中。執行個體#!/usr/bin/ruby -wputs "Hello, Ruby!";在這裡,假設您的 /usr/bin 目錄下已經有可用的 Ruby 解譯器。現在,嘗試運行這個程式,如下所示:$ ruby test.rb這將會產生下面的結果:Hello, Ruby!您已經看到了一個簡單的 Ruby 程式,現在讓我們看看一些 Ruby 文法相關的基本概念:Ruby
Time of Update: 2017-01-18
把 mails 命名為 SomethingMailer。 沒有 Mailer 字根的話,不能立即顯現哪個是一個 Mailer,以及哪個視圖與它有關。 提供 HTML 與純文字視圖模版。 在你的開發環境啟用信件失敗發送錯誤。這些錯誤預設是被停用的。 # config/environments/development.rb
Time of Update: 2016-10-25
標籤:stomp date 安裝 extra schedule rest upd tor 環境變數 下載 rubyinstaller。連結:http://rubyinstaller.o
Time of Update: 2016-12-21
標籤:var class 編程 初步 object 子類 使用 原則 環境 Ruby中的類變數,很多文章都是不太建議使用的,主要原因在於他的一些特性容易導致犯一些錯誤,尤其在廣泛使用元編程的時候
Time of Update: 2016-12-20
標籤:ruby awk 直接上代碼#!/usr/bin/env ruby#encoding: utf-8filename = ARGV[0]file = File.open(filename)=begin逐列列印=endfile.each_line do |line| myline = line.chomp!
Time of Update: 2016-12-01
標籤:model test undle cmd port 環境 mod pps exe #api 新規作成rails new companyname-projectname-web-api --
Time of Update: 2016-11-11
標籤:掃碼 二維碼掃碼登陸 最近在做一個掃碼登入功能,為此我還在網上搜了一下關於的掃描登入的實現方式。當這個功能完成了後,我決定將整個實現思路整理出來,方便自己以後查看也方便其他有類似需求的程式猿些。要實現掃碼登入我們需要解決兩個問題:1. 在沒有輸入使用者名稱及密碼的情況下,如何解決許可權安全問題?換句話講,如何讓伺服器知道掃碼二維碼的用戶端是一個合法的使用者?2. 伺服器根據使用者
Time of Update: 2016-09-06
標籤:scanGogs.rb#!/usr/bin/env rubyrequire ‘open-uri‘require ‘thread‘require ‘english‘# configsCONFIG_IPDOMAIN = ‘30.93.41.‘CONFIG_RANGE = (2..254)CONFIG_URITEMPLATE = ‘http://%s:3000/user/login‘# ttyTTY_FG = { Black: 30, Red: 31, Green: 32, Yellow: 33
Time of Update: 2016-05-09
標籤:一、類變數在ruby中,可以為類定義類變數,類變數的值為類的所有執行個體(對象)所共用。有點類似其它語言(如java)中的靜態變數,但與java中的靜態變數的區別是,類變數是私人的,無法在類的外部存取,只能通過類的方法訪問。類變數通過 @@符號來標識(連續的兩個@符號)。舉例說明:class Demo @@a = 1 def plus @@a += 1 end def print puts @@a endend