问题列表 - 第26263页

在ruby中有begin ... rescue ... end(异常块)的功能版本吗?

我想在ruby中做这样的事情:

safe_variable = begin
  potentially_nil_variable.foo
rescue
  some_other_safe_value
end
Run Code Online (Sandbox Code Playgroud)

...并将异常块(开始/救援/结束)视为函数/块.这不起作用,但有没有办法得到类似的结果?

请注意,我实际上在做的是这个,但是IMO很丑陋:

begin
  safe_variable = potentially_nil_variable.foo
rescue
  safe_variable = some_other_safe_value
end
Run Code Online (Sandbox Code Playgroud)

UPDATE

我想我在ruby语法上遇到了一个问题.我实际上在做的是:

object_safe = begin potentially_nil_variable.foo
rescue ""
end
Run Code Online (Sandbox Code Playgroud)

错误是class or module required for rescue clause.可能它认为""应该是异常结果的占位符.

ruby functional-programming exception

0
推荐指数
1
解决办法
370
查看次数

如何使ToolStripComboBox填充ToolStrip上的所有可用空间?

ToolStripComboBox放在ToolStripButton之后,后面是另一个右对齐的.如何最好地设置ToolStripComboBox以始终调整其长度以填充前面和下面的ToolStripButtons之间的所有可用空间?

在过去,我曾经处理父调整大小事件,根据相邻元素坐标计算要设置的新长度并设置新大小.但是现在,当我开发一个新的应用程序时,我想知道是否没有更好的方法.

c# toolstrip winforms toolstripcombobox

5
推荐指数
2
解决办法
6944
查看次数

如何在Objective-C中快速搜索对象数组

如果属性是字符串类型,在Objective-C中是否有一种方法可以通过包含对象的属性搜索对象数组?

例如,我有一个人物对象的NSArray.Person有两个属性,NSString*firstName和NSString*lastName.

搜索数组以找到在firstName或lastName属性中的任何位置匹配"Ken"的所有人的最佳方法是什么?

search cocoa objective-c

11
推荐指数
2
解决办法
2万
查看次数

重复的addEventListener调用会创建重复的侦听器条目吗?

如果我有一个调用的对象

addEventListener(Event.ENTER_FRAME, update);  
addEventListener(Event.ENTER_FRAME, update);
Run Code Online (Sandbox Code Playgroud)

会增加2个听众吗?

actionscript-3

12
推荐指数
1
解决办法
1987
查看次数

如何检查FTP目录是否存在

寻找通过FTP检查给定目录的最佳方法.

目前我有以下代码:

private bool FtpDirectoryExists(string directory, string username, string password)
{

    try
    {
        var request = (FtpWebRequest)WebRequest.Create(directory);
        request.Credentials = new NetworkCredential(username, password);
        request.Method = WebRequestMethods.Ftp.GetDateTimestamp;

        FtpWebResponse response = (FtpWebResponse)request.GetResponse();
    }
    catch (WebException ex)
    {
        FtpWebResponse response = (FtpWebResponse)ex.Response;
        if (response.StatusCode == FtpStatusCode.ActionNotTakenFileUnavailable)
            return false;
        else
            return true;
    }
    return true;
}
Run Code Online (Sandbox Code Playgroud)

无论目录是否存在,都返回false.有人能指出我正确的方向.

c# ftp ftpwebrequest

29
推荐指数
4
解决办法
8万
查看次数

将凸包转换为二进制掩码

我想生成一个二进制掩码,其中包含内部所有体素的二进制掩码,以及体积外所有体素的零.体积由围绕一组3D坐标(<100;一些坐标在体积内)的凸包定义.

我可以使用CONVHULLN获取凸包,但是如何将其转换为二进制掩码?

如果没有通过凸包的好方法,你还有其他想法如何创建二进制掩码?

matlab geometry convex-hull

4
推荐指数
1
解决办法
6031
查看次数

Google Maps API V3中的API密钥是什么?

在旧版本的API中,我必须使用类似的东西将javascript插入到页面中,以便只使用基本功能:

http://maps.google.com/maps?file=api&v=2&key= GoogleMapsAPIKey

我必须为每个站点配置API密钥.看一下文档,它说要获得一个基本的地图,我只需要这个:

http://maps.google.com/maps/api/js?sensor= true/false

API密钥在哪里适用?如果我只是计划使用基本地图和标记而不是更高级的功能,我是否需要担心?

我也在localhost上测试,但常见问题解答说我还需要为它注册一个密钥,我还没有这样做,它仍然有效.

javascript google-maps api-key google-maps-api-3

58
推荐指数
3
解决办法
8万
查看次数

确定无序向量<T>是否具有所有唯一元素

分析我的cpu绑定代码表明我花了很长时间检查容器是否包含完全唯一的元素.假设我有一些未分类元素的大容器(有<=定义),我有两个关于如何做到这一点的想法:

第一个使用一组:

template <class T>
bool is_unique(vector<T> X) {
  set<T> Y(X.begin(), X.end());
  return X.size() == Y.size();
}
Run Code Online (Sandbox Code Playgroud)

第二个循环元素:

template <class T>
bool is_unique2(vector<T> X) {
  typename vector<T>::iterator i,j;
  for(i=X.begin();i!=X.end();++i) {
    for(j=i+1;j!=X.end();++j) {
      if(*i == *j) return 0;
    }
  }
  return 1;
}
Run Code Online (Sandbox Code Playgroud)

我已经尽我所能测试了它们,而且从阅读有关STL的文档中我可以收集到的,答案是(像往常一样),这取决于.我认为在第一种情况下,如果所有元素都是唯一的,那么它非常快,但如果存在大的简并性,则操作似乎需要O(N ^ 2)时间.对于嵌套迭代器方法,相反似乎是正确的,X[0]==X[1]如果所有元素都是唯一的,则可以快速点亮,但是(如果可以理解)O(N ^ 2)时间.

有没有更好的方法来做到这一点,也许是为此目的而构建的STL算法?如果没有,有什么建议可以提高效率吗?

c++ algorithm stl unique

37
推荐指数
5
解决办法
1万
查看次数

带有nib作为子视图的自定义视图似乎没有加载

我创建了一个自定义视图,从nib加载其内容,如下所示:

/* PricingDataView.h */

#import <UIKit/UIKIt.h>

@interface PricingDataView : UIView {
  UIView *contentView;
}
@property (nonatomic, retain) IBOutlet UIView *contentView;
@end

/* PricingDataView.m */

#import "PricingDataView.h"

@implementation PricingDataView
@synthesize contentView;

- (id)initWithFrame:(CGRect)frame {
  if ((self = [super initWithFrame:frame])) {
    [[NSBundle mainBundle] loadNibNamed:@"PricingDataView" owner:self options:nil];
    [contentView setFrame:frame];
    [self addSubview:contentView];
  }
  return self;
}

/* ... */
Run Code Online (Sandbox Code Playgroud)

在nib文件中,我设置PricingDataView为文件所有者的类型,并连接contentViewIB中的插座.我将UIView接口库中的常规放置到显示给用户的全尺寸视图,然后将其类名更改为PricingDataView.它全部构建,但在运行时,我的自定义视图应该是什么都没有呈现.

我把断点放进去PricingDataView.initWithFrame,但它们没有击中,所以我知道我错过了会导致视图被初始化的东西.我很好奇的是,在从nib加载我的其他视图的过程中,所有的初始化都发生在我身上,但不是这个.为什么?

iphone views objective-c interface-builder nib

3
推荐指数
1
解决办法
3993
查看次数

正确处理lambda表达式中可能的System.NullReferenceException

这是有问题的查询

return _projectDetail.ExpenditureDetails
    .Where(detail => detail.ProgramFund == _programFund
         && detail.Expenditure.User == _creditCardHolder)
    .Sum(detail => detail.ExpenditureAmounts.FirstOrDefault(
        amount => amount.isCurrent && !amount.requiresAudit)
    .CommittedMonthlyRecord.ProjectedEac);
Run Code Online (Sandbox Code Playgroud)

表结构
ProjectDetails(1到多个)支出详细信息
支出详细信息(1到多个)支出
支出支出额(1比1)承诺月度记录

ProjectedEac是CommittedMonthlyRecords上的十进制字段.

我在单元测试中发现的问题(尽管不太可能发生),以下行可能为null:

detail.ExpenditureAmounts.FirstOrDefault(
    amount => amount.isCurrent && !amount.requiresAudit)
Run Code Online (Sandbox Code Playgroud)

我的原始查询是一个嵌套循环,在那里我将多次访问数据库,我不想重复.我在这里看到了类似的问题,但解决方案似乎并不合适.

有任何想法吗?

c# linq lambda nullreferenceexception

5
推荐指数
1
解决办法
2104
查看次数