4
有人能告訴我我在做什麼錯嗎?測試將'計算'功能視爲未定義,我完全不知道爲什麼。Exerciseism> Javascript>海明鍛鍊:獲取'未定義不是函數'錯誤
這是我得到的錯誤:
Failures:
1) Hamming no difference between identical strands
Message:
TypeError: undefined is not a function
Stacktrace:
TypeError: undefined is not a function
at null.<anonymous> (C:\Users\Schann\exercism\javascript\hamming\hamming_test.spec.js:6:12)
2) Hamming complete hamming distance for single nucleotide strand
Message:
TypeError: undefined is not a function
Stacktrace:
TypeError: undefined is not a function
at null.<anonymous> (C:\Users\Schann\exercism\javascript\hamming\hamming_test.spec.js:10:12)
Finished in 0.041 seconds
2 tests, 2 assertions, 2 failures, 0 skipped
//-------------------
// Hamming.js
//-------------------
var Hamming = function() {
var compute = function(input1, input2) {
var diff = 0;
for (i = 0; i < input1.length; i++) {
if (input1[i] != input2[i]) {
diff = diff + 1;
};
};
return diff;
};
};
module.exports = Hamming;
//-------------------
// hamming_test.spec.js
//-------------------
var compute = require('./hamming').compute;
describe('Hamming', function() {
it('no difference between identical strands', function() {
expect(compute('A', 'A')).toEqual(0);
});
it('complete hamming distance for single nucleotide strand', function() {
expect(compute('A','G')).toEqual(1);
});
[rest truncated]
});
你的猜測是現貨。我還沒有完全習慣JavaScript編碼風格。謝謝! – 2014-10-30 14:19:05
這條線會發生什麼? var compute = require('./ hamming')。compute; – Jwan622 2015-04-15 05:03:10
@ Jwan622:'require('./ hamming')'評估爲我們上面導出的Hamming對象; '.compute'訪問它的'compute'成員。 – 2015-08-28 15:24:34