Octave 程式設計教程/結構體陣列
外觀
第一章:教程介紹
第二章:基本 Octave 概念
第三章:資料儲存和操作
資料型別和點值操作
陣列和矩陣
第四章:M 檔案程式設計
第五章:圖形
第六章:數學操作
線性代數
微分方程
第七章:示例
Octave 中的結構體將不同資料型別稱為欄位,組合成一個物件。欄位透過其名稱訪問。
結構體透過為其欄位賦值來宣告。句點 (.) 分隔欄位名稱和結構體名稱
>> city.name = 'Liege'; >> city.country = 'Belgium'; >> city.longitude = 50.6333; >> city.latitude = 5.5666;
結構體的欄位及其值可以透過簡單地輸入結構體的名稱來顯示
>> city
city =
{
name = Liege
country = Belgium
longitude = 50.633
latitude = 5.5666
}
結構體可以像任何物件一樣被複制
>> city_copy = city;
在大多數情況下,結構體的欄位可以使用句點運算子進行操作。欄位的值可以透過以下方式覆蓋
>> city.name = 'Outremeuse';
同樣,欄位的值可以透過以下方式檢索
>> city.name ans = Outremeuse
函式 isstruct 可用於測試物件是否為結構體。使用函式 fieldnames,所有欄位名稱將作為元胞陣列返回
>> fieldnames(city)
ans =
{
[1,1] = name
[2,1] = country
[3,1] = longitude
[4,1] = latitude
}
要測試結構體是否包含給定名稱的欄位,可以使用函式 isfield
>> isfield(city,'name') ans = 1
可以使用 getfield 提取欄位的值
>> getfield(city,'name') ans = Liege
類似地,可以使用 setfield 設定欄位的值
>> setfield(city,'name','Outremeuse')
函式 isfield、getfield 和 setfield 在結構體名稱在程式執行期間確定時非常有用。