当我在Mono.net中调用PrivateFontCollection.AddFontFile方法时,它总是返回一个标准的font-family.这个bug已经在几个网站上报道,但据我所知,没有办法解决它.错误本身尚未在Mono-libraries中修复.它有什么解决方法吗?
编辑:作为对henchman的回答的反应,我将发布代码:
PrivateFontCollection pfc = new PrivateFontCollection();
pfc.AddFontFile("myFontFamily.ttf");
myFontFamily = pfc.Families[0x00];
Font myFont = new Font(myFontFamily,14.0f);
Run Code Online (Sandbox Code Playgroud)
我知道这个代码在Microsoft.Net框架上可以正常工作,但是当在Mono上执行时,它只是给出一个标准的字体系列(我认为它是Arial),其名称为myFontFamily.ttf
鉴于这一系列的Haskell代码,我的任务是将其评估为最简单的形式.
let g h k = (\x -> k (h x)) in g (+1) (\x -> x+x) 20
Run Code Online (Sandbox Code Playgroud)
我已经得到了答案(当然在GHCI中我自己进行了评估): 42
但是,我希望更好地了解评估在这里如何运作.一般来说,我想我知道如何(简单)让表达式工作:
例
a = let y = 5 in y * 5 -- a == 25
Run Code Online (Sandbox Code Playgroud)
该计算结果为25,因为我们绑定y到的价值5和a被分配到的值y*5(后部分in).绑定y = 5仅在范围内有效let.
到目前为止,唯一的解释(至少评估为42)如下:
let g h k = (\x -> k (h x)) in g (+1) (\x -> x+x) 20
Run Code Online (Sandbox Code Playgroud)
g 是 (\x -> k (h x)) …我有一个带有float类型字段的数据结构.这些结构的集合需要按浮点值进行排序.是否存在基数排序实现.
如果没有,是否有快速访问指数,符号和尾数的方法.因为如果你最后一次在尾数,指数和指数上对浮点数进行排序.你在O(n)中排序浮点数.
我正在写一个Android word应用程序.我的代码包括将查找的字符串和一个7字母串的子串具有最小长度3的所有组合,然后所有可用的组合比较,每一个字在字典中找到的所有有效字的方法.我正在使用递归方法.这是代码.
// Gets all the permutations of a string.
void permuteString(String beginningString, String endingString) {
if (endingString.length() <= 1){
if((Arrays.binarySearch(mDictionary, beginningString.toLowerCase() + endingString.toLowerCase())) >= 0){
mWordSet.add(beginningString + endingString);
}
}
else
for (int i = 0; i < endingString.length(); i++) {
String newString = endingString.substring(0, i) + endingString.substring(i + 1);
permuteString(beginningString + endingString.charAt(i), newString);
}
}
// Get the combinations of the sub-strings. Minimum 3 letter combinations
void subStrings(String s){
String newString = "";
if(s.length() > 3){
for(int …Run Code Online (Sandbox Code Playgroud) 在涉及例如解析器的项目中,一些源代码是程序的产物.例如yacc,基于.yy文件生成实现解析器的源代码文件.
由于.yy文件中的小修改可能导致编译后相应源代码文件发生较大变化,并且因为生成的源代码(几乎)在生成后几乎不会被更改.这些源代码文件是.gitignore列表的完美候选者.
现在可以手动将这些文件写入列表:
lexer1.cpp
parser1.cpp
lexer2.cpp
parser2.cpp
Run Code Online (Sandbox Code Playgroud)
但是,当一个人构建一个新的解析器时,他/她将忘记将该文件添加到列表中.
有没有办法指定一个行为如下的模式:
给定文件
foo.ext1存在,忽略foo.ext2.
从而提供ext1和ext2.对于词法分析器/解析器,这意味着将此模式应用于.xx/ .cpp和.yy/ .cpp.
.gitignore直接这可能是不可能的,但也许已经为此实现了一些钩子?
目前我的ff CSV数据存在问题.
COLUMN1,COLUMN2,COLUMN3,COLUMN4
apple1,apple2,apple3,apple4
banana1,banana2,banana3,
caimito1,"caimito21
caimito22","caimito31
caimito32",caimito4
Run Code Online (Sandbox Code Playgroud)
这看起来像这样:
???????????????????????????????????????????????
? COLUMN1 ? COLUMN2 ? COLUMN3 ? COLUMN4 ?
???????????????????????????????????????????????
? apple1 ? apple2 ? apple3 ? apple4 ?
? banana1 ? banana2 ? banana3 ? ?
? caimito1 ? caimito21 ? caimito31 ? caimito4 ?
? ? caimito22 ? caimito32 ? ?
???????????????????????????????????????????????
Run Code Online (Sandbox Code Playgroud)
所以我的计划是添加COLUMN5,它的每一行都有一个值"FRUIT".
使用的命令:
sed "1 s/$/,COLUMN5/g" FILE.csv | sed "2,$ s/$/,FRUIT/g" > OUTPUT.csv
Run Code Online (Sandbox Code Playgroud)
输出:
???????????????????????????????????????????????????????????????????
? COLUMN1 ? COLUMN2 ? COLUMN3 ? COLUMN4 ? COLUMN5 ?
??????????????????????????????????????????????????????????????????? …Run Code Online (Sandbox Code Playgroud) 如果我有一个元素,我试图从字典中获取:
my_dict[i]['level_1']['level_2']['my_var'].
有没有比这样做更清晰的方法来检查空值?
if 'level_1' in my_dict[i]:
if 'level_2' in my_dict[i]['level_1']:
if 'my_var' in my_dict[i]['level_1']['level_2']:
my_var = my_dict[i]['level_1']['level_2']['my_var']
Run Code Online (Sandbox Code Playgroud) 我已经定义了长度为4的十六进制值的正则表达式,如下所示:
([0-9A-F]{4})
Run Code Online (Sandbox Code Playgroud)
它工作得很好,语法也很好
0000
Run Code Online (Sandbox Code Playgroud)
也是一个有效的十六进制数,但我想从有效匹配中丢弃它,因此期待提示如何扩展当前正则表达式,以便
0000 is flagged as invalid and filtered out.
Run Code Online (Sandbox Code Playgroud)
谢谢
我目前正在学习算法课程,而且我很难理解蛮力搜索和回溯的确切定义.据我了解,以下情况属实:
{1, 2},选择4限于{3, 4, 5}等),这决定了搜索的"执行树"的形状.基本上,我只是想知道这是否准确,如果不是,我真的很感激一些澄清.提前致谢.