我听说在C++中,get...()
在定义访问器的同一个类的成员函数中使用accessor()是一个很好的编程习惯吗?是真的吗?应该这样做吗?
例如,这是首选:
void display() {
cout << getData();
}
Run Code Online (Sandbox Code Playgroud)
在这样的事情:
void display() {
cout << data;
}
Run Code Online (Sandbox Code Playgroud)
data
是定义访问器的同一类的数据成员...与display()
方法相同.
我正在考虑这样做的开销,特别是如果你需要在同一个类中多次调用访问器而不是直接使用数据成员.
当我点击其中一个列表项时,我已经填充了ListActivity
一个启动另一个活动的Cursor
使用SimpleCursorAdapter
.我也ViewBinder
用来做一些自定义的数据转换.
我想CheckBox
在列表中的每一行添加一个,所以我改变了视图,并添加了一个CheckBox
重力权利.
添加CheckBox
已删除了单击项目的功能.按下列表项时,不再调用onListItemClick
我覆盖的方法ListActivity
.删除此CheckBox
修复程序.为什么是这样?
此外,如果单击列表项的主要部分但CheckBox
在选中项目时具有其他功能,如何设置列表以便继续执行我所需的功能?是否会onCheckedChangedListener
为列表中的每个项目重新设置工作或相同的视图实例?
我有VBScript代码,它启动QuickTest Professional,执行一系列QTP测试,并通过电子邮件发送结果.这很好用,但我更喜欢使用具有更好工具支持的语言(例如,一个好的IDE).我目前正在从启动脚本调用.Net库,所以我想知道是否可以使用像C#这样的语言来完成相同的任务.如果是这样,是否有任何好的资源可以解决这个问题?我可以通过谷歌找到关于这个主题的很少的内容,似乎没有关于这个主题的任何其他问题.
为清楚起见,我已经包含了完成大部分工作的例程的代码.这不包括净声明,但failedTestsList
并allTestsList
是实例System.ArrayList
.
编辑:所有QTP文档示例都使用VBScript,但正如您所看到的,代码只是创建QTP对象.我认为这些可以从支持创建这些对象的另一种语言调用.从我的谷歌失败看来,似乎没有人这样做.
Sub ExecuteQTPTest(name)
Dim App, resultsPath
Dim testPath, testResults
testPath = name
allTestsList.Add(name)
Set App = CreateObject("QuickTest.Application")
App.Launch
App.Visible = False
App.Open testPath
SetQTPTestOptions(App)
SetQTPRunOptions(App)
SetQTPWebOptions(App)
App.Folders.RemoveAll
Dim qtpTest, qtpResultsOpt
Set qtpTest = App.Test
Set qtpResultsOpt = CreateObject("QuickTest.RunResultsOptions")
resultsPath = testPath & "\RES1"
qtpResultsOpt.ResultsLocation = resultsPath
qtpTest.Run qtpResultsOpt ''// Run the test
testResults = "Test Status: " & qtpTest.LastRunResults.Status & vbCrLf & _
"Last Error: " & qtpTest.LastRunResults.LastError & vbCrLf …
Run Code Online (Sandbox Code Playgroud) ColdFusion中是否有推荐的(最好是免费的)方式来访问受NTLM身份验证保护的远程文件?cfhttp标记似乎仅支持基本身份验证.
在一个字符串"abc fox fox fox ghi xyz"
中,我怎么能得到'狐狸'在字符串中重复的次数?
在课堂上我们正在做排序算法,虽然我在谈论它们和编写伪代码时理解它们很好,但我在编写实际代码时遇到了问题.
这是我在Python中的尝试:
mylist = [12, 5, 13, 8, 9, 65]
def bubble(badList):
length = len(badList) - 1
unsorted = True
while unsorted:
for element in range(0,length):
unsorted = False
if badList[element] > badList[element + 1]:
hold = badList[element + 1]
badList[element + 1] = badList[element]
badList[element] = hold
print badList
else:
unsorted = True
print bubble(mylist)
Run Code Online (Sandbox Code Playgroud)
现在,这(据我所知)正确排序,但一旦完成它就会无限循环.
如何修复此代码以使函数正确完成并正确排序任何(合理)大小的列表?
PS我知道我不应该在函数中真正打印,我应该有一个返回,但我还没有这样做,因为我的代码还没有真正起作用.
我正在使用ASP.NET MVC和ADO.NET实体框架.
我希望我的视图和控制器强类型.
但是我该如何处理实体关联呢?
这是一个简单的例子:
一个人有一个部门.部门有零个或多个人.
我的控制器将一个Person对象的实例和所有Department对象的集合传递给View.
public class PersonController : Controller
{
...
//
// GET: /Person/Create
public ActionResult Create()
{
Person Model = new Person();
Model.Id = Guid.NewGuid();
ViewData["Departments"] = db.Department;
return View(Model);
}
...
}
Run Code Online (Sandbox Code Playgroud)
我的视图有一个"部门"DropDownList,所有部门都作为选项.
<% using (Html.BeginForm()) {%>
<fieldset>
<legend>Fields</legend>
<p>
<label for="Id">Id:</label>
<%= Html.TextBox("Id") %>
<%= Html.ValidationMessage("Id", "*") %>
</p>
<p>
<label for="Name">Name:</label>
<%= Html.TextBox("Name") %>
<%= Html.ValidationMessage("Name", "*") %>
</p>
<p>
<label for="Department">Family:</label>
<%= Html.DropDownList("Department", new SelectList((IEnumerable)ViewData["Departments"], "Id", "Name"))%>
<%= Html.ValidationMessage("Department", "*")%>
</p> …
Run Code Online (Sandbox Code Playgroud) 这与Google App Engine Memcache API特别相关,但我确信它也适用于其他Memcache工具.
字典.get()方法允许您指定默认值,例如dict.get('key','defaultval')
如果您可能希望将None存储为字典中的值,则此选项非常有用.
但是,memcache.get()不允许您这样做.我修改了我的@memoize装饰器,所以它看起来像这样:
def memoize(keyformat, time=1000000):
"""Decorator to memoize functions using memcache."""
def decorator(fxn):
def wrapper(*args, **kwargs):
key = keyformat + str(args[1:]) + str(kwargs)
from google.appengine.api import memcache
data = memcache.get(key)
if Debug(): return fxn(*args, **kwargs)
if data:
if data is 'None': data = None
return data
data = fxn(*args, **kwargs)
if data is None: data = 'None'
memcache.set(key, data, time)
return data
return wrapper
return decorator
Run Code Online (Sandbox Code Playgroud)
现在我确定有一个很好的论据,我不应该首先存储None值,但是现在让我们把它放在一边.除了将无val转换为字符串并返回之外,还有更好的方法可以解决这个问题吗?
我真的不知道从哪里开始.让我们从愚蠢的问题开始:
我应该用什么语言呢?什么适合手头的任务?
接下来,真正的:
有没有办法阻止屏幕保护程序启动,没有更改光标位置?如果没有,改变光标位置即使工作?
我有一大堆数字,可能在几千兆字节范围内.第一个问题是我无法将所有这些存储在内存中.其次是任何添加这些的尝试都会导致溢出.我在考虑使用更多的滚动平均值,但它需要准确.有任何想法吗?
这些都是浮点数.
这不是从数据库中读取的,而是从多个源收集的CSV文件.它必须准确,因为它存储为秒的一部分(例如; 0.293482888929),滚动平均值可以是.2和.3之间的差值.
它是一组#,表示用户响应某些表单操作的时间.例如,在显示消息框时,按"确定"或"取消"需要多长时间.数据发送给我存储为秒.部分秒; 例如1.2347秒.将它转换为毫秒,我溢出int,long等等.相当快.即使我不转换它,我仍然会很快溢出它.我想下面的一个答案是正确的,也许我不必100%准确,只是在一个特定的StdDev内部的某个范围内看,我会足够接近.