为什么大多数C#程序中的主要方法入口点是静态的?

为什么大多数C#程序中的主要方法入口点是静态的?

通过OCR从T恤照片中提取代码

我最近看到一个背上有一些Perl代码的T恤衫。 我拍了一张照片,把代码剪掉了: 接下来,我试图通过OCR从图像中提取代码,所以我安装了Tesseract OCR和Python绑定pytesser 。 Pytesser只能在TIFF图像上工作,所以我把图像转换成GIMP并input下面的代码(Ubuntu 9.10): >>> from pytesser import * >>> image = Image.open('code.tif') >>> print image_to_string(image) Traceback (most recent call last): File "<stdin>", line 1, in <module> File "pytesser.py", line 30, in image_to_string util.image_to_scratch(im, scratch_image_name) File "util.py", line 7, in image_to_scratch im.save(scratch_image_name, dpi=(200,200)) File "/usr/lib/python2.6/dist-packages/PIL/Image.py", line 1406, in save save_handler(self, fp, filename) […]

正则expression式:在不同的上下文中使用行开始/结束行符号(^或$)

在做一些小的正则expression式任务时,我遇到了这个问题。 我有一个string,看起来像这样的标签列表: foo,bar,qux,garp,wobble,thud 我需要做的是检查某个标签,例如“garp”是否在这个列表中。 (它最终匹配的东西不是很重要,只是如果有匹配的话)。 我的第一个和有点愚蠢的尝试在这是使用以下正则expression式: [^,]garp[,$] 我的想法是,在“garp”之前,应该是行/string或逗号的开头,在“garp”之后,应该有逗号或行/string的结尾。 现在,这个正则expression式很明显是错误的:^和$在字符类[]的上下文中改变它们的行为。 我终于想出了以下几点: ^garp$|^garp,|,garp,|,garp$ 这个正则expression式只是一个接一个地处理这4个例子。 (标签在列表的开头,在中间,在结尾,或作为列表的唯一元素。)最后一个正则expression式在某种程度上是丑陋在我眼里,只是为了母女的缘故,我想使它有点更优雅。 有没有办法如何在字符类的上下文中使用行/行尾字符(^和$)的开始? 编辑:好吧,希望更多的信息,所以这里是:我在一个Oracle SQL语句中使用这个。 这令人遗憾的是不允许任何环视声明,但是因为我只在有匹配或不匹配(而不是匹配)的情况下感兴趣,所以这并不影响我。 标签可以包含非字母字符,比如 – 或_ so \ bgarp \ b不起作用。 还有一个标签可以包含另一个标签,如SilentGhost所说的,所以/ garp / does not工作。

在Vim函数中获取没有文件扩展名的文件名。

我想在Vim中获取没有文件扩展名的文件名。 我在.vimrc文件中编写了以下函数来编译和运行Java程序。 :function! JAVA_RUN() :!javac %^M :endfunction map <F3> :execute JAVA_RUN()<CR> :source $HOME/.vimrc<CR> 在function方面,我怎样才能得到扩展名的文件名。

如何将stderr和stdoutredirect到一个Ruby脚本文件?

如何将stderr和stdoutredirect到一个Ruby脚本文件?

CSS转换不适用于百分比高度?

我有以下的CSS定义: .detailsCollapsed { display:none; height:0%; width:100%; -webkit-transition:height 40s ease-in-out; } .detailsExpanded { display:block; visibility:visible; height:100%; width:100%; -webkit-transition:height 40s ease-in-out; } 这些应用于一个div里面的一些内容。 我也有一些JavaScript,当一个div被点击时,它会改变元素上的类名称。 这工作正常扩展和崩溃,但没有iPhone上的animation? (我尝试使用stream体animation正常工作的所有其他转换)任何想法?

在Bash完成的上下文中,有关$ {array }与$ {array }的混淆

我第一次试图写一个Bash完成,而我对有两种解引用Bash数组( ${array[@]}和${array[*]} )的方法有些困惑。 下面是相关的代码块(顺便说一句,它可以工作,但我想更好地理解它): _switch() { local cur perls local ROOT=${PERLBREW_ROOT:-$HOME/perl5/perlbrew} COMPREPLY=() cur=${COMP_WORDS[COMP_CWORD]} perls=($ROOT/perls/perl-*) # remove all but the final part of the name perls=(${perls[*]##*/}) COMPREPLY=( $( compgen -W "${perls[*]} /usr/bin/perl" — ${cur} ) ) } Bash的文档说 : 数组中的任何元素都可以使用$ {name [subscript]}引用。 大括号是为了避免与shell的文件名扩展操作符冲突。 如果下标是“@”或“*”,则该单词将扩展为数组名称的所有成员。 这些下标仅在双引号出现在单引号内时才有所不同。 如果单词是双引号,则$ {name [*]}将扩展为单个单词,每个数组成员的值由IFSvariables的第一个字符分隔,$ {name [@]}扩展每个名称元素到一个单独的词。 现在我想我明白了, compgen -W期望一个包含可能替代compgen -W的string,但在这种情况下,我不明白“$ {name [@]}将每个名称元素扩展为单独的单词”的意思。 […]

检查特定机器上是否存在服务,而不使用exception处理

不知道是否有更好的方法来做到这一点,所以这是问题的原因。 我可以使用下面的代码检查特定机器上是否存在服务: bool DoesServiceExist(string serviceName, string machineName) { ServiceController controller = null; try { controller = new ServiceController(serviceName, machineName); controller.Status; return true; } catch(InvalidOperationException) { return false; } finally { if (controller != null) { controller.Dispose(); } } } 但对我来说这似乎是一个无效的解决scheme(由于exception处理)。 有没有更好的方法来检查服务是否存在。 注意 – 我最近转向.Net 4.0,所以如果有人知道在4.0中更好的解决scheme是可以接受的。 编辑:这是一个示例c#控制台应用程序来testing我的示例以及GetServices代码示例的性能。 在我的testing中,我发现GetServices在服务不存在的情况下性能要好得多,但在服务存在的时候速度要慢两倍: static void Main(string[] args) { string serviceName = […]

C#比较两个未知types的对象(包括引用和值types)

是否有可能在C#中使用它们的types比较器比较两个未知types的对象(包括引用types和值types)是否存在? 我们的目标是编写一个具有如下签名的函数: public bool Compare(object a, object b) { // compare logic goes here } 哪会回来 Compare(100d, 100d) == true Compare(100f, 100f) == true Compare("hello", "hello") == true Compare(null, null) == true Compare(100d, 101d) == false Compare(100f, null) == false // Use type comparators where possible, ie: Compare(new DateTime(2010, 12, 01), new DateTime(2010, 12, 01)) […]

REST与Spring和Jackson完全数据绑定

我正在使用Spring MVC来处理JSON POST请求。 在封面下面,我使用了构build在Jackson JSON处理器上的MappingJacksonHttpMessageConverter,并在使用mvc:annotation驱动时启用。 我的一项服务收到一个行动清单: @RequestMapping(value="/executeActions", method=RequestMethod.POST) public @ResponseBody String executeActions(@RequestBody List<ActionImpl> actions) { logger.info("executeActions"); return "ACK"; } 我发现Jackson将requestBody映射到java.util.LinkedHashMap项目列表(简单数据绑定)。 相反,我希望将请求绑定到types化对象列表(在本例中为“ActionImpl”)。 我知道如果直接使用Jackson的ObjectMapper,这很容易: List<ActionImpl> result = mapper.readValue(src, new TypeReference<List<ActionImpl>>() { }); 但是我想知道当使用Spring MVC和MappingJacksonHttpMessageConverter时,最好的方法是什么。 任何提示? 谢谢