我是这样做的:
inNumber = somenumber
inNumberint = int(inNumber)
if inNumber == inNumberint:
print "this number is an int"
else:
print "this number is a float"
Run Code Online (Sandbox Code Playgroud)
这样的事情.
有没有更好看的方法来做到这一点?

看到每个缩进处的这些虚线......
如何将其关闭?
我一定是不小心碰到了一些键盘快捷键,但我在设置中的任何地方都找不到.
对不起,这是一个非常愚蠢的问题,但这些行真的很烦我,我不知道还有什么地方要转:)
text-editor visual-studio-2010 visual-studio visual-studio-2012
我将所有功能都保存在一个文本文件中'CREATE OR REPLACE FUNCTION somefunction'.因此,如果我添加或更改某些功能,我只需将文件提供给psql.
现在,如果我向现有函数添加或删除参数,它会创建一个具有相同名称的重载,并按照确切的顺序删除所有参数类型中的原始I类型,这是一种单调乏味的操作.
是否有某种通配符,我可以使用DROP具有给定名称的所有函数,所以我可以添加DROP FUNCTION行到我的文件的顶部?
所以假设我碰巧在我的应用程序中有一个未处理的异常,或者由于某种原因它崩溃了.有什么方法让我捕获输出并在应用程序崩溃时显示错误报告对话框.
我在想的是在后台运行一个小程序,其唯一的工作就是监听主应用程序的异常退出,然后显示"报告"对话框,用户可以选择向我发送错误输出.
不确定如何实现这一点,或者这是否是正确的方法.
报告错误消息将是一项简单的任务,但我不知道如何捕获未处理异常的输出或获取退出代码(我假设程序在崩溃时会给出除0以外的退出代码).
在正确的方向上轻推是很棒的.
我的理解是,当你调用last_insert_id()时,它会通过连接进行,所以你将获得在调用last_insert_id()的同一连接上插入的最后一行的id,对吗?
那么如果我在'AFTER INSERT'触发器中调用last_insert_id()怎么办?
我想要做的基本上就是这个
DELIMITER $$
CREATE TRIGGER sometrigger
AFTER INSERT ON sometable
BEGIN
INSERT INTO anothertable (id, lastup) VALUES (last_insert_id(), NOW());
END $$
Run Code Online (Sandbox Code Playgroud)
非常重要的是'anothertable'中的id与'sometable'中的id相同是否可行或者我应该创建一个存储过程而不是插入到两个表中?
或者可能在触发器中有一些从insert语句中获取导致触发器触发的值?我还没有发现任何相关信息.
另一个datagrid键绑定问题
我有一个数据网格.它的选择模式设置为FullRow和KeyboardNavigation.TabNavigation ="Once",我希望得到我想要的结果,但事实并非如此.
当数据网格具有焦点时按下Tab键,它将逐个选中网格中的每一列.因此,如果我选中具有4列的网格,我将需要按Tab键4次才能转到下一个tabindex.
我想要的是Tab键在第一次按下时跳出数据网格,并将焦点放在下一个tabindex上...如果这是有道理的.
我试过覆盖keydown事件处理程序中的tab键,就像这样.
class BetterDataGrid : DataGrid
{
..............
protected override void OnKeyDown(System.Windows.Input.KeyEventArgs e)
{
..............
if (e.Key == Key.Tab)
{
Console.WriteLine("TAB");
MoveFocus(new TraversalRequest(FocusNavigationDirection.Next));
}
.........
}
Run Code Online (Sandbox Code Playgroud)
它确实将"TAB"写入控制台,但选项卡仍然保持默认行为.不确定这是否是下一个tabindex的正确方法,但是这应该使tab键不做什么,只是写入控制台或导致异常.
让我觉得不可能覆盖tab键行为.
希望得到一些有益的意见.
一如既往,先谢谢.
在postgresql中是否有任何内置函数来获取列的总和.
只是一个简单的例子
CREATE TABLE sample_table (a INTEGER, b REAL);
INSERT INTO sample_table (a, b) VALUES (5, 7.22);
INSERT INTO sample_table (a, b) VALUES (5, 5.6);
INSERT INTO sample_table (a, b) VALUES (1, 23.5);
INSERT INTO sample_table (a, b) VALUES (1, 2.2)
Run Code Online (Sandbox Code Playgroud)
现在让我说我想得到'b'的所有值的总和,其中a = 5
我该怎么做?
我对datagrid有一个小问题.
在我的网格中,我有一个复选框列,这是唯一可编辑的列.
我正在寻找的行为是,一旦复选框的状态发生变化,datagrid就会更新i的数据源.因此,用户检查/取消选中框>基础数据表的更新.
当行失去焦点时,默认行为似乎更新源,要求用户按键或单击其他控件以保存更改.
我该如何改变这种行为?
我没有看到任何可以执行此操作的datagrid属性,也没有看到DataGridCheckBoxColumn的CheckChanged事件.
在我拔掉剩下的头发之前,我想对此有所了解.
我正在尝试获取文件夹的所有权.我当然是以管理员身份运行程序,因为我可以更改资源管理器中的所有者,所以我有权获得所有权.
但是,如果管理员或我的帐户拥有它,我可以更改所有者,如果我已拥有所有权,我可以更改权限.
如果我试图给自己一个文件的所有权,让我说由SYSTEM拥有,那么我得到一个unauthorizedexception.
我用accesscontrol方法尝试了一些不同的东西,但没有任何效果,我认为这个最新的方法直接来自本书.
private static void makePerm(string file, NTAccount account)
{
FileInfo finfo = new FileInfo(file);
FileSecurity fsecurity = finfo.GetAccessControl();
//also tried it like this //fsecurity.ResetAccessRule(new FileSystemAccessRule(string.Format(@"{0}\{1}", Environment.UserDomainName.ToString(), Environment.UserDomainName.ToString()), FileSystemRights.FullControl, AccessControlType.Allow));
fsecurity.SetOwner(account);
finfo.SetAccessControl(fsecurity);
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用Windows 7顺便说一句.
我在这里错过了什么?
好的,我对此感到非常困惑.
我想要的是代码完成:
(是的,我被智能宠坏了)
我需要做什么?
我真的很困惑,因为似乎有无数的代码完成插件,只是不知道我需要/想要哪些.
请不要建议其他编辑/ ide.我知道很多人都有开箱即用的东西,但我真的很喜欢emacs.
提前致谢.
c# ×4
wpf ×3
datagrid ×2
postgresql ×2
python ×2
autocomplete ×1
dynamic-sql ×1
emacs ×1
key-bindings ×1
lastinsertid ×1
mysql ×1
permissions ×1
plpgsql ×1
sql-drop ×1
sum ×1
text-editor ×1
triggers ×1
windows ×1
wpfdatagrid ×1