小编ten*_*npn的帖子

Helm在日晒黑暗中选择难以理解的高光颜色

在使用冰柱很长一段时间后,我正在试验舵.

我大部分时间默认使用流行的曝光深色配色方案,并且helm似乎选择了特别难以理解的颜色:

掌舵中暗黑色

...我怎么能建议掌舵选择更有用的颜色?希望当我切换到日光灯时也能正常工作.

emacs color-scheme emacs-helm

6
推荐指数
1
解决办法
1659
查看次数

避免在通用黑板的拳击

黑板是在运行时存储和获取通用键值对的对象.它可以通过a实现Dictionary<object,object>.有些子系统写入黑板,让其他子系统从中读取.

存储黑板的系统不知道其中包含什么类型的对象,何时.特定密钥的编写者和读者总是知道并同意键值对的类型.为了便于实现,牺牲了编译时检查 - 有许多编写器和读者,并且它们不断被迭代.

我的黑板界面如下所示:

interface Blackboard {
    bool HasKey(object key);
    T GetValue<T>(object key);
}
Run Code Online (Sandbox Code Playgroud)

作家创建并返回黑板,因此SetValue(key, value)可以是实现细节.

我最初的实现使用Dictionary<object,object>,一切都很好.但是,这块黑板必须快速且无需分配.这是不容谈判的.如果一个编写器将一个浮动值推入黑板,那么天真的实现就会将int放入字典中.

我不能在实现类上使用泛型类型BlackboardImpl<ValueType> : Blackboard,因为值类型在黑板上不是常量.

我可以使用多个内部词典,Dictionary<object,float>,Dictionary<object,int>等有后备Dictionary<object,object>,很多的SetValue功能,所以现在我不上插盒.但是由于GetValue函数来自接口,我不能对它进行约束,所以我仍然在退出时装箱:

T GetValue<T>(object key) {
    if (typeof(T) == typeof(int)) {
        // return intStore[key]; // doesn't compile
        return (T)(object)intStore[key]; // boxes, allocates, bad.
    }
    // ...
}
Run Code Online (Sandbox Code Playgroud)

有没有我在这里缺少的语法技巧,包括改变黑板界面,避免拳击?任何反射黑客都会违反"快速"要求,即使您可以在没有分配的情况下实施它.

干杯.

c# generics

5
推荐指数
1
解决办法
622
查看次数

在 xcode 的调试器中查看 IL2CPP 的 string_t 的内容

Unity 的 IL2CPP/LLVM 后端从 C# 生成 cpp 文件。您当然可以读取这些文件,并将断点放入其中以查看变量。但是,C# 字符串被转编译为一个名为 String_t 的自定义类。Xcode 似乎不知道如何打印这些类的内部字符串,我不确定如何读取原始字节。

这是 String_t 定义:

struct String_t  : public Object_t
{
    // System.Int32 System.String::length
    int32_t ___length;
    // System.Char System.String::start_char
    uint16_t ___start_char;
};
Run Code Online (Sandbox Code Playgroud)

...谁能弄清楚如何从 Xcode 断点读取包含的字符串?

c++ debugging xcode unity-game-engine ios

5
推荐指数
1
解决办法
1048
查看次数

通过UIActivityViewController共享的Gif在(至少)fb,twitter,notes中作为静态图像出现

我正试图通过标准iOS共享屏幕将我的(统一)应用程序的gif共享到社交网络.

由于这个问题,我首先将路径包装到NSURL中的gif,然后再将其发送到UIActivityViewController:

NSURL *nsGifURL = [NSURL fileURLWithPath:nsGifPath];
NSArray *itemsToShare = @[nsMessage, nsGifURL];

// find the unity window:
UIWindow *window = [UIApplication sharedApplication].keyWindow;
UIActivityViewController *share = [[UIActivityViewController alloc] initWithActivityItems:itemsToShare applicationActivities:nil];
[window.rootViewController presentViewController:share animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)

这一切都编译并运行没有错误,但是当我到达另一个应用程序时,图像是静态的而不是gif.

如何让fb之类的应用接受并在另一端显示gif?

编辑:nsGifPath肯定有.gif扩展名

objective-c gif ios uiactivityviewcontroller

5
推荐指数
1
解决办法
318
查看次数

aws cli没有输出

我已经在这台笔记本电脑上使用 aws cli 与 s3 存储桶交互有一段时间了。突然,该工具停止打印任何输出:

C:\>aws

C:\>aws --debug

C:\>aws --help

C:\>where aws
C:\Users\Andrew\AppData\Roaming\Python\Python37\Scripts\aws
C:\Users\Andrew\AppData\Roaming\Python\Python37\Scripts\aws.cmd
Run Code Online (Sandbox Code Playgroud)

这是在管理员命令提示符中,但在管理员 powershell 提示符中是相同的。Windows 版本 10.0.18362 Build 18362 - 我在几周前进行了周年纪念更新,但不确定它是否相关。

我的另一台(Win 10,周年更新)机器上的 aws cli 使用相同的身份验证,工作正常。

我尝试过直接卸载并重新安装 aws cli,但重新安装后我什至无法让它打印任何内容来验证我的身份。

有任何想法吗?我可以向您提供更多信息吗?

windows amazon-web-services aws-cli

5
推荐指数
3
解决办法
1万
查看次数

为什么有些wav文件在我的c#directsound应用程序中播放,但有些则没有?

我有ac#应用程序通过directsound播放简单的wav文件.根据我的测试数据,代码运行良好.但是,当我使用真实数据时,它在创建辅助缓冲区时产生了一个非常无用的错误:"ArgumentException:Value不在预期范围内."

测试wavs具有512kbps比特率,16比特音频样本大小和32kHz音频采样率.新的wavs分别为1152kbps,24bit和48kHz.如何让directsound处理这些更大的值,或者如果不能在尝试播放文件之前如何以编程方式检测这些值?

它是托管DirectX v9.00.1126我正在使用,我在下面提供了一些示例代码:

using DS = Microsoft.DirectX.DirectSound;  
...  
DS.Device device = new DS.Device();
device.SetCooperativeLevel(this, CooperativeLevel.Normal);  
...
BufferDescription bufferDesc = new BufferDescription();
bufferDesc.ControlEffects = false;  
...
try
{
    SecondaryBuffer sound = new SecondaryBuffer(path, bufferDesc, device);
    sound.Play(0, BufferPlayFlags.Default);
}
...
Run Code Online (Sandbox Code Playgroud)

附加信息:现实世界的wav文件也不会在Windows媒体播放器中播放,告诉我播放文件需要一个编解码器,而它们在winamp中播放得很好.

附加信息2:比较工作测试数据的字节和糟糕的现实世界数据,我可以看到,通过RIFF块,坏数据有一个"bext"块,互联网通知我是与广播相关的元数据音频扩展,而测试数据直接进入fmt块.坏数据中有/一个fmt块,所以我不知道它是否格式错误,或者加载器是否应该进一步寻找fmt数据.我可以看看是否可以从提供数据的人那里获得关于此rouge bext chunk的一些信息 - 如果他们可以删除它,我的代码可能仍然有用.

c# directx audio directsound

3
推荐指数
1
解决办法
4577
查看次数

在C#中复制C++的RAII

我正在滚动我自己的记录器类,并希望在应用程序通过不同阶段时表示日志的层次结构:

log start
    loading
        loaded 400 values
    processing
         couldn't process var "x"
Run Code Online (Sandbox Code Playgroud)

等等

在C++中(是的,我知道),我会使用RAII类在创建时将自己压在日志堆栈上,并在它们离开作用域时弹出.然后,您可以在任何时候离开函数并仍然具有一致的日志记录.

显然在C#中,任何变量都必须是新的,所以在下一个垃圾收集周期之前它不会被删除,如果你立即创建一个新的classlet,你可能会有一个不同步的记录器.

人们如何在C#中尝试解决这个问题?我希望记录器语法尽可能不引人注目,并且仍然支持具有多个出口点的函数.

我能想到的唯一解决方案是让closeHeirarchy()调用每个return语句 - 而且你知道我会在某个地方错过一个.


编辑:我应该说清楚我主要对如何在c#中复制RAII行为感兴趣.是否存在提供相同行为的机制?

c# logging raii

3
推荐指数
1
解决办法
593
查看次数

使用powershell查找与两个单独的正则表达式匹配的文件

我想找到可以匹配两个正则表达式,例如具有至少一个所有文件的任何文件bat,hat,cat 以及noun.这将是可以同时匹配正则表达式的任何文件[bhc]atnoun.

正则表达式参数select-string似乎只能逐行工作.看起来你可以传入由逗号(select-string -pattern "[bhc]at","noun")分隔的多个模式,但它匹配其中之一,而不是两者.

regex powershell powershell-2.0

3
推荐指数
1
解决办法
7057
查看次数

为什么emac中的vc-git和magit忽略了我的git配置设置?

我用magit运行emacs 24.1.1的官方windows二进制文件.当我提交文件时,日志中显示的用户名和电子邮件会从我的帐户和计算机名称中删除,而不是使用全局git配置或此repro的本地设置中设置的值.

从git bash和dos,我可以向git请求user.email和user.name并获取本地repro设置.

magit和vc-git的diff模式似乎也忽略了我的autocrlf设置,所以这可能是一个emacs范围的问题,不是特定于magit.

C:\Program Files (x86)\Git\cmd是在emac的exec-path.

如何指示magit找到正确的设置,或者手动告诉它设置是什么?

windows git emacs magit

3
推荐指数
1
解决办法
794
查看次数

货物未在顶级文件中运行测试

我对Cargo如何运行测试感到困惑.

我创建了一个Cargo项目,它main.rs为我添加了一个.如果我#[test]在那里添加函数,它们就会被找到并运行cargo test.如果我将foo.rs文件添加为兄弟main.rs并在其中添加测试,则无法找到并运行它们.

我错过了什么微妙之处?我是否必须以某种方式向Cargo讲授新文件?

unit-testing module rust rust-cargo

3
推荐指数
1
解决办法
1698
查看次数

如何在Powershell中迭代不规则命名的Xml.XmlElement子元素?

我有一个格式如下的XML文件:

<xml>
    <data>
        <foo float="99.0"/>
        <bar float="12.0"/>
        <tribble bool="true"/>
        ...
        <flibble int="1"/>
    </data>
</xml>
Run Code Online (Sandbox Code Playgroud)

如果我在Powershell中获取该数据,我可以使用Get-Memeber查看数据的所有子元素:

> $xmlData = [xml](Get-Content myfile.xml)
> $xmlData.data | Get-Member
    ...
    foo     Property    System.Xml.XmlElement ...
    bar     Property    System.Xml.XmlElement ...
    tribble Property    System.Xml.XmlElement ...
    ...
Run Code Online (Sandbox Code Playgroud)

我可以单独访问每个子元素.但是,我如何迭代所有的孩子,用管道处理它们?我希望能够写出这样的东西:

> $xmlData.data.Children | ?{$_ -eq "foo"}
Run Code Online (Sandbox Code Playgroud)

......但唉,这只是一厢情愿的想法.

编辑:好的,我可以反思这样的属性:

> $xmlData.data | get-member -memberType Property | ?{$_.Name -eq "foo"}
Run Code Online (Sandbox Code Playgroud)

但是我不能从属性(我正在运行一个MemberDefinition)到实际的子元素.或者我可以吗?

xml powershell powershell-2.0

2
推荐指数
1
解决办法
1万
查看次数

如何在VS11中为javascript metro应用程序创建预构建步骤?

我想在每次构建之前运行一些自定义批处理代码.在VS <11/C#应用程序中,我可以在项目设置中设置预构建事件.我在javascript metro VS11解决方案中找不到类似的设置.

任何人都知道它在哪里,或者选项是否已经消失(!)我可以采用哪种解决方法?

javascript windows-8 winjs visual-studio-2012

2
推荐指数
1
解决办法
1062
查看次数

在Moq回调中使用当前对象实例

我想使用Moq创建一个存根,它具有一个函数Foo,它将存根实例推送到作为参数传递的列表中.我可以使用该Callback<>()方法捕获列表,但是我无法从那里访问存根实例,是吗?

这是我到目前为止所得到的:

var stubPattern = new Mock<IBar>();
stubPattern.Setup(stub => stub.Foo(It.IsAny<List<IBar>>()))
    .Callback<List<IBar>>(list => list.Add(stubInstance); // stubInstance not valid
Run Code Online (Sandbox Code Playgroud)

在Moq可以做这样的事吗?

.net unit-testing moq mocking

2
推荐指数
1
解决办法
663
查看次数