小编ElG*_*lan的帖子

使用空数组意外行为初始化哈希

我想Hash用空的初始化a Array和每个新的键将一个值推送到该数组.

这是我试图做的事情:

a = Hash.new([])
# => {} 
a[1] << "asd"
# => ["asd"]
a
# => {}
Run Code Online (Sandbox Code Playgroud)

预期的产出a是,{1 => ["asd"]}但没有发生.我在这里错过了什么?

Ruby版本:

ruby 2.0.0p598 (2014-11-13 revision 48408) [x86_64-linux]
Run Code Online (Sandbox Code Playgroud)

ruby hash

6
推荐指数
1
解决办法
926
查看次数

LibGdx Gdx-Pay扩展获得商品价格

我使用gdx-pay并且工作正常.但是现在我需要在用户点击购买按钮之前向用户显示商品(完整版)的本地定价.我发现该getInformation()方法仍然在android(PurchaseManagerAndroidOpenIAB)中实现.

我想继续使用gdx-pay; 有另一种方法来获得本地价格(货币)并显示给用户?

java android in-app-purchase libgdx

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

ipsec.py CANT找到属性IPPROTO_ESP和socket.IPPROTO_AH

我为python 2.6安装了模块scapy,当我导入这个模块时,我得到了这个警告:

警告:无法导入图层ipsec:'module'对象没有属性'IPPROTO_AH'

我看了socket属性,我没有找到'IPPROTO_AH'属性另外,我试图编辑模块ipsec.py并找到用其他东西替换IPPROTO_AH的方法然后我得到警告与IPPROTO_ESP!

我尝试在ipsec.py中编辑行,例如:

    overload_fields = {
    IP: {'proto': IPTest},
    IPv6: {'nh': IPTest},
    IPv6ExtHdrHopByHop: {'nh': socket.IPPROTO_AH},
    IPv6ExtHdrDestOpt: {'nh': socket.IPPROTO_AH},
    IPv6ExtHdrRouting: {'nh': socket.IPPROTO_AH},}

bind_layers(IP, AH, proto=socket.IPPROTO_AH)
bind_layers(IPv6, AH, nh=socket.IPPROTO_AH)
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题 ?

python sockets ipsec scapy

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

你有多大的数字可以存储在double中并浮动在c中?

我想弄清楚我可以使用多少大数字作为浮点数和double.但它不存储我预期的方式,除了整数值.double应该保存8个字节的信息,足以容纳变量a,但它不能保持正确.它显示1234567890123456768最后2位数字不同.当我214783648在float变量的最后一位存储或任何数字时b,它显示相同的值214783648.这应该是极限.发生什么了?

double a;
float b;
int c;
a = 1234567890123456789;
b = 2147483648;
c = 2147483647;
printf("Bytes of double: %d\n", sizeof(double));
printf("Bytes of integer: %d\n", sizeof(int));
printf("Bytes of float: %d\n", sizeof(float));

printf("\n");

printf("You can count up to %.0f in 4 bytes\n", pow(2,32));
printf("You can count up to %.0f with + or - sign in 4 bytes\n", pow(2,31));
printf("You can count up to %.0f in 4 bytes\n", pow(2,64));
printf("You …
Run Code Online (Sandbox Code Playgroud)

c floating-point sizeof

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

JavaScript中的程序方法

我最近观看了一个JavaScript视频教程,其中包含与此类似的代码:

(function (){
    var b = 10,
        c = 20, 
        d = 50;

    var e = function(){
        return b + c + d;
    };
    return e();
}());
Run Code Online (Sandbox Code Playgroud)

这是一种常见的JS编码模式.作者说这是Javascript代码中程序方法的一个例子.我不明白,你能解释一下吗?

javascript procedural-programming

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

具有UIImage的UITableViewCell,宽度未在初始显示的单元格上更新

我想在UITableViewCell里面动态调整UIImage的宽度,我正在使用故事板来设计UITableViewCell,我只是添加了一个标签和一个图像,属性得到了正确的更新,我甚至加载了值标签中的宽度显示它是正确的值,对于图像,我正在加载我想要重复的背景图像,但是如果我向上和向下滚动图像,图像将不会最初更新宽度如预期所示,这里是cellForRowAtIndexPath的代码,我也尝试将代码放在willDisplayCell方法上,结果相同

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"mycustomcell"];
    int r = [[data objectAtIndex:indexPath.row] intValue];
    UIImageView *img = (UIImageView *)[cell viewWithTag:2];
    img.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"some_img" ofType:@"png"]]];
    CGRect frame = img.frame;
    frame.size.width = r*16;
    img.frame = frame;

    int n = img.frame.size.width;
    UILabel *label = (UILabel *)[cell viewWithTag:1];
    label.text = [NSString stringWithFormat:@"custom %d", n];
    [cell setNeedsDisplay];
    return cell;
}
Run Code Online (Sandbox Code Playgroud)

我只是想让它最初工作,因为它在滚动后起作用,想法?

xcode objective-c storyboard uitableview ios

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

我应该使用静态还是命名空间?

我有一个专用的HW寄存器头文件,我创建了一个名称空间,就像这样,它保存了我所有的HW寄存器地址:

namespace{
 const uint32_t Register1                    = (0x00000000);
 const uint32_t Register2                    = (0x00000004);
 const uint32_t Register3                    = (0x00000008);
 const uint32_t Register4                    = (0x0000000c);
}
Run Code Online (Sandbox Code Playgroud)

这被认为比使用更好:

 static const uint32_t Register1             = (0x00000000);
 static const uint32_t Register2             = (0x00000004);
 static const uint32_t Register3             = (0x00000008);
 static const uint32_t Register4             = (0x0000000c); 
Run Code Online (Sandbox Code Playgroud)

我想命名空间的意思是我们不会污染全局命名空间.是对的吗?

我有一个.cpp,它使用头文件.

c++ static namespaces

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

C#SaveFileDialog

我正在使用savefiledialog来保存文件.现在我需要检查名称是否已存在.

如果存在,则用户需要有机会更改名称或覆盖现有文件.

我已经尝试了所有的东西并搜索了很多但是找不到解决方案,而我在技术上认为应该很容易.在if(File.Exists(Convert.ToString(infor)) == true)中必须进行检查.

SaveFileDialog sfd = new SaveFileDialog();
sfd.Filter = ".xlsx Files (*.xlsx)|*.xlsx";
if (sfd.ShowDialog() == DialogResult.OK)
{
    string path = Path.GetDirectoryName(sfd.FileName);
    string filename = Path.GetFileNameWithoutExtension(sfd.FileName);

    for (int i = 0; i < toSave.Count; i++)
    {
        FileInfo infor = new FileInfo(path + @"\" + filename + "_" + exportlist[i].name + ".xlsx");
        if (File.Exists(Convert.ToString(infor)) == true)
        {

        }
        toSave[i].SaveAs(infor);
        MessageBox.Show("Succesvol opgeslagen als: " + infor);
    }
}
Run Code Online (Sandbox Code Playgroud)

c# savefiledialog visual-studio visual-studio-2012

3
推荐指数
2
解决办法
2398
查看次数

C#列出两个参考?

我需要2个单独的列表和一个包含这两个列表的项目的列表.

List<int> list1 = new List<int>();
List<int> list2 = new List<int>();

List<int> list3 = list1 & list2
Run Code Online (Sandbox Code Playgroud)

当我在list1中添加一些整数时,我希望它们也出现在list3中.将新项添加到list2时,我想要相同的行为.

多个列表的引用.

这可能吗?

c# reference list

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

C 编程中根据给定边求三角形的角度

我在我的 code::blocks 中运行它来显示三角形的 3 个角度,其中 3 条边由用户给出。但如果我运行并给出 3 个边,例如 3,4,5,输出将是 -1.#J -1.#J -1.#J。我的代码有什么问题吗?

#include <stdio.h>
#include <math.h>

int main()
{
    float a, b, c, A, B, C, R, s, pi, area;
    pi = acos(-1);

    scanf("%f %f %f", &a, &b, &c);
    s = (a+b+c)/2;
    area = sqrt(s*(s-a)*(s-b)*(s-c));

    R = (a*b*c)/(4*area);

    A = (180/pi)*asin(a/2*R);
    B = (180/pi)*asin(b/2*R);
    C =  (180/pi)*asin(c/2*R);

    printf("%.2f %.2f %.2f", A, B, C);


    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c math

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