所以,我正在研究这个有一些静态常量的类:
public abstract class Foo {
...
public static final int BAR;
public static final int BAZ;
public static final int BAM;
...
}
Run Code Online (Sandbox Code Playgroud)
然后,我想要一种基于常量获取相关字符串的方法:
public static String lookup(int constant) {
switch (constant) {
case Foo.BAR: return "bar";
case Foo.BAZ: return "baz";
case Foo.BAM: return "bam";
default: return "unknown";
}
}
Run Code Online (Sandbox Code Playgroud)
但是,当我编译时,我constant expression required
在每个3个案例标签上都会出错.
我知道编译器需要在编译时知道表达式来编译一个开关,但为什么不是Foo.BA_
常量?
当我学习PHP时,我在某处读到你应该总是使用大写版本的布尔值,TRUE
并且FALSE
,因为"普通"小写版本,true
并且false
使用起来并不"安全".
它已经很多年了,我编写的每个PHP脚本都使用大写版本.但是,我现在质疑,因为我已经看到大量用小写版本编写的PHP(即Zend Framework).
是/有没有理由使用大写版本,还是完全可以使用小写?
编辑:忘了提及这适用于NULL
和null
.
我有一个SQLite数据库,我用于一个网站.问题是,当我尝试INSERT INTO
它时,我会得到一个PDOException
SQLSTATE[HY000]: General error: 8 attempt to write a readonly database
Run Code Online (Sandbox Code Playgroud)
我通过SSH连接到服务器并检查权限,数据库具有权限
-rw-rw-r--
Run Code Online (Sandbox Code Playgroud)
我不熟悉*nix权限,但我很确定这意味着
ls -l
)我也看到了我知道使用该sqlite3
程序的所有地方,并没有发现任何相关内容.
因为我不知道PDO试图打开数据库的权限,我做到了
chmod o+w supplies.db
Run Code Online (Sandbox Code Playgroud)
现在,我得到另一个PDOException
:
SQLSTATE[HY000]: General error: 14 unable to open database file
Run Code Online (Sandbox Code Playgroud)
但它只发生在我打开数据库后尝试执行INSERT
查询时.
关于发生了什么的任何想法?
我的项目目录如下所示:
/project
Makefile
main
/src
main.cpp
foo.cpp
foo.h
bar.cpp
bar.h
/obj
main.o
foo.o
bar.o
Run Code Online (Sandbox Code Playgroud)
我想让makefile做的就是将.cpp
文件/src
夹中的所有文件编译到.o
文件/obj
夹中的文件中,然后将所有.o
文件链接/obj
到顶级文件夹中的输出二进制文件中/project
.
我几乎没有Makefiles的经验,我不确定要搜索什么来实现这一目标.
另外,这是一种"好"的方式,或者是否有更标准的方法来实现我的目标?
作为一个宠物项目,我试图熟悉NodeJS和CoffeeScript,并且发现很难让球滚动.
我发现了很多单文件超级简单应用程序的例子,比如在CoffeeScript的examples文件夹中,但是,这些都没有真正显示完整应用程序的样子.我也让谷歌觉得无济于事.
您是否有我可以学习的中型,多文件CoffeeScript/NodeJS应用程序的示例?
在研究学校项目时,我写了以下代码:
FileOutputStream fos;
ObjectOutputStream oos;
try {
fos = new FileOutputStream(file);
oos = new ObjectOutputStream(fos);
oos.writeObject(shapes);
} catch (FileNotFoundException ex) {
// complain to user
} catch (IOException ex) {
// notify user
} finally {
if (oos != null) oos.close();
if (fos != null) fos.close();
}
Run Code Online (Sandbox Code Playgroud)
问题是Netbeans告诉我resource.close()
线路抛出IOException
,因此必须被捕获或声明.它也抱怨oos
并且fos
可能尚未初始化(尽管无效检查).
这看起来有点奇怪,看到整个点是如何阻止IOException
那里的权利.
我的下意识修复是这样做的:
} finally {
try {
if (oos != null) oos.close();
if (fos != null) fos.close();
} catch (IOException ex) { …
Run Code Online (Sandbox Code Playgroud) 在我正在进行的项目中,我需要验证输入的日期 <input type="date">
使用Safari 4/5(在Mac OSX上),Javascript无法解析格式的日期YYYY-MM-DD
,NaN
而是返回而不是预期的纪元时间戳.
我正在使用以下技术在提交表单之前验证字段:
//value = '2010-06-21'
var stamp = Date.parse(value);
if (isNaN(stamp)) {
//notify user
} else {
value = new Date(stamp).format_mysql();
}
Run Code Online (Sandbox Code Playgroud)
format_mysql()
原型函数在哪里将日期(正确)格式化为MySQL日期时间格式(YYYY-MM-DD).
将-
's 替换为' /
(YYYY/MM/DD)会产生"正确"的时间戳.
我应该注意,该字段应该接受任何日期格式,而不仅仅是YYYY-MM-DD,虽然我想,但我不能使用像Date.js这样的库
我该如何解决这个问题,还是有更好的方法来解析/验证日期?
前几天我刚刚转向版本控制,经过Subversion的糟糕体验后,我转向Mercurial,到目前为止我很满意.
虽然我理解并欣赏版本控制的想法,但我对它没有任何实际经验.
现在,我正在使用它来处理我正在研究的几个网站,并且想到了几个问题:
版本控制新手的任何其他建议?
到目前为止,每个人都给了我很好的建议,但非常注重团队.我想澄清一下:
目前,我只是在我做的一些网站上使用VC.不完全自由职业的工作,但出于VC的目的,我是唯一一个真正触及网站代码的人.
此外,由于我在网站上使用PHP,因此无法进行编译.
这会显着改变您的答案吗?
我想要做的是将纪元时间(自1970年1月1日午夜以来的秒数)转换为"实际"时间(m/d/yh:m:s)
到目前为止,我有以下算法,对我来说感觉有点难看:
void DateTime::splitTicks(time_t time) {
seconds = time % 60;
time /= 60;
minutes = time % 60;
time /= 60;
hours = time % 24;
time /= 24;
year = DateTime::reduceDaysToYear(time);
month = DateTime::reduceDaysToMonths(time,year);
day = int(time);
}
int DateTime::reduceDaysToYear(time_t &days) {
int year;
for (year=1970;days>daysInYear(year);year++) {
days -= daysInYear(year);
}
return year;
}
int DateTime::reduceDaysToMonths(time_t &days,int year) {
int month;
for (month=0;days>daysInMonth(month,year);month++)
days -= daysInMonth(month,year);
return month;
}
Run Code Online (Sandbox Code Playgroud)
你可以假设成员seconds
,minutes
,hours
,month
, …
在我学习C++的过程中,我遇到了动态和静态库.
我通常得到它们的要点:编译代码以包含在其他程序中.
但是,我想了解一些关于它们的事情:
main()
函数?.dylib
和.a
文件MySQL的C++连接器)我发现的与图书馆有关的所有内容似乎都是针对那些已经知道如何使用它们的人.但是,我没有.(但是想!)
谢谢!
(我还应该注意到我使用的是Mac OS X,虽然我更喜欢保持IDE中立或面向命令行,但我使用的是QtCreator/Netbeans)
c++ ×3
datetime ×2
java ×2
algorithm ×1
coffeescript ×1
epoch ×1
javascript ×1
libraries ×1
makefile ×1
mercurial ×1
node.js ×1
permissions ×1
php ×1
resources ×1
safari ×1
sqlite ×1
try-catch ×1
validation ×1