有趣的Ruby-學習筆記3

Ruby方法

方法名要以小寫字母開頭。假設用大寫字母開頭會被作為常量 (這點非常奇怪

定義一個無參的方法

def method_name expr..
end

定義一個有參的方法

def method_name (var1, var2)expr..
end
給參數設定默認值

def method_name (var1=value1, var2=value2)expr..
end

調用方法非常easy

method_name 25, 30

返回值

非常奇特的一點是ruby竟然能夠默認把最后一個語句的值當做返回值
比方?
def testi = 100j = 10k = 0
end
在調用這種方法時。將返回最后一個聲明的變量 k。

也能夠用常規的return語句來返回值

非常有趣的是:假設給出超過兩個的表達式。包括這些值的數組將是返回值。

假設未給出表達式,nil 將是返回值

#!/usr/bin/ruby
# -*- coding: UTF-8 -*-def testi = 100j = 200k = 300
return i, j, k
end
var = test
puts var
返回

100
200
300

可變數量的參數

#!/usr/bin/ruby
# -*- coding: UTF-8 -*-def sample (*test)puts "參數個數為 #{test.length}"for i in 0...test.lengthputs "參數值為 #{test[i]}"end
end
sample "Zara", "6", "F"
sample "Mac", "36", "M", "MCA"

類方法

有一個奇怪的默認規則:當方法定義在類的外部,方法默認標記為 private。還有一方面,假設方法定義在類中的,則默認標記為 public。

Ruby alias 語句

alias 方法名 方法名
alias 全局變量 全局變量
盡管真的不知道這個有什么作用。。。

Ruby undef 語句

還能夠動態的取消方法定義(這個不僅認為沒什么用。還認為最好不要用




轉載于:https://www.cnblogs.com/wzzkaifa/p/7198837.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/371681.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/371681.shtml
英文地址,請注明出處:http://en.pswp.cn/news/371681.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

ADF:動態視圖對象

今天,我想寫有關動態視圖對象的文章,它允許我在運行時更改其數據源(SQL查詢)和屬性。 我將使用oracle.jbo.ApplicationModule :: createViewObjectFromQueryStmt方法來解決此問題。 我將逐步介紹如何執行此操作 創建視圖對象和應…

java stack list_JAVA自己實現List接口Stack

package 集合.Stack;import java.util.Arrays;import java.util.EmptyStackException;import java.util.Vector;public class MyStack {//底層數組默認長度為10private Object[] myStack new Object[10];//sizeprivate int size 0;public MyStack() {}//pushpublic Object pu…

刷題總結——序列操作(權值線段樹套樹狀數組)

題目: 題目描述 給出序列 a1,a2,…,an(0≤ai≤109),有關序列的兩種操作。 1. ai(1≤i≤n)變成 x(0≤x≤109)。 2. 求 al,al1&#xff…

原型模式Prototype

原型模式 http://www.cnblogs.com/zhili/p/PrototypePattern.html ICloneable接口 https://msdn.microsoft.com/en-us/library/system.icloneable(vvs.110).aspx Supports cloning, which creates a new instance of a class with the same value as an existing instance. Rem…

I / O神秘化

由于對高度可擴展的服務器設計的所有炒作以及對nodejs的狂熱,我一直想重點研究IO設計模式,直到現在為止都沒有足夠的時間進行投資。 現在已經做了一些研究,我認為最好記下我遇到的東西,作為對我以及可能遇到這篇文章的任何人的未來…

java三大特性 繼承_java基礎(二)-----java的三大特性之繼承

在《Think in java》中有這樣一句話:復用代碼是Java眾多引人注目的功能之一。但要想成為極具革命性的語言,僅僅能夠復制代碼并對加以改變是不夠的,它還必須能夠做更多的事情。在這句話中最引人注目的是“復用代碼”,盡可能的復用代碼使我們程…

Maven本地倉庫配置

本地倉庫是遠程倉庫的一個緩沖和子集,當你構建Maven項目的時候,首先會從本地倉庫查找資源,如果沒有,那么Maven會從遠程倉庫下載到你本地倉庫。這樣在你下次使用的時候就不需要從遠程下載了。如果你所需要的jar包版本在本地倉庫沒有…

配置CDI對話的超時

在開發JSF應用程序時,CDI對話范圍是一個很好的功能。 假設您有大型數據表,需要花費很長時間才能加載。 由于高內存消耗,您通常不希望將加載的數據放在會話范圍的Bean中。 而且,您不能將加載的數據放入視圖范圍的Bean中&#xff0c…

記錄下log4j的兩種配置方式

XML文件配置 <?xml version"1.0" encoding"UTF-8"?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4j:configuration xmlns:log4jhttp://jakarta.apache.org/log4j/><!-- 輸出到控制臺 --><appender na…

java字符串與數組比較大小_java-如何將存儲在數組中的字符串與簡單字符串進行比較?...

我想比較數組中字符串形式的學生人數與人數n這是字符串。remarque&#xff1a;班級形成&#xff1a;私有字符串代碼&#xff1b;私有字符串名稱&#xff1b;private int nbsi 0;私人學生[]標簽新學生[200]&#xff1b;班級學生&#xff1a;私有字符串號&#xff1b;私有字符串…

delphi用TAdoStoredProc調用存儲過程,兼容sql2005、2008、2014的遠程事務問題

delphi7寫的程序&#xff0c;在sql2000里沒問題&#xff0c;調用sql2008、2014里的存儲過程時&#xff0c;如果存儲過程里操作了大量數據&#xff0c;很容易會莫名其妙的自己撤銷掉&#xff0c;但是程序還識別不到&#xff0c;認為還在正常執行。今天嘗試換了個控件&#xff1a…

使用NoSQL實現實體服務–第3部分:CouchDB

在本系列的第2部分中 &#xff0c;我使用SOA的“合同優先”技術創建和部署了產品實體服務&#xff0c;現在&#xff0c;我將致力于服務實現的NoSQL數據庫方面。 正如我在第1部分中已經提到的那樣&#xff0c;我已經選擇CouchDB作為我的NoSQL數據庫&#xff0c;選擇Ektorp庫作為…

8、SpringCloud高頻面試題-版本1

1、SpringCloud組件有哪些 SpringCloud 是一系列框架的有序集合。它利用 SpringBoot 的開發便利性巧妙地簡化了分布式系統基礎設施的開發&#xff0c;如服務發現注冊、配置中心、消息總線、負載均衡、斷路器、數據監控等&#xff0c;都可以用 SpringBoot 的開發風格做到一鍵啟…

java對象不會被改變_Java 并發編程(二)對象的不變性和安全的公布對象

二、安全公布到眼下為止&#xff0c;我們重點討論的是怎樣確保對象不被公布&#xff0c;比如讓對象封閉在線程或還有一個對象的內部。當然&#xff0c;在某些情況下我們希望在多個線程間共享對象&#xff0c;此時必須確保安全地進行共享。然而&#xff0c;假設僅僅是像以下程序…

nginx 上php不可寫解決方法

在php.ini中設置的session.save_path會被php-fpm.conf中覆蓋 打開php-fpm.conf文件找到php_value[session.save_apth] 這里的/var/lib/php/session 為實際的session保存目錄&#xff0c;設置為777,必須讓其他用戶有rw權限,因為php在Linux里面以其他用戶身份運行&#xff08;匿名…

JavaOne 2012:Java策略主題演講和IBM主題演講

與 JavaOne 2010 相似&#xff0c;我對JavaOne 2012的開始也很艱難。由于“計算機和打印機技術上的困難”&#xff0c;辦理登機手續的人花了70分鐘為我提供JavaOne徽章。 盡管我不是世界上最有耐心的人&#xff0c;但比等待更令人失望的是&#xff0c;我錯過了參加“社區會議&a…

java citymap_Java實現Map集合二級聯動

Map集合可以保存鍵值映射關系&#xff0c;這非常適合本實例所需要的數據結構&#xff0c;所有省份信息可以保存為Map集合的鍵&#xff0c;而每個鍵可以保存對應的城市信息&#xff0c;本實例就是利用Map集合實現了省市級聯選擇框&#xff0c;當選擇省份信息時&#xff0c;將改變…

【NIO】之IO和NIO的區別

在Java1.4之前的版本&#xff0c;Java對I/O的支持并不完善&#xff0c;開發人員在開發高性能I/O程序的時候&#xff0c;會面臨以下幾個問題&#xff1a; 1、沒有數據緩存區&#xff0c;I/O性能存在問題 2、沒有C/C通道的概念&#xff0c;輸入和輸出流是相互獨立的不能復用 3、同…

Mono環境下訪問SSL

由于MONO沒有CA證書&#xff0c;所以訪問SSL鏈接&#xff08;HTTPS&#xff09;就會出錯&#xff0c;這時候只要強制訪問就可以。 using System.Net.Security;using System.Security.Authentication;using System.Security.Cryptography.X509Certificates; private static bool…

JavaOne 2012:使用HTML5和Java構建移動應用程序

我返回了Parc 55 &#xff08;任務會議室&#xff09;&#xff0c;觀看Max Katz的&#xff08; Exadel開發人員關系&#xff09;“用HTML5和Java構建移動應用程序” Bird-of-Feather&#xff08;BoF&#xff09;演示。 具體來說&#xff0c;Katz在Tiggzi &#xff08;基于云的應…