试图在我的.bashrc文件中设置一些别名.这个...
export alias umusic="/Volumes/180 gram/Uncompressed/"
Run Code Online (Sandbox Code Playgroud)
...得到以下错误......
-bash:cd:/ Volumes/180:没有这样的文件或目录
...当我尝试"cd $ umusic"时.
我已经尝试了各种方法来逃避目录名称中的空格,但无济于事.(180\gram,180%20gram,单引号,双引号,无引号.)我意识到最简单的解决方案是将目录重命名为"180gram",但我想知道如何解决这个特殊问题.
我在Mac上,如果这有任何区别.
在多次阅读之后,我仍然不明白Stoyan Stefanov的"JavaScript Patterns"第76页的示例代码如何工作.我还不是忍者.但对我来说,它看起来只是存储一个空对象:
var myFunc = function (param) {
if (!myFunc.cache[param]) {
var result = {};
// ... expensive operation ...
myFunc.cache[param] = result;
}
return myFunc.cache[param];
};
// cache storage
myFunc.cache = {};
Run Code Online (Sandbox Code Playgroud)
除非那个看不见的"昂贵的操作"存储回来result
,否则我看不到任何保留.
结果存储在哪里?
PS:我已经阅读了从John Resig的Learning Advanced JavaScript中获取函数的返回结果,这是一个类似的练习,我得到了那个.但这里的代码不同.
一般来说是单元测试的新手,特别是Jasmine.
我在beforeEach()
回调中设置了一个变量,但它似乎不适用于第二次测试.它应该在其上下文中的每个测试之前触发初始化的东西,对吧?我确定我的spyOn()
电话应该受到责备,但我不知道如何解决这个问题.
注释解释了传递并失败:
describe("Test suite for my library", function () {
var html,
body,
play,
...
// custom matcher...
beforeEach(function () {
this.addMatchers({
toBeInstanceOf : function (constructr) {
return this.actual instanceof constructr;
});
});
});
describe("Within the Button object", function () {
beforeEach(function () {
play = new Button("play", false);
});
describe("play", function () {
// This test passes, as expected...
it("should be an instance of the Button object", function () {
expect(play).toBeInstanceOf(Button);
}); …
Run Code Online (Sandbox Code Playgroud) javascript ×2
alias ×1
bash ×1
caching ×1
escaping ×1
hash ×1
jasmine ×1
memoization ×1
unit-testing ×1
whitespace ×1