我正在撰写一篇关于多平台编程的论文,我想包括有关优缺点的部分.从我的理解; 任何应用程序都是多平台的,对于开发人员来说是一个巨大的卖点,因为它几乎可以使任何计算机用户成为潜在的应用程序.我只想弄清楚可能的缺点.如果有的话?
如果我粘贴04562,它会自动截断前导零并将其存储为4562.
我希望它将它存储为04562.
我已经决定我需要提高我的javascript编程技巧,以及我的OO技能.我目前正在阅读一些书籍,但有时候如果没先看到一些实际的例子,就很难掌握理论.所以,我对以下场景的"最佳实践"有一个理论问题......
我想创建一个OO脚本,显示从服务器检索的搜索标签记录列表.我还希望能够编辑每个搜索标签记录.
目前我在程序上通过jQuery库提供了一些帮助:
我接受来自服务器的JSON编码的searchtag记录列表.它看起来像这样:
[
{ "searchTagName" : "tagOne", "searchTagID" : "1" },
{ "searchTagName" : "tagTwo", "searchTagID" : "2" },
{ "searchTagName" : "tagThree", "searchTagID" : "3" },
etc...
]
Run Code Online (Sandbox Code Playgroud)
我将JSON直接转储到jTemplates中以创建相应的html,如下所示:
$("#searchTagList")
.setTemplateElement("template_searchTagList")
.processTemplate(searchTagData);
Run Code Online (Sandbox Code Playgroud)
最后,我希望可以使用"就地编辑"方法修改每个搜索标签,因此我将预先构建的"就地编辑"方法附加到每个html元素:
$(".searchTag").editInPlace();
Run Code Online (Sandbox Code Playgroud)
这在程序上非常好.也许最聪明的事情就是单独留下足够好的东西.:)但是,为了争论,从OO的角度来看,写这样的东西的最佳方法是什么.
我应该有一个单独的对象"searchTagList",它具有上述每个步骤的方法吗?
var searchTagList =
{
searchTagData: JSONdata,
renderList: function () { /*send to jTemplates */ }
bindEdit: function() { /* attach edit-in-place */ }
}
Run Code Online (Sandbox Code Playgroud)
或者这是不正确的?(好像我正在做的就是将我的过程函数包装在一个对象中.)我应该以某种方式将JSON数据解析为每个搜索标签的实例,然后将各个方法附加到每个搜索标签?(这似乎是很多开销,没有收获.)
如果看起来我正在挑选头发,请提前道歉.但我真的想把这些东西直接放在脑海里.
谢谢,
特拉维斯
我有以下代码,有关如何解决此问题的任何想法,而不是在函数外声明一个int变量?我得到以下编译器错误:使用未分配的局部变量'counter'
public static int GetNumberOfDevicesForManagementGroup(Guid managementGroupId, bool firstTime)
{
int counter;
using (var ctx = new DeviceManagerEntities())
{
if (firstTime)
{
firstTime = false;
counter = 0;
GetNumberOfDevicesForManagementGroup(managementGroupId, firstTime);
}
else
{
var groups = ctx.ManagementGroups
.Where(x => x.ParentId == managementGroupId)
.ToList();
if (groups.Count != 0)
{
foreach (ManagementGroups group in groups)
{
var devices = ctx.Devices
.Where(x => x.ManagementGroups.ManagementGroupId == group.ManagementGroupId)
.ToList();
foreach (Devices device in devices)
{
counter++;
}
GetNumberOfDevicesForManagementGroup(group.ManagementGroupId, firstTime);
}
}
else
{
var devices = …Run Code Online (Sandbox Code Playgroud) 我有一个像这样的单一嵌套资源:
map.resources :bookings, :member => { :rate => :post } do |booking|
booking.resource :review
end
Run Code Online (Sandbox Code Playgroud)
给我这些路线:
new_booking_review GET /bookings/:booking_id/review/new(.:format) {:controller=>"reviews", :action=>"new"}
edit_booking_review GET /bookings/:booking_id/review/edit(.:format) {:controller=>"reviews", :action=>"edit"}
booking_review GET /bookings/:booking_id/review(.:format) {:controller=>"reviews", :action=>"show"}
PUT /bookings/:booking_id/review(.:format) {:controller=>"reviews", :action=>"update"}
DELETE /bookings/:booking_id/review(.:format) {:controller=>"reviews", :action=>"destroy"}
POST /bookings/:booking_id/review(.:format) {:controller=>"reviews", :action=>"create"}
Run Code Online (Sandbox Code Playgroud)
我试过这个:
<% form_for [@booking, @review] do |f| %>
Run Code Online (Sandbox Code Playgroud)
哪个返回了这个错误:
undefined method `booking_reviews_path' for #<ActionView::Base:0x10572b888>
Run Code Online (Sandbox Code Playgroud)
用我的评论控制器
def new
@review = Review.new
@booking = Booking.find(params[:booking_id])
end
Run Code Online (Sandbox Code Playgroud)
但这有效...如果我明确列出了URL ...
<% form_for :review, :url => booking_review_path(@booking) do |f| %>
Run Code Online (Sandbox Code Playgroud)
这不是什么大问题......但我想知道我做错了什么.
谢谢
我有一个代码将事件附加到表单.
this.form.Resize += new EventHandler(form_Resize);
Run Code Online (Sandbox Code Playgroud)
如你所见,这是由你完成的+=.如果上述代码执行两次或多次,
像这样:
this.form.Resize += new EventHandler(form_Resize);
this.form.Resize += new EventHandler(form_Resize);
this.form.Resize += new EventHandler(form_Resize);
this.form.Resize += new EventHandler(form_Resize);
this.form.Resize += new EventHandler(form_Resize);
Run Code Online (Sandbox Code Playgroud)
回调方法是多次附加的吗?
这个方法会被称为多少次
form_Resize?
如果事件的回调方法多次分配给同一个对象,事件是否会多次执行?
我正在寻找生成1到5百万之间的随机数.这个过程不一定要快(虽然它会很好),但它必须尽可能随机(我知道什么都不是随机的).我有种子的各种数据源.
这将用于选择中奖彩票.
好吧,我试图避免使用已弃用的DirectInput.
但是我需要在游戏的每个"框架"或"迭代"中抢夺所有关键状态,以便我可以采取相应的行动.例如,如果玩家在VK_RIGHT键上按下,那么他将在该帧上仅移动一个smidgen.
WM_INPUT消息的问题是它们每帧可能出现不可预测的次数,因为游戏循环的编写方式如下:
MSG message ;
while( 1 )
{
if( PeekMessage( &message, NULL, 0, 0, PM_REMOVE ) )
{
if( message.message == WM_QUIT )
{
break ; // bail when WM_QUIT
}
TranslateMessage( &message ) ;
DispatchMessage( &message ) ;
}
else
{
// No messages, so run the game.
Update() ;
Draw() ;
}
}
因此,如果堆叠了多个 WM_INPUT消息,那么它们将在Update()/ Draw()之前被处理.
我通过使用BOOL数组来解决这个问题,以记住关键是什么:
bool array_of_keys_that_are_down[ 256 ] ;
case WM_INPUT :
if( its keyboard input )
{
array_of_keys_that_are_down[ VK_CODE … 我正在调试用VC++编写的应用程序.如何在执行debuged过程期间使WinDbg打印函数名称和函数参数的所有值?
我目前正在使用Boost.Python为Python编写C++扩展.此扩展中的函数可能会生成一个包含错误信息的异常(除了描述发生的事件的人类可读字符串之外).我希望我可以将这个异常导出到Python,这样我就能抓住它并用额外的信息做些什么.
例如:
import my_cpp_module
try:
my_cpp_module.my_cpp_function()
except my_cpp_module.MyCPPException, e:
print e.my_extra_data
Run Code Online (Sandbox Code Playgroud)
不幸的是,Boost.Python似乎将所有C++异常(都是其子类std::exception)转换为RuntimeError.我意识到Boost.Python允许一个人实现自定义异常转换,但是,需要使用PyErr_SetObject一个PyObject*(对于异常的类型)和一个PyObject*(对于异常的值) - 我都不知道如何从我的Boost中获取. Python类.也许有一种方法(这将是伟大的),我还没有找到.否则有人知道如何导出自定义C++异常,以便我可以在Python中捕获它吗?
c# ×3
c++ ×3
boost-python ×1
debugging ×1
directinput ×1
directx ×1
excel ×1
exception ×1
formatting ×1
java ×1
javascript ×1
jquery ×1
nested ×1
oop ×1
python ×1
random ×1
recursion ×1
routes ×1
routing ×1
ruby ×1
stack-trace ×1
winapi ×1
windbg ×1