在Ruby 1.9(YARV)中,您可以获得所有当前分配的对象的计数,如下所示:
ObjectSpace.count_objects
Run Code Online (Sandbox Code Playgroud)
它返回一个哈希值
{:TOTAL=>1226560, :FREE=>244204, :T_OBJECT=>26141, :T_CLASS=>9819, :T_MODULE=>1420, :T_FLOAT=>287,
:T_STRING=>260476, :T_REGEXP=>4081, :T_ARRAY=>72269, :T_HASH=>14923, :T_STRUCT=>4601, :T_BIGNUM=>7,
:T_FILE=>16, :T_DATA=>54553, :T_MATCH=>5, :T_COMPLEX=>1, :T_RATIONAL=>15, :T_NODE=>524818,
:T_ICLASS=>8924}
Run Code Online (Sandbox Code Playgroud)
这些哈希键的含义是什么?有些像T_STRING和T_FILE是显而易见的.我特别好奇:FREE,:T_ICLASS,:T_DATA,和:T_NODE.
我有以下非常简单的使用ListView的测试程序.我创建一个ListView并将其设置为内容视图.我设置了一个提供行的ListAdapter.有30行,每行包含一个LinearLayout ViewGroup.在ViewGroup中,我放置了一个TextView和一个Button.当我运行程序时,我发现我无法选择列表的行.但是,我可以滚动列表并单击按钮.
如果我从LinearLayout中删除该按钮(以便它只包含TextView),那么我可以选择列表的行.我希望能够在我的各个行视图上有按钮,并且仍然可以选择列表的行.在另一个论坛上,有人说这是可能的,但我不知道如何实现它.
任何人都可以给我一个线索吗?
谢谢.
public class ListViewTest extends Activity implements ListAdapter
{
int m_count;
DataSetObserver m_observer;
public ListViewTest()
{
m_count = 30;
m_observer = null;
}
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
ListView lv = new ListView(this);
lv.setAdapter(this);
lv.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
setContentView(lv);
}
@Override
public boolean areAllItemsEnabled() {
return true;
}
@Override
public boolean isEnabled(int position) {
return true;
}
@Override
public int getCount()
{
return m_count;
}
@Override
public Object …Run Code Online (Sandbox Code Playgroud) 我正在尝试生成低于10亿的素数列表.我正在尝试这个,但这种结构非常糟糕.有什么建议?
a <- 1:1000000000
d <- 0
b <- for (i in a) {for (j in 1:i) {if (i %% j !=0) {d <- c(d,i)}}}
Run Code Online (Sandbox Code Playgroud) 我经常需要删除不在特定svn源树中的所有文件.要获取所有文件名列表,我使用:
svn st | grep ^? | awk '{print $2}'
Run Code Online (Sandbox Code Playgroud)
这个命令会给我一个文件名列表,每行一个名字.那怎么能表达出来的想法呢?
for (each line in ${svn st | grep ^? | awk '{print $2}' )
rm -f line
Run Code Online (Sandbox Code Playgroud)
?
请考虑以下代码段:
float val1 = 214.20;
double val2 = 214.20;
printf("float : %f, %4.6f, %4.2f \n", val1, val1, val1);
printf("double: %f, %4.6f, %4.2f \n", val2, val2, val2);
Run Code Online (Sandbox Code Playgroud)
哪个输出:
float : 214.199997, 214.199997, 214.20 | <- the correct value I wanted
double: 214.200000, 214.200000, 214.20 |
Run Code Online (Sandbox Code Playgroud)
据我所知,它214.20具有无限的二进制表示.第一行的前两个元素具有预期值的近似值,但最后一个元素似乎根本没有近似值,这引出了以下问题:
如何做scanf,fscanf,printf,fprintf(等)函数将精度格式?
没有提供精确度,printf打印出一个近似值,但是%4.2f它给出了正确的结果.你能解释一下这些函数用来处理精度的算法吗?
Erg,我正在尝试使用Reflector在BCL中找到这两个方法,但找不到它们.这两个片段之间的区别是什么?
A:
IEnumerable<string> items = ...
Parallel.ForEach(items, item => {
...
});
Run Code Online (Sandbox Code Playgroud)
B:
IEnumerable<string> items = ...
foreach (var item in items.AsParallel())
{
...
}
Run Code Online (Sandbox Code Playgroud)
使用一个比另一个有不同的后果吗?(假设我在两个示例的括号内部所做的事情都是线程安全的.)
我的iterface中有以下方法签名:
void SetItem(ref AddressItem item);
Run Code Online (Sandbox Code Playgroud)
我像这样做一个参数约束:
IAddAddressForm form = Substitute.For<IAddAddressForm>();
AddressItem item = null;
form.SetItem(Arg.Is(item));
Run Code Online (Sandbox Code Playgroud)
但是因为裁判失败了.如果我拿出ref,那就行了.但我需要在这里通过引用.
任何想法如何得到这个?
旁注:如果传入的值为null,我的最终目标是在SetItem中抛出异常.如果你可以提供帮助,那么你会得到额外的积分!
我无法弄清楚如何为我的QLPreviewController类设置previewItemTitle属性.它似乎有点奇怪,因为这个类的iPhone开发人员文档说该属性@property (readonly)意味着我无法设置它.
有任何想法吗.谢谢
我的代码:
QLPreviewController *preview = [[QLPreviewController alloc] init];
[preview setDataSource:self];
[self presentModalViewController:preview animated:YES];
Run Code Online (Sandbox Code Playgroud) 即使有几个人问过这个问题,似乎问题与我的不同.像大多数人似乎得到行号或问题可能是由ViewState引起的.
我使用的是Asp.net 4.0 MVC 2.0,所以我认为我根本不使用ViewState.我的错误没有给我行号很好.所以我不知道是什么导致它或我的代码中的位置.
System.Web.HttpException (0x80070057): The remote host closed the connection. The error code is 0x80070057.
at System.Web.Hosting.IIS7WorkerRequest.RaiseCommunicationError(Int32 result, Boolean throwOnDisconnect)
at System.Web.Hosting.IIS7WorkerRequest.ExplicitFlush()
at System.Web.HttpResponse.Flush(Boolean finalFlush)
at System.Web.HttpResponse.Flush()
at System.Web.HttpResponse.End()
at System.Web.HttpResponse.Redirect(String url, Boolean endResponse, Boolean permanent)
at System.Web.HttpResponseWrapper.Redirect(String url)
at MySolutionFile.Domain.RequiresSSL.OnActionExecuting(ActionExecutingContext filterContext)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation)
at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClassd.<>c__DisplayClassf.<InvokeActionMethodWithFilters>b__c()
at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation)
at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClassd.<>c__DisplayClassf.<InvokeActionMethodWithFilters>b__c()
at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodWithFilters(ControllerContext controllerContext, IList`1 filters, ActionDescriptor actionDescriptor, IDictionary`2 parameters)
at System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName)
at System.Web.Mvc.Controller.ExecuteCore()
at …Run Code Online (Sandbox Code Playgroud)