程序设计

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


30
在不到10行的简单代码中,您能做的最酷的事情是什么?帮我启发初学者![关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 我正在寻找可以用几行简单的代码完成的最酷的事情。我相信您可以在Haskell中用15行编写一个Mandelbrot集,但是很难遵循。 我的目标是激发学生编程的热情。 我们知道编程很酷,因为您可以创建自己想像的任何东西-这是最终的创意渠道。我想激励这些初学者,让他们尽可能地克服早期学习的障碍。 现在,我的理由很自私。我正在为60位半工程半商业专业的学生讲授计算入门课程;所有新生。他们是来自贫困高中的学生。根据我以往的经验,该集团一般分为如下:一些摇滚明星,一些谁拼命和那种得到它,谁非常努力和一些几乎没有得到它,和几个谁不关心。我希望尽可能有效地覆盖这些群体。这是我如何使用计算机程序进行教学的示例: 这是我正在寻找的示例:1行VBS脚本,可让您的计算机与您交流: CreateObject("sapi.spvoice").Speak InputBox("Enter your text","Talk it") 我可以用它来演示操作顺序。我将展示代码,让他们使用它,然后解释说这行有很多事情要做,但是计算机可以理解它,因为它知道规则。然后我给他们看这样的东西: 4(5*5) / 10 + 9(.25 + .75) 您会看到我首先需要做的是(5 * 5)。然后我可以乘以4。现在,我创建了对象。除以10等于调用“讲话”-在拥有对象之前我不能讲话,在拥有对象之前我不能除以100。然后在另一侧,我首先创建一个InputBox,其中包含一些如何显示它的说明。当我在输入框上按Enter键时,它将评估或“返回”我输入的内容。(提示:“ oooooo”发出有趣的声音)所以当我说“说话”时,右边就是要说的内容。我是从InputBox那里得到的。 因此,当您在一行上执行多项操作时,例如: x = 14 + y; 您需要了解事物的顺序。首先,我们将14和y相加。然后,我们将结果(求值结果或返回值)放入x中。 这是我的目标,有很多有趣的示例可以在有趣的情况下演示和教学。我在室友上尝试了这个示例,虽然我可能不会将其用作第一堂课,但她喜欢它并学到了一些东西。 一些很酷的mathematica程序可以制作出易于理解的精美图形或形状,这是个好主意,我将对此进行研究。这里有一些复杂的动作脚本示例,但是有点太高级了,我不能教Flash。您还有什么其他想法?

30
在C#中使用var关键字
已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 与同事讨论了在C#3中使用'var'关键字后,我想知道人们对于通过var进行类型推断的适当用法有何看法? 例如,我宁愿在可疑的情况下懒惰地使用var,例如: foreach(var item in someList) { // ... } // Type of 'item' not clear. var something = someObject.SomeProperty; // Type of 'something' not clear. var something = someMethod(); // Type of 'something' not clear. var的更多合法用法如下: var l = new List<string>(); // Obvious what l will be. var …
406 c#  type-inference  var 

9
如何将RadioButtons绑定到枚举?
我有一个像这样的枚举: public enum MyLovelyEnum { FirstSelection, TheOtherSelection, YetAnotherOne }; 我在DataContext中获得了一个属性: public MyLovelyEnum VeryLovelyEnum { get; set; } 我在WPF客户端中得到了三个RadioButtons。 <RadioButton Margin="3">First Selection</RadioButton> <RadioButton Margin="3">The Other Selection</RadioButton> <RadioButton Margin="3">Yet Another one</RadioButton> 现在,如何将RadioButtons绑定到属性以进行正确的双向绑定?


21
sed中的非贪婪(勉强)正则表达式匹配?
我正在尝试使用sed清理URL的行以仅提取域。 来自: http://www.suepearson.co.uk/product/174/71/3816/ 我想要: http://www.suepearson.co.uk/ (无论是否带有斜杠,都没有关系) 我努力了: sed 's|\(http:\/\/.*?\/\).*|\1|' 和(转义非贪婪量词) sed 's|\(http:\/\/.*\?\/\).*|\1|' 但我似乎无法使非贪婪量词(?)正常工作,因此最终总是匹配整个字符串。
406 regex  sed  pcre  greedy  regex-greedy 

9
什么时候应该在ECMAScript 6中使用Arrow函数?
这个问题针对的是那些在即将到来的ECMAScript 6(Harmony)中考虑过代码风格并且已经使用过该语言的人。 通过() => {}和,function () {}我们得到了两种非常相似的方法来在ES6中编写函数。在其他语言中,lambda函数通常通过匿名来区分自己,但是在ECMAScript中,任何函数都可以是匿名的。两种类型中的每一种都有唯一的使用域(即,当this需要显式绑定或显式不绑定时)。在这些域之间,有很多情况下两种表示法都会起作用。 ES6中的箭头功能至少有两个限制: 不要用工作new创建时,不能使用prototype 固定this绑定到初始化范围 除了这两个限制,箭头函数在理论上几乎可以替换任何地方的常规函数​​。在实践中使用它们的正确方法是什么?应该使用箭头功能,例如: “无论它们在哪里工作”,即在每个地方函数不必与this变量无关,我们也没有创建对象。 仅需要绑定到特定范围的“任何需要它们的地方”,即事件侦听器,超时 具有“短”功能但不具有“长”功能 仅对于不包含另一个箭头功能的功能 我正在寻找的是在将来的ECMAScript版本中选择适当的功能符号的指南。指南必须明确,以便可以向团队中的开发人员讲授,并且要保持一致,以便不需要从一个功能符号到另一个功能符号之间不断地来回重构。

20
如何使用新的Gradle Android Build System手动包含外部aar包
我一直在尝试使用新的android构建系统,但遇到了一个小问题。我已经编译了自己的ActionBarSherlock的aar包,我将其称为“ actionbarsherlock.aar”。我想做的实际上是使用此Aar构建最终的APK。如果我使用编译项目(':actionbarsherlock')将整个ActionBarSherlock库作为一个android-library模块包含到我的主项目中,则可以成功构建,而不会出现任何问题。 但是我的问题是我想以手动方式将依赖项作为aar文件包提供,就好像我要使用JAR一样,我似乎也无法弄清楚如何将其正确地包含到我的项目中。我试图使用编译配置,但这似乎不起作用。我一直在编译过程中找不到符号,这告诉我aar包中的classes.jar没有包含在类路径中。 有谁知道手动将aar包作为文件包含的语法? build.gradle buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.4' } } apply plugin: 'android' repositories { mavenCentral() } dependencies { compile files('libs/actionbarsherlock.aar') } android { compileSdkVersion 15 buildToolsVersion "17.0" } 编辑:所以答案是当前不支持,如果您要跟踪它,这就是问题。 编辑:当前,因为仍不直接支持,最好的替代方法似乎是@RanWakshlak提出的解决方案 编辑:通过使用@VipulShah建议的语法也更简单

6
垫片和填料的区别是什么?
两者似乎都在Web开发圈子中使用,请参见HTML5跨浏览器Polyfills,其中说: 所以在这里,我们收集了所有的垫片,后备和填充物... 或者,有es5-shim项目。 在我当前的项目中,我们使用了许多这样的工具,我想将它们全部粘贴在同一目录中。所以,我应该怎么称呼这个目录--- shims或polyfills?

12
如何获取Python函数的源代码?
假设我有如下定义的Python函数: def foo(arg1,arg2): #do something with args a = arg1 + arg2 return a 我可以使用获取函数的名称foo.func_name。如上所述,我如何以编程方式获取其源代码?
406 python  function 





16
安装json gem时出错'mkmf.rb找不到ruby的头文件'
对于上下文,它位于具有防火墙的远程服务器上。我正在通过代理设置环境。我有ruby 1.8.7。当我尝试gem install .. sudo gem install --http-proxy <host address>:<port> json 我收到以下错误: Building native extensions. This could take a while... ERROR: Error installing json: ERROR: Failed to build gem native extension. /usr/bin/ruby extconf.rb mkmf.rb can't find header files for ruby at /usr/lib/ruby/ruby.h Gem files will remain installed in /usr/lib64/ruby/gems/1.8/gems/json-1.8.1 for …
406 json  ruby  rubygems 

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.