程序设计

专业和发烧友程序员的问答

9
如何欺骗应用程序以使其标准输出是终端而不是管道
我正在尝试执行与“ 检测stdin是终端还是管道? ” 相反的操作。 我正在运行一个正在更改其输出格式的应用程序,因为它检测到STDOUT上的管道,并且我希望它认为它是一个交互式终端,以便在重定向时获得相同的输出。 我当时认为将其包装在expect脚本中或proc_open()在PHP中使用可以实现,但事实并非如此。 有什么想法吗?
147 bash  terminal  pipe  stdin 




7
vim“可修改”已关闭
尝试使用书呆子树创建一个新文件。我按a了创建一个新文件的键,然后收到消息: E21: Cannot make changes, 'Modifiable' is off 我正在使用MacVim和Janus(几乎开箱即用)
147 vim  vi  macvim  nerdtree 

13
为什么我不应该包含cpp文件而是使用标头?
因此,我完成了我的第一个C ++编程任务,并获得了成绩。但是根据等级,我为失去了分数including cpp files instead of compiling and linking them。我不太清楚这是什么意思。 回顾一下我的代码,我选择不为我的类创建头文件,而是在cpp文件中完成所有操作(如果没有头文件,它似乎可以正常工作...)。我猜这是一年级学生的意思,是我写了“ #include“ mycppfile.cpp”;“ 在我的一些文件中。 我#include对cpp文件进行处理的原因是:-应该放在头文件中的所有内容都在我的cpp文件中,所以我假装它像头文件一样-以monkey-see-monkey do fashion的方式,我看到了其他头文件被#include放在文件中,所以我对cpp文件也做了同样的操作。 那么,我到底在做什么错,为什么不好呢?
147 c++  header-files 

23
将占位符文本添加到文本框
我正在寻找一种将占位符文本添加到文本框的方法,就像使用html5中的文本框一样。 即,如果文本框没有文本,则添加文本Enter some text here,当用户单击它时,占位符文本消失并允许用户输入自己的文本,如果文本框失去焦点并且仍然没有文本,则占位符为添加回文本框。
147 c#  wpf  placeholder 



13
在运行时,找到扩展基类的Java应用程序中的所有类
我想做这样的事情: List<Animal> animals = new ArrayList<Animal>(); for( Class c: list_of_all_classes_available_to_my_app() ) if (c is Animal) animals.add( new c() ); 因此,我想查看应用程序Universe中的所有类,当我发现一个来自Animal的类时,我想创建一个该类型的新对象并将其添加到列表中。这使我可以添加功能,而不必更新事物列表。我可以避免以下情况: List<Animal> animals = new ArrayList<Animal>(); animals.add( new Dog() ); animals.add( new Cat() ); animals.add( new Donkey() ); ... 通过上述方法,我可以简单地创建一个扩展Animal的新类,它将自动被拾取。 更新:10/16/2008 9:00 AM太平洋标准时间: 这个问题引起了很多反响-谢谢。 从回答和研究中,我发现我真正想做的事在Java下是不可能的。有一些方法可以使用,例如ddimitrov的ServiceLoader机制,但是对于我想要的东西,它们非常繁琐,我相信我只是将问题从Java代码移到了外部配置文件中。 更新5/10/19(11年后!)根据@IvanNik的回答 ,现在有几个库可以帮助解决此问题。org.reflections看起来不错。此外ClassGraph从@Luke和记黄埔的答案看起来很有趣。答案中还有其他几种可能性。 声明我想要的另一种方式:Animal类中的静态函数查找并实例化了从Animal继承的所有类-无需任何进一步的配置/编码。如果必须进行配置,无论如何,我还是可以在Animal类中实例化它们。我了解这是因为Java程序只是.class文件的松散联合,而事实就是如此。 有趣的是,这似乎在C#中是微不足道的。






By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.