在Oracle PL/SQL中创建过程(或函数)时,不能指定varchar2参数的最大长度,只能指定数据类型.例如
create or replace procedure testproc(arg1 in varchar2) is
begin
null;
end;
Run Code Online (Sandbox Code Playgroud)
您是否知道可以作为Oracle中此过程的arg1参数传递的字符串的最大长度?
这是一个非常基本的问题,令我感到沮丧.让我们说在一个解决方案中,我有两个项目.让我们调用第一个项目SimpleMath.它有一个头文件"Add.h",它有
int add(int i, int j)
Run Code Online (Sandbox Code Playgroud)
和实现"Add.cpp"有
int add(int i, int j) {
return i+j;
}
Run Code Online (Sandbox Code Playgroud)
现在让我们说在第二个项目中我想使用add函数.但是,这段代码:
#include"..\SimpleMath\Add.h"
int main() {
add(1, 2);
}
Run Code Online (Sandbox Code Playgroud)
导致"未解决的外部符号".如何让第二个程序"知道".cpp文件中的实际实现.作为旁注,所有代码都是虚构的,这不是我实际编程的方式.
给出一周的数字,例如date -u +%W,你如何计算从周一开始的那一周的天数?
第40周的rfc-3339输出示例:
2008-10-06
2008-10-07
2008-10-08
2008-10-09
2008-10-10
2008-10-11
2008-10-12
Run Code Online (Sandbox Code Playgroud) 如何从ExtJS表单保存数据?将业务层中的数据加载到表单或网格中?
我已经看到一些Python程序员相当一致地使用以下样式(我们称之为样式1):
import some_module
# Use some_module.some_identifier in various places.
Run Code Online (Sandbox Code Playgroud)
为了支持这种风格,你可以引用"明确胜于隐性"的格言.我见过其他程序员使用这种风格(风格2):
from some_module import some_identifier
# Use some_identifier in various places.
Run Code Online (Sandbox Code Playgroud)
我在样式2中看到的主要好处是可维护性 - 特别是对于duck typing理想我可能想要some_module替换some_other_module.我还觉得"可读性计数"格言的风格2胜.虽然我倾向于不同意,但人们总是认为在使用第一种风格时,搜索和替换是一个很好的选择.
附录:有人指出,你可以使用as从解决开关some_module以some_other_module在风格1.我忘了提,这也是常见的决定实现some_identifier您在目前的模块,这使得同等的创建some_module容器略显尴尬.
我想在TextBox中显示数据时使用数据绑定.我基本上是这样做的:
public void ShowRandomObject(IRandomObject randomObject) {
Binding binding = new Binding {Source = randomObject, Path = new PropertyPath("Name")};
txtName.SetBinding(TextBox.TextProperty, binding);
}
Run Code Online (Sandbox Code Playgroud)
我似乎无法找到解除绑定的方法.我将使用许多不同的对象调用此方法,但TextBox将保持不变.有没有办法删除以前的绑定,还是在设置新绑定时自动完成?
我有一个函数将一个字符串解析为两个字符串.在C#中我会声明它是这样的:
void ParseQuery(string toParse, out string search, out string sort)
{
...
}
Run Code Online (Sandbox Code Playgroud)
我会这样称呼它:
string searchOutput, sortOutput;
ParseQuery(userInput, out searchOutput, out sortOutput);
Run Code Online (Sandbox Code Playgroud)
当前项目必须在C++/CLI中完成.我试过了
using System::Runtime::InteropServices;
...
void ParseQuery(String ^ toParse, [Out] String^ search, [Out] String^ sort)
{
...
}
Run Code Online (Sandbox Code Playgroud)
但如果我这样称呼它:
String ^ searchOutput, ^ sortOutput;
ParseQuery(userInput, [Out] searchOutput, [Out] sortOutput);
Run Code Online (Sandbox Code Playgroud)
我得到一个编译器错误,如果我这样称呼它:
String ^ searchOutput, ^ sortOutput;
ParseQuery(userInput, searchOutput, sortOutput);
Run Code Online (Sandbox Code Playgroud)
然后我在运行时收到错误.我该如何申报和调用我的功能?
我正在尝试为Linux编写一个Mono C#守护进程.
当它完成处理而不是仅仅杀死进程时,我想做它的启动和停止.
有没有人有这方面的例子?
编辑:我想出如何在debian中使用start-stop-daemon --background,所以我想我现在就用它.
编辑:我也在java中实现这个,他们有这个很好的addShutdownHook,可以捕获终止应用程序.我需要花费更多的时间来整理单声道服务的依赖关系,或找到一种方法来捕获应用程序终止.
有SessionEnd事件,但这仅适用于服务而非控制台应用程序
我在另一个代码中看到了第二个,我想这个长度比较是为了提高代码生产率.它在解析器中用于具有特定字典的脚本语言:单词长度为4到24个字母,平均为7-8个字母,字母表包括26个拉丁字母加上"@","$"和"_".
长度比较用于转义==运算符使用STL字符串,这显然需要比简单整数比较更多的时间.但同时在给定字典中的第一个字母分布仅比字大小的分布宽,因此比较字符串的两个第一个字母通常通常不同于该字符串的大小.这使长度比较变得不必要.
我已经运行了一些测试,这就是我发现的:测试两个随机字符串比较百万次,第二种方式更快,所以长度比较似乎是有帮助的.但是在一个工作项目中,它在调试模式下运行速度更慢,在发布模式下运行速度更快.
所以,我的问题是:为什么长度比较可以加强比较,为什么它可以减缓它?
UPD:我也不喜欢那种第二种方式,但我认为这是有原因的,我想知道,这是什么原因.
UPD2:说真的,问题不在于如何做到最好.在这种情况下,我甚至不再使用STL字符串了.毫无疑问,长度比较是不必要的和错误的等等.奇迹是 - 它确实在某个特定测试中稍微好一些.这怎么可能?
假设我的类是从压缩的.war文件加载或加载到其他地方的,我怎样才能发现给定包中的所有资源?枚举文件不会真正起作用,因为这是一个war文件.这很可能涉及使用当前的类加载器?
那里有一个图书馆吗?谷歌搜索显示只有一些黑客与列表文件.
c# ×2
.net ×1
asp.net-ajax ×1
c++ ×1
c++-cli ×1
daemon ×1
date ×1
duck-typing ×1
extjs ×1
java ×1
javascript ×1
linux ×1
list ×1
mono ×1
mono-service ×1
oracle ×1
performance ×1
php ×1
plsql ×1
python ×1
resources ×1
stdstring ×1
stl ×1
visual-c++ ×1
war ×1
wpf ×1