Ruby Struct 結構體的使用

2021-07-15 19:56:22 字數 777 閱讀 7252

struct 結構體的使用

結構體類。由struct.new生成該類的子類。在子類中使用new方法就可以生成構造體。構造體子類中定義了構造體成員的訪問方法

n = struct.new("n", :name, :age)

obj = n.new("hello",6)

=》 #

obj.class

=> struct::n

obj.name

=> "hello"

obj.age

=> 6

如果看不懂可以分解開來

module

m class

n attr_accessor

:name ,:age

definitialize(name,age)

@name = name

@age = age

endendend

fred = m::n.new(「hello」,6)

fred.class

=>m::n

fred.name

=>"hello"

fred.age

=>6

只是將struct換成了m

在結構體一般是用來儲存資料的型別的一種寫法,而ruby給我們提供了一種非常便捷的寫法。這也是ruby的魅力之處吧!

上面的只是便於記憶,其實本質還是不同的,可以參考一下了解具體的特性

ruby查考手冊struct

Golang中的「繼承」,結構體中匿名成員的使用

最近在看 的時候,看到有結構體中使用匿名成員,在網上查閱一些資料後發現這類似其他語言中的繼承,通過乙個例子簡單總結一下。結構體不多做介紹,這裡直接看匿名成員使用的 示例 type people struct type worker struct我們建立了兩個結構體people和worker,其中wo...

結構體型別 結構體變數 結構體陣列 結構體指標

問題1 一元錢換為1 2 5分的硬幣,有多少種兌換方?本題要點分析及參 對各種可能情況進行一一測試。這是實現迴圈的一種方式 窮舉法 但實際上只有只有餘額才能兌換成其它面值的硬幣 main 注意換行的控制和每列的對齊 問題3 某鐵路線上有10個站,需要準備多少種客票?main b a 0 p prin...

結構體 結構體陣列

void test 函式遞迴呼叫 允許函式體裡再次呼叫函式本身 使用遞迴一定要有出口 long fact int n return n fact n 1 定義乙個新的資料型別 struct mypoint 結構體型別所占用的記憶體空間是最大資料型別的整數倍。因為結構體型別的變數在分配記憶體時有記憶體...