程序设计

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

25
在循环之前或循环中声明变量之间的区别?
我一直想知道,一般而言,在循环之前声明一个抛弃型变量(而不是在循环内部重复)是否会产生(性能)差异?Java中的一个(毫无意义的)示例: a)循环前声明: double intermediateResult; for(int i=0; i < 1000; i++){ intermediateResult = i; System.out.println(intermediateResult); } b)循环内的声明(反复): for(int i=0; i < 1000; i++){ double intermediateResult = i; System.out.println(intermediateResult); } a或b哪个更好? 我怀疑重复变量声明(示例b)在理论上会增加开销,但编译器足够聪明,因此无关紧要。示例b的优点是更紧凑,并将变量的范围限制在使用它的位置。尽管如此,我还是倾向于根据示例a进行编码。 编辑:我对Java案例特别感兴趣。




12
通过反射使用字符串值设置属性
我想通过反射设置对象的属性,其值为type string。因此,例如,假设我有一个Ship类,其属性为Latitude,它是一个double。 这是我想做的: Ship ship = new Ship(); string value = "5.5"; PropertyInfo propertyInfo = ship.GetType().GetProperty("Latitude"); propertyInfo.SetValue(ship, value, null); 照原样,这引发了ArgumentException: 类型'System.String'的对象不能转换为'System.Double'类型。 如何基于将值转换为适当的类型propertyInfo?

21
自动调整动态文本大小以填充固定大小的容器
我需要将用户输入的文本显示为固定大小的div。我想要的是自动调整字体大小,以使文本尽可能多地填充框中。 所以-如果div为400px x 300px。如果有人输入ABC,那么它确实是大字体。如果他们输入一个段落,那么它将是很小的字体。 我可能想从最大字体大小开始-也许是32px,并且当文本太大而无法容纳容器时,请缩小字体大小直到适合为止。
312 jquery  html  css 

8
Haskell / GHC中的“ forall”关键字有什么作用?
我开始了解如何forall在这样的所谓“现有类型”中使用关键字: data ShowBox = forall s. Show s => SB s 但是,这只是如何forall使用的一个子集,我根本无法在这样的事情上全神贯注于它的使用: runST :: forall a. (forall s. ST s a) -> a 或解释为什么这些不同: foo :: (forall a. a -> a) -> (Char, Bool) bar :: forall a. ((a -> a) -> (Char, Bool)) 或整个RankNTypes东西... 我倾向于使用清晰,无术语的英语,而不是学术环境中通常使用的那种语言。我尝试阅读的大多数解释(通过搜索引擎可以找到的解释)都存在以下问题: 他们不完整。他们解释如何使用这个关键字(如“生存型”)的一个组成部分,这使得直到我读码我感到高兴的是,使用它在一个完全不同的方式(比如runST,foo和bar以上)。 假设我在本周流行的离散数学,范畴论或抽象代数的任何分支中都读到了最新的东西,他们的想法密密麻麻。(如果我从来不读的话“咨询文件无论执行的细节”再次,这将是太快了。) 它们的编写方式经常将甚至是简单的概念变成曲折而破碎的语法和语义。 所以... …
312 haskell  syntax  types  ghc  forall 

13
从Java 8流中断还是返回forEach?
当在上使用外部迭代时,Iterable我们使用break或return通过增强的for-each循环进行以下操作: for (SomeObject obj : someObjects) { if (some_condition_met) { break; // or return obj } } 我们如何break或在Java 8 lambda表达式中return使用内部迭代,例如: someObjects.forEach(obj -> { //what to do here? })
312 java  foreach  lambda  java-8 

10
使用普通JavaScript获取div高度
Наэтотвопросень 堆栈溢出нарусском:УзнатьвысотуэлементачерезJavascript, 关于如何在不使用jQuery的情况下获得div高度的任何想法? 我正在寻找Stack Overflow这个问题,似乎每个答案都指向jQuery的.height()。 我尝试了类似的方法myDiv.style.height,但是即使我的div具有CSS width并height在CSS中进行了设置,它也没有返回任何内容。
312 javascript  html  css 


14
如何在package.json中设置环境变量
如何从内部设置一些环境变量package.json以与npm start类似命令一起使用? 这是我目前所拥有的package.json: { ... "scripts": { "help": "tagove help", "start": "tagove start" } ... } 我想NODE_ENV在启动脚本中设置环境变量(例如),同时仍然能够仅通过一个命令来启动应用程序npm start。

8
Python字典:keys()和values()总是相同的顺序吗?
看起来字典的keys()和values()方法返回的列表始终是一对一映射(假设在调用这两种方法之间字典没有改变)。 例如: >>> d = {'one':1, 'two': 2, 'three': 3} >>> k, v = d.keys(), d.values() >>> for i in range(len(k)): print d[k[i]] == v[i] True True True 如果您没有在调用keys()和调用之间更改字典values(),那么假设上述for循环将始终显示True是否错误?我找不到任何证明文件。
312 python 

18
每30秒执行一次cron
好的,我有一个cron,我需要每30秒运行一次。 这是我所拥有的: */30 * * * * /bin/bash -l -c 'cd /srv/last_song/releases/20120308133159 && script/rails runner -e production '\''Song.insert_latest'\''' 它会运行,但是每30分钟或30秒运行一次吗? 另外,我一直在阅读,如果我经常运行cron,它可能不是最好的工具。我是否可以在Ubuntu 11.04上使用或安装另一个更好的工具,这将是一个更好的选择?有没有办法解决上述问题?

23
将edittext限制为单行
可能重复:android-singleline-true-not-working-for-edittext <EditText android:id="@+id/searchbox" android:layout_width="fill_parent" android:layout_height="wrap_content" android:lines="1" android:scrollHorizontally="true" android:ellipsize="end" android:layout_weight="1" android:layout_marginTop="2dp" android:drawablePadding="10dp" android:background="@drawable/edittext" android:drawableLeft="@drawable/folder_full" android:drawableRight="@drawable/search" android:paddingLeft="15dp" android:hint="search..."> </EditText> 我想使上面EditText只有一行。即使用户按下“输入”,光标也不应下降到第二行。有人可以帮我吗?

7
如何在Mac OSX上安装Java以允许版本切换?
我想在Mac OSX上安装OpenJDK Java,并使其与其他JDK一起工作,因为它是较新的版本。当前,我下载了tar.gz并将其放置在我的路径中,但这很难维护。 我发现唯一可以自动执行更多操作的安装是通过Homebrew cask进行的安装。看起来也只有当前版本: brew cask info java 显示: java:13,33:5b8a42f3905b406298b72d750b6919f6 https://openjdk.java.net/ 所以我可以从那里安装它,那又如何呢?我只能坚持使用新版本吗?
312 java  java-12 

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.