更新:最小示例代码复制
我有自动生成的代码(Graphql-Codegen),可以生成以下类型。为了简单起见,我将其压缩了。
export type AccessControlList = {
__typename?: 'AccessControlList';
id: Scalars['Int'];
subscriber: Scalars['Int'];
subscriberRel: MasterSubscriberData;
};
export type Query = {
__typename?: 'Query';
workOrders: Array<WorkOrdersGroupBy>;
viewer: AccessControlAccounts;
};
Run Code Online (Sandbox Code Playgroud)
由于我只对此示例的查看器感兴趣,因此我使用 Typescript Pick 选择它
export type ViewerType = Pick<Query, 'viewer'>;
Run Code Online (Sandbox Code Playgroud)
它还会自动为需要 AccessControlAccounts 中某些但不是所有可能字段的查询生成专用类型,并且我需要的字段也有所不同。我在这里省略了 MasterSubscriberData 的类型定义,但可以在下面推断出来(但本示例并不真正需要)
不同的查询需要访问查询结构的不同部分,因此为每个不同的查询生成不同的类型,例如
export type LeadSourcesQuery =
{ __typename?: 'Query',
viewer: { __typename?: 'AccessControlAccounts',
AccessControlList: Array<{ __typename?: 'AccessControlList',
subscriberRel: { __typename?: 'MasterSubscriberData',
LeadSources: Array<{ __typename?:
'LeadSources', id: number> }
}>
}
};
Run Code Online (Sandbox Code Playgroud)
我正在尝试创建一个通用函数,它可以返回对常用访问的深层嵌套对象的引用,而不管传递的子查询类型如何(例如LeadSourcesQuery等)。我想出的方法可以在运行时运行,但无法通过 Typescript 静态检查。
// …Run Code Online (Sandbox Code Playgroud) 当我使用下面的代码.我得到了正确导出的数值数据,但是当每列的第一行应该有标题(标题)时,第一行是空白的.有解决方案吗
clc
clear
filename = 'file.csv';
fileID = fopen(filename,'wt');
%**************************************************************************
%Sample data (note sample data are transposed row, i.e. columns)
sample1 = [1,2,3,4]';
sample2 = [332.3, 275.8, 233.3, 275]';
sample3 = [360, 416.7, 500, 360]';
sample4= [-0.9, -0.9, -0.9, -0.9]';
sample5 = [ 300000, 0, 0, 0]';
A ={'text1','text2', 'text3', 'text4', 'text5'}; %'
%***************************************************************************
%write string to csv
[rows, columns] = size(A);
for index = 1:rows
fprintf(fileID, '%s,', A{index,1:end-1});
fprintf(fileID, '%s\n', A{index,end});
end
fclose(fileID);
%***************************************************************************
%write numerical data to csv …Run Code Online (Sandbox Code Playgroud)