相关疑难解决方法(0)

如何在Ruby中生成n个唯一随机数的列表?

这是我到目前为止:

myArray.map!{ rand(max) }
Run Code Online (Sandbox Code Playgroud)

然而,显然,有时候列表中的数字并不是唯一的.如何确保我的列表只包含唯一的数字,而不必创建一个更大的列表,然后我从中选择n个唯一的数字?

编辑:
我真的很想看到这个完成w/o循环 - 如果可能的话.

ruby random

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

在小写字母中生成带字母和数字的唯一随机字符串

如何修复此代码,以便以小写形式生成唯一的随机字母和数字?

api_string = (0...32).map{65.+(rand(25)).chr}.join    
Run Code Online (Sandbox Code Playgroud)

目前,它只生成字母.

ruby ruby-on-rails-3

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

如何以编程方式生成类似Heroku的子域名?

我们已经看到了当您使用简单的"heroku create"将应用程序部署到Heroku时自动分配的有趣子域.

一些例子:炽热薄雾4652,电动夜-4641,晨霜-5543,辐射河-7322,等等.

它们似乎都遵循形容词 - 名词 - 4数字模式(大多数情况下).他们只是输入了一些形容词和名词的字典,然后在推送应用程序时随机选择它们的组合吗?是否有一个Ruby gem可以实现这一点,也许提供了一个可以通过词性搜索的字典,或者这是手动完成的事情?

ruby subdomain linguistics heroku

29
推荐指数
3
解决办法
6106
查看次数

如何与工厂女孩一起创建独特的字符串(没有数字)?

或者是生成随机和唯一用户名所必需的外部gem?

这是我目前的工厂:

factory :user_4 do
    sequence(:id) { |n| n }
    sequence(:first_name) { |n| "Gemini" + n.to_s }
    sequence(:last_name) { |n| "Pollux" + n.to_s }
    sequence(:profile_name) { |n| "GeminiPollux" + n.to_s  }
    sequence(:email) { |n| "geminipollus" + n.to_s + "@hotmail.co.uk" }
end
Run Code Online (Sandbox Code Playgroud)

使用序列方法适用于id,profile_name和email,但我的REGEX验证意味着名字和姓氏自动无效,因为它们中有一个数字.与独特性无关.

那么我该如何创建这些独特的名字呢?

ruby ruby-on-rails factory-bot

14
推荐指数
2
解决办法
6726
查看次数

在ruby/ActiveRecord中生成类似Instagram或Youtube的不可语句字符串ID

在创建给定的ActiveRecord模型对象的实例时,我需要生成一个短的(6-8个字符)唯一字符串,用作URL中的标识符,采用Instagram的照片URL样式(如http://instagram.com/ p/P541i4ErdL /,我刚刚加入404)或Youtube的视频网址(如http://www.youtube.com/watch?v=oHg5SJYRHA0).

这样做的最佳方法是什么?最简单的方法是重复创建一个随机字符串,直到它是唯一的?有没有办法散列/随机播放整数id,以便用户不能通过更改一个字符来破解URL(就像我上面的404'd Instagram链接那样)并最终获得新记录?

ruby postgresql activerecord sinatra

12
推荐指数
2
解决办法
4688
查看次数

在Ruby中为Regex模式生成字符串

在Python语言中,我发现rstr可以为正则表达式模式生成一个字符串.

或者在Python中我们有这个方法可以返回字符串的范围:

re.sre_parse.parse(pattern)
#..... ('range', (97, 122)) ....
Run Code Online (Sandbox Code Playgroud)

但在Ruby中我没有找到任何东西.

那么如何在Ruby(反向正则表达式)中为正则表达式模式生成字符串?

我想要这样的事情:

"/[a-z0-9]+/".example
#tvvd
"/[a-z0-9]+/".example
#yt
"/[a-z0-9]+/".example
#bgdf6
"/[a-z0-9]+/".example
#564fb
Run Code Online (Sandbox Code Playgroud)

"/ [a-z0-9] + /"是我的输入.输出必须是我的正则表达式模式中可用的正确字符串.这里的输出是:tvvd,yt,bgdf6,564fb, "example"方法生成它们.我需要那种方法.

谢谢你的建议.

ruby regex string random-sample

11
推荐指数
3
解决办法
5648
查看次数

Ruby on Rails URL格式

我有一个Ruby on Rails应用程序,您可以在其中创建"帖子".我开始使用脚手架生成器来生成标题,这是一个字符串,而主体是内容.

每个'post'都有一个id的url,例如/ 1,/ 2,/ 3等.

有没有办法将其更改为一串随机字符,例如/ 49sl,/ l9sl等?

更新

这就是我所拥有的 posts_controller.rb

class PostsController < ApplicationController
  # GET /posts
  # GET /posts.json
  def index
    @posts = Post.all

    respond_to do |format|
      format.html # index.html.erb
      format.json { render json: @posts }
    end
  end

  # GET /posts/1
  # GET /posts/1.json
  def show
    @post = Post.find(params[:id])

    respond_to do |format|
      format.html # show.html.erb
      format.json { render json: @post }
    end
  end

  # GET /posts/new
  # GET /posts/new.json
  def new
    @post = Post.new

    respond_to do …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails

6
推荐指数
2
解决办法
1624
查看次数

如何在Ruby中生成唯一的六位字母数字代码

我需要生成一个唯一的六位数字数字代码.要在我的数据库中保存为凭证号码:对于每笔交易.

ruby alphanumeric

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

生成伪随机字符串AZ,0-9

我怎么能只生成含有n个字符的伪随机字符串A-Z,0-9SecureRandom.base64没有"+","/""="?例如:

(0..n).map {(('1'..'9').to_a + ('A'..'Z').to_a)[rand(36)]}.join
Run Code Online (Sandbox Code Playgroud)

ruby random

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