Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
microsoft
GitHub Repository: microsoft/vscode
Path: blob/main/extensions/copilot/src/extension/test/node/fixtures/pseudodiff/12-insertmethod-one.diff
13406 views
1
class Histogram {
2
filename: string
3
index: number
4
rows: string[][] = []
5
members: number[] = []
6
histogram: Map<number, number> = new Map()
7
constructor(filename: string, index: number) {
8
this.filename = filename;
9
this.index = index;
10
}
11
readFile() {
12
const s = fs.readFileSync(this.filename, 'utf8')
13
this.rows = s.split('\n').map(line => line.split(','));
14
}
15
extractMembers() {
16
this.members = this.rows.map(row => Number(row[this.index]));
17
}
18
countMembers() {
19
this.histogram = new Map()
20
for (const m of this.members) {
21
this.histogram.set(m, (this.histogram.get(m) || 0) + 1);
22
}
23
}
24
printHistogram() {
25
for (const [m, c] of Array.from(this.histogram)) {
26
console.log(`${m}: ${'#'.repeat(c)}`);
27
}
28
}
29
+ run() {
30
+ this.readFile();
31
+ this.extractMembers()
32
+ this.countMembers()
33
+ this.printHistogram()
34
+ }
35
}
36
37
- new Histogram('input.csv', 0);
38
+ const histogram = new Histogram('input.csv', 0);
39
+ histogram.run();
40