gpt4 book ai didi

class - 如何访问/读取 Octave 中的类实例属性?

转载 作者:行者123 更新时间:2023-12-01 11:38:09 26 4
gpt4 key购买 nike

创建一个类似于 example 中的类我像这样将参数附加到类实例

function t = train (m, F_z, F_b, varargin)
...
t.m = m; % total mass of train [kg]
t.F_z = F_z; % ...
...
t = class (t, "train");

获取字段名有效

>> t1 = train(100, 150000, 200000);
...
>> fieldnames(t1)
ans =
{
[1,1] = m
[2,1] = F_z
...

但是我如何访问这些?显然不是

>> t1.m
error: invalid index for class
>> getfield(t1, 'm')
error: invalid index for class
error: called from
...

如果我省略了 t = class (t, 'train'); 这一行在 function t = train (m... 的末尾在 @train/train.m这些东西似乎都工作正常......但是它是struct而不是 class

最佳答案

一种快速而肮脏的方法是在 Octave 音程中打破 OOP 哲学。无需定义 subsrefgetter 方法。要访问字段,只需将对象转换为 struct as

>> t1 = train(100, 150000, 200000);
>> t1_easy = struct(t1);
>> t1_easy.m
>> t1_easy.F_z

关于class - 如何访问/读取 Octave 中的类实例属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25217757/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com