在使用冰柱很长一段时间后,我正在试验舵.
我大部分时间默认使用流行的曝光深色配色方案,并且helm似乎选择了特别难以理解的颜色:

...我怎么能建议掌舵选择更有用的颜色?希望当我切换到日光灯时也能正常工作.
黑板是在运行时存储和获取通用键值对的对象.它可以通过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)
有没有我在这里缺少的语法技巧,包括改变黑板界面,避免拳击?任何反射黑客都会违反"快速"要求,即使您可以在没有分配的情况下实施它.
干杯.
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 断点读取包含的字符串?
我正试图通过标准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扩展名
我已经在这台笔记本电脑上使用 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,但重新安装后我什至无法让它打印任何内容来验证我的身份。
有任何想法吗?我可以向您提供更多信息吗?
我有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的一些信息 - 如果他们可以删除它,我的代码可能仍然有用.
我正在滚动我自己的记录器类,并希望在应用程序通过不同阶段时表示日志的层次结构:
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行为感兴趣.是否存在提供相同行为的机制?
我想找到可以匹配两个正则表达式,例如具有至少一个所有文件的任何文件bat,hat,cat 以及字noun.这将是可以同时匹配正则表达式的任何文件[bhc]at和noun.
正则表达式参数select-string似乎只能逐行工作.看起来你可以传入由逗号(select-string -pattern "[bhc]at","noun")分隔的多个模式,但它匹配其中之一,而不是两者.
我用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找到正确的设置,或者手动告诉它设置是什么?
我对Cargo如何运行测试感到困惑.
我创建了一个Cargo项目,它main.rs为我添加了一个.如果我#[test]在那里添加函数,它们就会被找到并运行cargo test.如果我将foo.rs文件添加为兄弟main.rs并在其中添加测试,则无法找到并运行它们.
我错过了什么微妙之处?我是否必须以某种方式向Cargo讲授新文件?
我有一个格式如下的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)到实际的子元素.或者我可以吗?
我想在每次构建之前运行一些自定义批处理代码.在VS <11/C#应用程序中,我可以在项目设置中设置预构建事件.我在javascript metro VS11解决方案中找不到类似的设置.
任何人都知道它在哪里,或者选项是否已经消失(!)我可以采用哪种解决方法?
我想使用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可以做这样的事吗?
c# ×3
emacs ×2
ios ×2
powershell ×2
unit-testing ×2
windows ×2
.net ×1
audio ×1
aws-cli ×1
c++ ×1
color-scheme ×1
debugging ×1
directsound ×1
directx ×1
emacs-helm ×1
generics ×1
gif ×1
git ×1
javascript ×1
logging ×1
magit ×1
mocking ×1
module ×1
moq ×1
objective-c ×1
raii ×1
regex ×1
rust ×1
rust-cargo ×1
windows-8 ×1
winjs ×1
xcode ×1
xml ×1