我正在做一个功课,要求我检查学生是否超过18岁.我的功能是这样的:
bool Student::isOverEighteen() {
int date[3]; // D/M/Y
char *pdata;
pdata = strtok(Anagrafica::birth, "/"); // Anagrafica is the base class
for (short i = 0; pdata != NULL; i++) {
data[i] = pdata;
pdata = strtok(NULL, "/");
}
time_t t = time(NULL);
tm *locale = localtime(&t);
if (data[0] < locale->tm_mday &&
(data[1] < locale->tm_mon + 1 || data[1] == locale->tm_mon + 1) &&
(locale->tm_year + 1900 - data[3] > 18))
{
return true;
} else {
return false;
}
} …Run Code Online (Sandbox Code Playgroud) 说我有这个功能:
inline bool fileExists(const char *name) {
FILE *file;
if (fopen_s(&file, name, "r") == 0)
{
fclose(file);
return true;
} else {
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
最好是做上面这个,还是这个呢?
inline bool fileExists(const char *name) {
FILE *file;
if (fopen_s(&file, name, "r") == 0)
{
fclose(file);
return true;
}
return false;
}
Run Code Online (Sandbox Code Playgroud)
编译时有区别吗?
我在IBM环境中工作,特别是AS400机器和DB2数据库.
我的下一个任务是将每个可能的文件从PF和LF转换为SQL(例如,CREATE TABLE ...和CREATE VIEW ...).
我不能这样做的情况吗?
我知道对于多记录格式文件你不能,是真的吗?
我目前正在forkJoin等待Observable(s)数组在pipe(ing)和tap(ping)之前完成。
我注意到如果数组为空,则什么也不会发出,甚至也不能tap。我该如何解决这类问题?我应该只检查数组是否为空吗?
myFirstFunction(...) {
const observables = ...
return forkJoin(observables)
}
mySecondFunction(...) {
return myFirstFunction().pipe(tap(() => ...))
}
Run Code Online (Sandbox Code Playgroud) 目前我已经建立了一个MatTable可扩展的行:
<!-- Hidden cell -->
<ng-container matColumnDef="expandedDetail">
<td mat-cell *matCellDef="let myModel" [attr.colspan]="displayedColumns.length">
<div
class="detail-cell"
[@detailExpand]="myModel.isExpanded ? 'expanded' : 'collapsed'"
>
<my-inner-component
...
></my-inner-component>
</div>
</td>
</ng-container>
Run Code Online (Sandbox Code Playgroud)
和行:
<!-- Hidden row -->
<tr
mat-row
*matRowDef="let myModel; columns: ['expandedDetail']"
></tr>
Run Code Online (Sandbox Code Playgroud)
可扩展行附加了动画:
animations: [
trigger('detailExpand', [
state('collapsed, void', style({ height: '0px', minHeight: '0', display: 'none' })),
state('expanded', style({ height: '*' })),
transition('expanded <=> collapsed', animate('225ms cubic-bezier(0.4, 0.0, 0.2, 1)'))
])
]
Run Code Online (Sandbox Code Playgroud)
由于我显示了很多行,这my-inner-component是一个沉重的组成部分,我希望仅在行展开时才创建它。
所以我补充说:
*ngIf="myModel.isExpanded"
Run Code Online (Sandbox Code Playgroud)
到包含div.
然而,动画显然中断了。
我怎么解决这个问题?如果可能的话,我想保持动画。
假设我有一个界面,例如:
interface MyInterface {
myProperty: {
one: number
two: string
}
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能Pick myProperty字段?这可能吗?
想要的结果应该是:
{
one: number
two: string
}
Run Code Online (Sandbox Code Playgroud)
这样在使用类型时:
type MyType = ...
const t: MyType = ...
t.one = ...
Run Code Online (Sandbox Code Playgroud) 当测试 a 的 DOM 表示时@Component,您可以通过其固定装置查询其嵌套元素
fixture.debugElement.queryAll(By.css('.example'));
Run Code Online (Sandbox Code Playgroud)
您还可以按以下条件过滤@Directive
fixture.debugElement.queryAll(By.directive(RouterLinkDirectiveStub));
Run Code Online (Sandbox Code Playgroud)
现在,假设你有一个@Component NzButtonComponent像这样使用的内部
<button nz-button>Example</button>
Run Code Online (Sandbox Code Playgroud)
怎样才能精确查询到呢?没有By.component(...)。
使用自定义 Angular Builder,我尝试将整个模块排除在缩小/优化之外。
Webpack.md文件说
类型
:String|RegExp|Array 默认值:undefined要排除的文件。
我可以使用此设置来排除整个目录(即节点模块)吗?
当前的代码是
export default class CustomizeTerserBrowserBuilder extends BrowserBuilder {
public buildWebpackConfig(root: any, projectRoot: any, host: any, options: any): any {
const webpackConfig = super.buildWebpackConfig(root, projectRoot, host, options);
if (
webpackConfig.optimization &&
webpackConfig.optimization.minimizer &&
Array.isArray(webpackConfig.optimization.minimizer)
) {
const terserPlugin = (webpackConfig.optimization.minimizer as any[]).find(
minimizer => minimizer instanceof TerserPlugin
);
if (terserPlugin) {
terserPlugin.options.exclude = [/node_modules/];
}
}
return webpackConfig;
}
}
Run Code Online (Sandbox Code Playgroud) single-page-application typescript ecmascript-6 webpack angular
我想class从现有的类式JavaScript 创建一个新的扩展function
function MyFunctionClass() { }
MyFunctionClass.prototype.myMethod = function(str) {
console.log(str);
};
Run Code Online (Sandbox Code Playgroud)
我写了这段简单的代码
class Test extends MyFunctionClass {
constructor() {
super();
}
}
let t = new Test();
t.myMethod('Test');
Run Code Online (Sandbox Code Playgroud)
令人惊讶的是,它确实有效,因为它可以打印Test并且不会引发运行时错误。
但是,TypeScript游乐场告诉我
类型'()=> void'不是构造函数类型。
我可以安全地忽略此错误并在生产中使用该代码吗?
angular ×3
typescript ×3
c++ ×2
angular-test ×1
class ×1
coding-style ×1
db2 ×1
ecmascript-6 ×1
file ×1
ibm-midrange ×1
if-statement ×1
return ×1
rpg ×1
rpgle ×1
rust ×1
rxjs ×1
styles ×1
webpack ×1