有没有办法从Excel vba宏打印到控制台的消息?我有一个小的VB .NET控制台应用程序调用excel宏,我想从宏代码的错误消息打印到控制台.Debug.print没有帮助,因为它只打印到即时窗口.有任何想法吗?
我有一个Python项目,具有以下结构:
package1
class.py
class2.py
...
package2
otherClass.py
otherClass2.py
...
config
dev_settings.ini
prod_settings.ini
Run Code Online (Sandbox Code Playgroud)
我写了一个setup.py文件,将其转换为具有相同文件结构的egg.(当我使用zip程序检查它时,结构看起来完全相同.)有趣的是,当我从IDE运行Python代码时,它工作正常,可以访问配置文件; 但是当我尝试使用egg从不同的Python脚本运行它时,它似乎无法在egg中找到配置文件.如果我将配置文件放入相对于调用的目录中Python脚本(鸡蛋的外部),它的工作原理 - 但这种方式使得拥有一个自包含的鸡蛋的目的失败了,鸡蛋具有程序的所有功能,可以从任何地方调用.我可以使用任何类/模块并运行egg中的任何函数,只要它们不使用配置文件...但如果它们这样做,则鸡蛋找不到它们,因此函数不起作用.
任何帮助将非常感激!我们对这里的鸡蛋有点新意,并不知道从哪里开始.
假设我在Python中有2个列表,我想并行遍历每个列表 - 例如对两个列表执行元素1的操作,对两个列表执行元素2的操作...我知道我可以通过使用指数:
for listIndex in range(len(list1)):
doSomething(list1[listIndex])
doSomething(list2[listIndex])
Run Code Online (Sandbox Code Playgroud)
但是有没有办法通过foreach循环更直观地做到这一点?有点像for list1Value in list1, list2Value in list2
......?
我目前在Python中遇到过这种情况,但这是一个长期存在的问题,我很想知道你是否能用任何语言做到这一点.(我只是假设Python最有可能有一个方法来解决这个问题.)
我想根据位字段是真还是假来有条件地选择一些东西.这是我最初尝试的语法:
CASE WHEN isSoon THEN 'Soon' ELSE 'Not so soon' END As HowSoon
Run Code Online (Sandbox Code Playgroud)
这对我来说很有意义,因为"WHEN"后面必须是一个布尔表达式isSoon
,因为它是一个小字段.但是,这不起作用.我最终要做的是:
CASE WHEN isSoon = 1 THEN 'Soon' ELSE 'Not so soon' END As HowSoon
Run Code Online (Sandbox Code Playgroud)
这对我来说似乎是多余的......这就像if(isSoon == True)
用编程语言编写而不是更直观,if(isSoon)
而且反对谷物.为什么SQL设置如此?是因为位字段不是真正的布尔值吗?
我需要在另一个js文件中使用外部js文件中的javascript函数.这基本上是我尝试过的代码:
$.getScript('js/myHelperFile.js');
myHelperFunction();
Run Code Online (Sandbox Code Playgroud)
这不起作用 - 我收到"myHelperFunction未定义"的错误.
但是,此代码有效:
$.getScript('js/myHelperFile.js', function(){myHelperFunction();});
Run Code Online (Sandbox Code Playgroud)
我特别希望能够以第一种方式完成它 - 将文件加载到我的文件顶部,然后使用我需要的任何函数.这是可能的,还是我误解了getScript的工作原理?
在格式化和可读性方面,SQL似乎是最被忽视的语言......而且由于SQL语句可能非常详细和复杂,因此使用起来非常困难.但我发现当我尝试以尽可能最好的方式格式化我的SQL代码时,我有时候不确定如何去做.我知道Java,C#,Python等的标准......但是当涉及到SQL时,我没有看到太多指南或接受的做法.什么是格式化SQL的提示/规则,以便它清晰,清晰,合乎逻辑?你能给出示例代码来说明吗?您发现什么是格式化SQL的最标准,可接受的方式?
编码cfqueryparam或cfprocparam时,cfsqltype是可选的.但是,我经常看到它编码.指定cfsqltype有什么好处吗?
我在表单中有几组最小和最大字段,用户可以通过填写最小值和最大值来指定范围.我正在使用jQuery的Validate插件进行表单验证.我想设置一个验证规则,强制最大字段大于最小值.每当更改max 或 min字段值时,都会调用此方法.
我知道我可以设置某种基本的自定义验证方法,如下所示:
$.validator.addMethod("greaterThan",
function(value, max, min){
return parseInt(value) > parseInt($(min).val());
}, "Max must be greater than min"
);
Run Code Online (Sandbox Code Playgroud)
然后为max元素添加规则:
rules: {
maxTruck: {greaterThan: '#minTruck'}
}
Run Code Online (Sandbox Code Playgroud)
但它有点复杂,因为这仅适用于最大字段更改而不是最小字段.有没有简单的方法可以做到这一点,而无需编写lessThan方法并将其应用于min字段?
然后我想解决的另一件事 - 是否有任何简单的方法我可以一般地应用它而不必枚举每个最大字段以及它映射到的最小值?所以我可以有一个min和max类并调用类似的东西:
$(".max").rules('add', { greaterThan: ".min" });
Run Code Online (Sandbox Code Playgroud)
并以某种方式设置方法,以便能够弄清楚(可能基于共享属性?)最大字段与最小字段配对?
更新:
我在这篇文章中提到的基本逻辑可以在这个jsfiddle中看到.但是,我还没有真正开展过这么多工作 - 我正在寻找基本上按照我描述的方式链接最小和最大字段集的逻辑.而且我不知道这是否是最好的方法 - 正如我所提到的,我希望能够一直这样做,这样我就不必通过id来引用最小和最大字段.
我正在尝试将字符串的第一个字母转换为小写.
value.substring(0,1).toLowerCase() + value.substring(1)
Run Code Online (Sandbox Code Playgroud)
这有效,但还有更好的方法吗?
我可以使用替换函数,但Java的替换不接受索引.您必须传递实际的字符/子字符串.可以这样做:
value.replaceFirst(value.charAt(0), value.charAt(0).toLowerCase())
Run Code Online (Sandbox Code Playgroud)
除了replaceFirst需要2个字符串,所以value.charAt(0)
s可能需要替换为value.substring(0,1)
.
有没有标准的方法来替换字符串的第一个字母?
我刚刚遇到一些令我困惑的代码; 我想澄清两种变化.
例1:
public String getFilepath(){
final File file = new File(this.folder, this.filename);
return file.getAbsolutePath();
}
Run Code Online (Sandbox Code Playgroud)
宣布file
" final
" 的目的是什么?由于Java原语是按值传递的,并且getAbsolutePath()
只是返回a String
,因此变量不会final
在另一端(调用方法),是吗?由于file
变量只存在于这两行的范围内,因此我无法真正看到该final
关键字的任何用途.有什么我想念的吗?有人看到这样做的理由吗?
例2:
public String getFilepath(){
final File file = new File(this.folder, this.filename);
return file;
}
Run Code Online (Sandbox Code Playgroud)
因为这里正在返回实际对象......这是否意味着file
变量将是恒定的/ final
在另一侧......?它似乎没有意义.
一般来说,在我看来,你传递一个变量,没有它的访问类型.在中,我可以private
在一个带有public
get函数的函数中有一个变量返回它 - 但是通过调用函数接收它的变量必须指定一个访问修饰符.因此,如果它指定public
,则返回的变量将public
在该范围内.如果指定private
,则返回的变量将private
在该范围内.有什么区别final
吗?变量的"恒定性"是否可以传递?考虑到我对Java的了解,这让我觉得不太可能.
或者我完全忽略了这一点final
,上述代码中关键字还有其他目的吗?
编辑:
我与编写代码的原始开发人员进行了核对,他说他只是将final
关键字放入,因为他原本以为该方法会更长,并希望确保文件始终保持不变.他还说,他一般都会声明不应该改变的变量final
,作为一项全面的规则和原则 - …