【Ruby】Ruby 類案例

閱讀目錄

  • Ruby類案例
  • 保存并執行代碼

Ruby類案例

下面將創建一個名為 Customer 的 Ruby 類,聲明兩個方法:

  • display_details:該方法用于顯示客戶的詳細信息。
  • total_no_of_customers:該方法用于顯示在系統中創建的客戶總數量。

實例

#!/usr/bin/rubyclass Customer@@no_of_customers=0def initialize(id, name, addr)@cust_id=id@cust_name=name@cust_addr=addrenddef display_details()puts "Customer id #@cust_id"puts "Customer name #@cust_name"puts "Customer address #@cust_addr"enddef total_no_of_customers()@@no_of_customers += 1puts "Total number of customers: #@@no_of_customers"end
end

display_details?方法包含了三個 puts 語句,顯示了客戶 ID、客戶名字和客戶地址。其中,puts 語句:

puts "Customer id #@cust_id"

將在一個單行上顯示文本 Customer id 和變量 @cust_id 的值。

當您想要在一個單行上顯示實例變量的文本和值時,您需要在 puts 語句的變量名前面放置符號(#)。文本和帶有符號(#)的實例變量應使用雙引號標記。

第二個方法,total_no_of_customers,包含了類變量 @@no_of_customers。表達式 @@no_of_ customers+=1 在每次調用方法 total_no_of_customers 時,把變量 no_of_customers 加 1。通過這種方式,您將得到類變量中的客戶總數量。

現在創建兩個客戶,如下所示:

cust1=Customer.new("1", "John", "Wisdom Apartments, Ludhiya")
cust2=Customer.new("2", "Poul", "New Empire road, Khandala")

在這里,我們創建了 Customer 類的兩個對象,cust1 和 cust2,并向 new 方法傳遞必要的參數。當 initialize 方法被調用時,對象的必要屬性被初始化。

一旦對象被創建,您需要使用兩個對象來調用類的方法。如果您想要調用方法或任何數據成員,您可以編寫代碼,如下所示:

cust1.display_details()
cust1.total_no_of_customers()

對象名稱后總是跟著一個點號,接著是方法名稱或數據成員。我們已經看到如何使用 cust1 對象調用兩個方法。使用 cust2 對象,您也可以調用兩個方法,如下所示:

cust2.display_details()
cust2.total_no_of_customers()

保存并執行代碼

現在,把所有的源代碼放在 main.rb 文件中,如下所示:

實例

#!/usr/bin/rubyclass Customer@@no_of_customers=0def initialize(id, name, addr)@cust_id=id@cust_name=name@cust_addr=addrenddef display_details()puts "Customer id #@cust_id"puts "Customer name #@cust_name"puts "Customer address #@cust_addr"enddef total_no_of_customers()@@no_of_customers += 1puts "Total number of customers: #@@no_of_customers"end
end# 創建對象
cust1=Customer.new("1", "John", "Wisdom Apartments, Ludhiya")
cust2=Customer.new("2", "Poul", "New Empire road, Khandala")# 調用方法
cust1.display_details()
cust1.total_no_of_customers()
cust2.display_details()
cust2.total_no_of_customers()

這將產生以下結果:

Customer id 1
Customer name John
Customer address Wisdom Apartments, Ludhiya
Total number of customers: 1
Customer id 2
Customer name Poul
Customer address New Empire road, Khandala
Total number of customers: 2

?

轉載于:https://www.cnblogs.com/haizhibin1989/p/9160250.html

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

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

相關文章

[pytorch、學習] - 5.6 深度卷積神經網絡(AlexNet)

參考 5.6 深度卷積神經網絡(AlexNet) 在LeNet提出后的將近20年里,神經網絡一度被其他機器學習方法超越,如支持向量機。雖然LeNet可以在早期的小數據集上取得好的成績,但是在更大的真實數據集上的表現并不盡如人意。一方面,神經網絡計算復雜。雖然20世紀…

Springboot---Model,ModelMap,ModelAndView

Model(org.springframework.ui.Model) Model是一個接口,包含addAttribute方法,其實現類是ExtendedModelMap。 ExtendedModelMap繼承了ModelMap類,ModelMap類實現了Map接口。 public class ExtendedModelMap extends M…

東南亞支付——柬埔寨行

考察時間:2018.5.28 至 2018.6.6 為了解柬埔寨大概國情和市場,在柬埔寨開展了為期近10天的工作。 觀察了交通情況,周邊街道的店面與商品,攤販等,也走訪了大學校區,看了永旺商超、本地超市和中國超市&#x…

Puzzle (II) UVA - 519

題目鏈接: https://vjudge.net/problem/UVA-519 思路: 剪枝回溯 這個題巧妙的是他按照表格的位置開始搜索,也就是說表格是定的,他不斷用已有的圖片從(0,0)開始拼到(n-1,m-1) 剪枝的地方: 1.由于含F的面只能拼到邊上&am…

[pytorch、學習] - 5.7 使用重復元素的網絡(VGG)

參考 5.7 使用重復元素的網絡(VGG) AlexNet在LeNet的基礎上增加了3個卷積層。但AlexNet作者對它們的卷積窗口、輸出通道數和構造順序均做了大量的調整。雖然AlexNet指明了深度卷積神經網絡可以取得出色的結果,但并沒有提供簡單的規則以指導…

springboot---mybits整合

配置 POM文件 <parent> <groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.5.6.RELEASE</version><relativePath /> </parent><properties><proj…

使用airdrop進行文件共享

使用airdrop進行文件共享 學習了&#xff1a; https://support.apple.com/zh-cn/HT203106 https://zh.wikihow.com/%E5%9C%A8Mac%E4%B8%8A%E7%94%A8%E8%BF%91%E6%9C%BA%E6%8D%B7%E4%BC%A0%EF%BC%88Airdrop%EF%BC%89%E5%85%B1%E4%BA%AB%E6%96%87%E4%BB%B6 轉載于:https://www.cn…

【鏈表】逆序打印鏈表

1 public class Main {2 3 // 逆序打印鏈表4 public void reversePrint(Node node) {5 if (node null){6 return;7 }8 reversePrint(node.next);9 System.out.println(node.data); 10 } 11 12 public Node crea…

[pytorch、學習] - 5.8 網絡中的網絡(NiN)

參考 5.8 網絡中的網絡&#xff08;NiN&#xff09; 前幾節介紹的LeNet、AlexNet和VGG在設計上的共同之處是&#xff1a;先以由卷積層構成的模塊充分抽取空間特征&#xff0c;再以由全連接層構成的模塊來輸出分類結果。其中&#xff0c;AlexNet和VGG對LeNet的改進主要在于如何…

springboot---集成mybits方法

SpringBoot集成mybatis配置 一個有趣的現象&#xff1a;傳統企業大都喜歡使用hibernate,互聯網行業通常使用mybatis&#xff1b;之所以出現這個問題感覺與對應的業務有關&#xff0c;比方說&#xff0c;互聯網的業務更加的復雜&#xff0c;更加需要進行靈活性的處理&#xff0c…

jQuery源碼解讀

參考 &#xff1a; https://www.cnblogs.com/yuqingfamily/p/5785593.html 轉載于:https://www.cnblogs.com/wfblog/p/9172622.html

info.plist文件里面添加描述 - 配置定位,相冊等

<key>NSAppleMusicUsageDescription</key> <string>App需要您的同意,才能訪問媒體資料庫</string> <key>NSBluetoothPeripheralUsageDescription</key> <string>App需要您的同意,才能訪問藍牙</string> <key>NSCalendar…

[pytorch、學習] - 5.9 含并行連結的網絡(GoogLeNet)

參考 5.9 含并行連結的網絡&#xff08;GoogLeNet&#xff09; 在2014年的ImageNet圖像識別挑戰賽中&#xff0c;一個名叫GoogLeNet的網絡結構大放異彩。它雖然在名字上向LeNet致敬&#xff0c;但在網絡結構上已經很難看到LeNet的影子。GoogLeNet吸收了NiN中網絡串聯網絡的思…

mybits注解詳解

一、mybatis 簡單注解 關鍵注解詞 &#xff1a; Insert &#xff1a; 插入sql , 和xml insert sql語法完全一樣 Select &#xff1a; 查詢sql, 和xml select sql語法完全一樣 Update &#xff1a; 更新sql, 和xml update sql語法完全一樣 Delete &#xff1a; 刪除sql, 和xml d…

使用python裝飾器計算函數運行時間的實例

使用python裝飾器計算函數運行時間的實例 裝飾器在python里面有很重要的作用&#xff0c; 如果能夠熟練使用&#xff0c;將會大大的提高工作效率 今天就來見識一下 python 裝飾器&#xff0c;到底是怎么工作的。 本文主要是利用python裝飾器計算函數運行時間 一些需要精確的計算…

SQLServer用存儲過程實現插入更新數據

實現 1&#xff09;有同樣的數據&#xff0c;直接返回&#xff08;返回值&#xff1a;0&#xff09;。 2&#xff09;有主鍵同樣。可是數據不同的數據。進行更新處理&#xff08;返回值&#xff1a;2&#xff09;&#xff1b; 3&#xff09;沒有數據&#xff0c;進行插入數據處…

[pytorch、學習] - 9.1 圖像增廣

參考 9.1 圖像增廣 在5.6節(深度卷積神經網絡)里我們提過,大規模數據集是成功應用神經網絡的前提。圖像增廣(image augmentation)技術通過對訓練圖像做一系列隨機改變,來產生相似但又不相同的訓練樣本,從而擴大訓練數據集的規模。圖像增廣的另一種解釋是,隨機改變訓練樣本可以…

mysql綠色版安裝

導讀&#xff1a;MySQL是一款關系型數據庫產品&#xff0c;官網給出了兩種安裝包格式&#xff1a;MSI和ZIP。MSI格式是圖形界面安裝方式&#xff0c;基本只需下一步即可&#xff0c;這篇文章主要介紹ZIP格式的安裝過程。ZIP Archive版是免安裝的。只要解壓就行了。 一、首先下…

在微信瀏覽器字體被調大導致頁面錯亂的解決辦法

iOS的解決方案是覆蓋掉微信的樣式&#xff1a; body { /* IOS禁止微信調整字體大小 */-webkit-text-size-adjust: 100% !important; } 安卓的解決方案是通過 WeixinJSBridge 對象將網頁的字體大小設置為默認大小&#xff0c;并且重寫設置字體大小的方法&#xff0c;讓用戶不能在…

[pytorch、學習] - 9.2 微調

參考 9.2 微調 在前面得一些章節中,我們介紹了如何在只有6萬張圖像的Fashion-MNIST訓練數據集上訓練模型。我們還描述了學術界當下使用最廣泛規模圖像數據集ImageNet,它有超過1000萬的圖像和1000類的物體。然而,我們平常接觸到數據集的規模通常在這兩者之間。 假設我們想從圖…