问题列表 - 第19179页

Ruby的sort_by {rand}是如何工作的?

我认为这是一个很棒的Ruby单行程序:

someArray.sort_by {rand}
Run Code Online (Sandbox Code Playgroud)

它简洁,可读,而且有效 - 但我不太明白.这就是我所知道的:

  1. rand 求值为0到1之间的数字(如0.783468632804653)
  2. rand正在上面的代码中重复评估,因为将其分配给x第一个会破坏随机排序
  3. sort_by {0.783468632804653},或我尝试的任何其他数字,对阵列没有影响

在这种情况下, ruby-doc.org对我没什么帮助.

有人可以一步一步地解释这个吗?

更新

我现在一直在使用Ruby,我发现我在这里错过了一两个概念.关键是:

  1. rand是一种方法(在内核上定义); 它会生成一个随机数
  2. {rand}是一个块,它sort_by保持,每次想要比较集合中的两个项目调用它.如果集合是一堆代表国家的对象,它需要能够抓取其中的两个并确定哪个是第一个.你先放一个名字最长的那个吗?土地面积最大的那个?该区块应该通过返回一个值"回答一个问题"来回答这个问题:"你问过西班牙对喀麦隆,我说喀麦隆是第一个." (你可以这样做{|country| country.name.length}

其余的sort_by工作原理在文档中进行了解释.我仍然不太确定为什么返回一个随机数可行 - 大概是将sort_by它舍入为-1,0或1,哪个最接近?但无论如何,每次调用块时获取不同的随机数与每次获取相同的数字完全不同.什么时候sort_by说"这两个国家中的哪一个先来?",{rand}戴上眼罩,转过10次,然后说"那个!" :)

ruby

21
推荐指数
2
解决办法
4948
查看次数

如何检测Perl中当前行中是否有(=)符号?

如何检测当前行中是否有(=)符号?谢谢.

$_ = $currentLine;
if (Include =)
{
# do some thing
}
else
{
# do another thing
}
Run Code Online (Sandbox Code Playgroud)

perl

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

JavaScript是否填充空数组项?

我在JavaScript中编写了大量的年度数据,我正在考虑将它添加到数组中,使用year作为数组索引并将数据放入数组中.但是,Firebug似乎表明JavaScript通过用"undefined"填充数组中的两千多个条目来处理这个问题.有数百个这样的阵列在活动内存中徘徊,我担心成千上万无用数组项的开销可能会使程序开始变慢.会吗?

javascript arrays memory-management

9
推荐指数
1
解决办法
2580
查看次数

获取文件夹中的文件

在我的MVC应用程序中,我有以下路径;

  • /内容/图像/全
  • /内容/图像/大拇指

在我的c#控制器中,如何获取thumb文件夹中所有文件的列表?

编辑

Server.MapPath仍然是最好的方法吗?

我现在有这个,DirectoryInfo di = new DirectoryInfo(Server.MapPath("/content/images/thumbs") );但觉得这不是正确的方法.

MVC是否有最佳实践,或者上述内容仍然正确吗?

asp.net-mvc file

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

std :: getline在for循环中不起作用

我正在尝试在一个字符串变量中收集用户的输入,该变量在指定的时间内接受空格.

由于通常cin >> str不接受空格,所以我将使用<string>中的std :: getline

这是我的代码:

#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;
int main()
{
    int n;
    cin >> n;
    for(int i = 0; i < n; i++)
    {
        string local;
        getline(cin, local); // This simply does not work. Just skipped without a reason.
        //............................
    }

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

任何的想法?

c++ getline

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

存储过程和用户​​定义函数之间的差异

任何人都可以解释存储过程和用户​​定义函数之间的确切区别,以及每个上下文有用吗?

sql database stored-procedures

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

AES加密解密的任何可可源代码?

我正在搜索AES加密的一些可可代码,我做了一些谷歌搜索.我发现这个非常有用的链接 - http://iphonedevelopment.blogspot.com/2009/02/strong-encryption-for-cocoa-cocoa-touch.html.所以我尝试了但它对我不起作用.

任何人都可以建议我一些有用的链接或源代码,可以帮助我在我的示例应用程序中实现它.

encryption cocoa aes

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

Django一对多模型

以下模型描述了漏洞以及引用该漏洞的Internet上的URL.假设每个URL只讨论1个漏洞,并且许多URL将讨论该漏洞.这是布局模型的正确方法吗?

class Vuln(models.Model):
  pub_date = models.DateTimeField("Publication Date")
  short_description = models.CharField("Description", max_length=70)

  reference_urls = models.ForeignKey(Url, unique=True, blank=True, verbose_name="Reference URLs")
  vendor = models.ForeignKey(Vendor, verbose_name="Vendor")

class Url(models.Model):
  url = models.URLField("URL", max_length=200)
Run Code Online (Sandbox Code Playgroud)

Admin应用程序为参考URL提供了一个"选择"框,这不是我想要的.当我添加新的漏洞对象时,已输入的所有现有URL都显示在该下拉列表中,这又是不自然的.我觉得这应该与博客评论的方式非常相似,即.评论适用于单个博客条目,而不是其他任何一个博客条目可能有很多评论.我如何在Django模型中表达这一点?

python django model one-to-many

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

如何将android模拟器连接到互联网

如何将我的Android模拟器连接到互联网,例如使用浏览器?我已经找到了很多关于通过代理连接时做什么的建议,但事实并非如此,我的机器(Windows 7)直接连接到路由器.

android-emulator

263
推荐指数
14
解决办法
40万
查看次数

激活记录长度

前三个问题分别得到6,4,3,但我不知道怎么弄清楚最后一个问题.但是,解决方案手册显示了7,5,4,18作为答案.

int sum(int x[], int N) {
  int k = 0;
  int s = 0;
  while (k < N) {
    s = s + x[k];
    k = k + 1;
  }
  return s; // the activation record for sum will be ____________ locations
}

int fred(int a, int b) {
  return a + b;  // (2) the activation record for fred will be ____________ locations
}

void barney(int x) {
  x = fred(x, x);//(2) the activation record for barney will …
Run Code Online (Sandbox Code Playgroud)

c activation-record

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