我试图理解为什么Python被认为是一种美丽的语言.我被引导到PEP 8的美丽......这很奇怪.实际上它说你可以使用你想要的任何约定,只是保持一致......然后突然我在核心库中发现了一些奇怪的东西:
request()
getresponse()
set_debuglevel()
endheaders()
http://docs.python.org/py3k/library/http.client.html
Run Code Online (Sandbox Code Playgroud)
以下函数是Python 3.1中的新功能.这里使用PEP 8约定的哪一部分?
popitem()
move_to_end()
http://docs.python.org/py3k/library/collections.html
Run Code Online (Sandbox Code Playgroud)
所以我的问题是:PEP 8是否在核心库中使用?为什么会那样?
是否存在与PHP相同的情况,我不能只记住函数的名称,因为有可能编写名称的所有方法?
为什么即使是新功能,PEP 8也不会在核心库中使用?
在我的应用程序中,我将来自在线Web服务的数据显示到几个UITableViews中.我已经为用户添加了几种更新数据的方法,但TableView.ReloadData()方法似乎不起作用.当用户调用更新时,我从服务器获取一组新数据,将其传递给附加到UITableViewController的UITableViewSource实例,然后调用ReloadData()方法,但实际上并不重新加载数据.只有在我返回到主屏幕然后返回到表视图(因为它已经创建,我只显示已存在的实例)之后,新数据才会显示在tableview中.我究竟做错了什么?我在更新数据时尝试创建UITableViewSource的新实例,但这也无济于事.
以下是将数据加载到tableview中的代码(我将其重用于需要将数据加载到其中的任何事件):
dataControl.GetList(Tables.UPDATES)); //gets data from the server and passes it to the SQL database
Source source = GetSource(theType.Name, theType, groups); //creates a new source loaded with the data
Updates.TableView.Source = source;
Updates.TableView.AllowsSelection = false;
Updates.TableView.ReloadData();
Run Code Online (Sandbox Code Playgroud)
这个代码当然是在一个在主线程上调用的独立线程中执行的.基本上,当用户请求更新时调用相同的代码(在后台线程工作时播放动画).
我试图运行查询以查找最大值和最小值,然后使用条件运算符.但是,当我尝试运行以下查询时,它给出了错误 - "滥用aggregate:min()".
我的查询是:
SELECT a.prim_id, min(b.new_len*36) as min_new_len, max(b.new_len*36) as max_new_len
FROM tb_first a, tb_second b
WHERE a.sec_id = b.sec_id AND min_new_len > 1900 AND max_new_len < 75000
GROUP BY a.prim_id
ORDER BY avg(b.new_len*36);
Run Code Online (Sandbox Code Playgroud)
有什么建议?
我知道这不是提出这个问题的正确位置,但也许是一个聪明人遇到并有解决方案.
我正在尝试编写一个电脑游戏,我需要一个算法来解决这个问题:
游戏在2名玩家之间进行.每边都有1.000美元.有三个"盒子",每个玩家记下他要放入这些盒子里的钱.然后比较这些数量.谁在一个盒子里放了更多的钱,得分为1分(如果每个人得到半分).获得更多积分的人赢得了对手1.000美元.游戏示例:
玩家A:[500,500,0]玩家B:[333,333,334]
玩家A获胜是因为他赢得了方框A和方框B(但输掉了方框C).
问题:放钱的最佳策略是什么?
我有更多问题要问(算法相关,而不是数学相关)但我需要首先知道这个问题的答案.
更新(1):经过一些研究后,我了解到这些类型的问题/游戏被称为Colonel Blotto Games.我尽了最大努力,发现了很少(高技术性)的文件.简而言之,我所遇到的问题(如上所述)被称为简单的Blotto游戏(只有三个具有对称资源的战场).困难的是具有10个以上具有非对称资源的战场.我读过的所有文件都说简单的Blotto游戏很容易解决.问题是,他们都没有真正说出那个"简单"的解决方案.
更新(2):我写了一个小动作文件来演示Tom Sirgedas提到的论文中的策略.你可以在megaswf测试它.说明:单击三角形内的一个点.红色区域代表胜诉案例.蓝色区域代表丢失的情况,微小的白色线代表抽奖.
我知道可以运行特定的测试类-Dtest=MyTest.但是可以在该类中运行特定测试吗?
即如果MyTest定义testFoo()和testBar(),有没有办法指定只testfoo()应该运行?
我知道在IDE中执行此操作非常简单,但我偶尔需要在另一台服务器上的命令行上运行测试.
我刚刚安装了Paperclip并尝试将图标附加到我的模型上.
has_attached_file :icon,
:styles => { :normal => "100x100>", :format => 'png' },
:storage => :s3,
:s3_credentials => "#{RAILS_ROOT}/config/s3.yml",
:url => "/icon/:slug.:extension"
:path => "icon/:slug.:extension"
Run Code Online (Sandbox Code Playgroud)
s3.yml包含我的桶名和两个键.
slug interpolation在config/initializers/paperclip.rb中定义为
Paperclip.interpolates('slug') do |attachment, style|
attachment.instance.cached_slug
end
Run Code Online (Sandbox Code Playgroud)
当我调用game.icon.url时,我收到此错误:
undefined method `icon_file_name' for #<Game:0x4000f50>
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
我在Windows 7 x64上运行rails 3.0.4和ruby 1.9.2,如果它有任何区别的话.
我正在尝试获取一个对象并设计一个SQL表来存储它.该对象有一个名为"Roles"的成员,它是一个包含4个值的枚举.每个对象可以有几个不同的角色.
现在,我已经使用枚举并从中创建了一个同名的SQL表,并添加了4个角色.现在我正在尝试设计对象表,我无法弄清楚如何让多对多的关系为它工作.我也希望它与Linq-to-SQL一起使用.保留枚举会很好,但如果不是,字符串数组也可以工作.
简而言之,我需要一个在Roles和Object.Roles(或Object.Roles [])之间具有多对多的表.
谢谢!
我知道有一个tableHeaderView属性,但是当我将视图添加到它时,它不会隐藏在滚动区域上方.
我希望拥有的是,当您拉下桌面视图并按住并看到我的UIView进入视图时,我的自定义视图会显示出来.这是在许多应用程序上完成的,用于放置徽标或稍微隐藏,直到用户拉下桌面视图(下拉时Twitter/Facebook).
我目前正在使用以下内容,并没有将其排除在视图之外:
UILabel *l = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 300, 20)];
l.text = @"Hidden Text";
l.textColor = [UIColor redColor];
self.tableView.tableHeaderView = l;
[l release];
Run Code Online (Sandbox Code Playgroud) 我在页面上有几个标题,我需要在每个页面上填充一个链接到相应锚点的导航框."
但是我的标题都没有锚定.我有太多页面无法手动执行此操作.谁能想出一个干净的jquery解决方案?
c# ×2
iphone ×2
sql ×2
algorithm ×1
amazon-s3 ×1
anchor ×1
attachment ×1
game-theory ×1
html ×1
ios ×1
java ×1
jquery ×1
linq-to-sql ×1
math ×1
maven ×1
mono ×1
paperclip ×1
pep8 ×1
php ×1
python ×1
sdk ×1
uitableview ×1
unit-testing ×1
xamarin.ios ×1