我希望尝试尽可能简单地保持现有字符串的多元化,并且想知道str.format()在寻找kwargs时是否有可能解释默认值.这是一个例子:
string = "{number_of_sheep} sheep {has} run away"
dict_compiled_somewhere_else = {'number_of_sheep' : 4, 'has' : 'have'}
string.format(**dict_compiled_somewhere_else)
# gives "4 sheep have run away"
other_dict = {'number_of_sheep' : 1}
string.format(**other_dict)
# gives a key error: u'has'
# What I'd like is for format to somehow default to the key, or perhaps have some way of defining the 'default' value for the 'has' key
# I'd have liked: "1 sheep has run away"
Run Code Online (Sandbox Code Playgroud)
干杯
我正在尝试在我的xib中将一个NSTableView嵌套在另一个基于视图的tableview中.当我这样做时,我得到以下构建错误(当尝试编译xib时):
An instance of NSTableColumn with object ID jRp-dg-jOe did not archive its child (NSTableCellView) with an object of ID y8a-qz-ChK
有没有人看过这个,或者知道如何修复它?
我假设我可以为NSTableCellView创建另一个xib,并使用它将其连接到父NSTableView
NSNib *cellNib = [[NSNib alloc] initWithNibNamed:@"MyCellContainingAnNSTableView" bundle:nil];
[parentTable registerNib:cellNib forIdentifier:@"SomeIdentifier"];
但那有点烦人......
我正在尝试编写plpgsql以下形式的函数(注意这是一个简化版本):
CREATE FUNCTION check_valid(tablename regclass) RETURNS boolean AS $$
DECLARE valid_row tablename%ROWTYPE;
BEGIN
EXECUTE format('SELECT * FROM %s', tablename) into valid_row;
IF valid_row IS NULL THEN
RETURN QUERY SELECT false;
ELSIF valid_row.is_valid = false;
RETURN QUERY SELECT false;
ELSIF valid_row.hit_count > valid_row.hit_limit;
RETURN QUERY SELECT false;
ELSE
RETURN QUERY SELECT true;
END IF;
END
$$ LANGUAGE plpgsql;
Run Code Online (Sandbox Code Playgroud)
失败的部分是DECLARE线.如何根据变量表名声明类型?或许我需要以某种方式施展它?
类似的DECLARE mytable%ROWTYPE;工作正常,但如果我使用变量名称,如tablename%ROWTYPE:
ERROR: relation "tablename" does not exist
cocoa ×1
macos ×1
nstableview ×1
objective-c ×1
plpgsql ×1
postgresql ×1
python ×1
sql ×1
string ×1