Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Ruby随机数发生器

Ruby随机数发生器
EN

Stack Overflow用户
提问于 2014-06-28 12:22:30
回答 2查看 695关注 0票数 0

我正试图在Ruby中做一个随机数猜测游戏。我是新来的,也许答案很明显,但为什么这个方法行不通呢?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
number = rand(5)
choice = 9999
while number != choice do
    puts "Guess the number #{number}"
    choice = gets.chomp
end
puts "You guessed Correctly! #{number} was the correct number."

正如您所看到的,我将其限制为0到4之间的数字。然后Then循环运行,而用户所作的猜测与生成的随机数不同。但是,即使用户输入正确的数字,while循环也会继续循环。正如你所看到的,我甚至打印了生成的数字,所以我知道该猜哪一个。

知道这里出了什么问题吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-06-28 12:24:24

number是一个数字,choice是一个字符串。您需要解析字符串才能使其工作:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
choice = gets.chomp.to_i
票数 3
EN

Stack Overflow用户

发布于 2014-06-28 12:26:58

您可能应该使用其他方法来比较从rand()函数返回的数字和从gets返回的字符串。

也许宇宙飞船运算符(<=>)会工作,再加上使用to_s将数字转换成字符串,在这种情况下,while循环头看起来就像

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
while !(number.to_s <=> choice) do

或者类似的东西。

不过,你不必使用太空船操作员。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24470627

复制
相关文章
(23)STM32——硬件随机数发生器
目录 学习目标 介绍 寄存器 RNG_CR RNG_SR RNG_DR 配置 代码 总结  ---- 学习目标         本节我们来介绍一下有关硬件随机数发生器的知识,这一节可以说是我遇到32中最简单的一节内容了,只要只用几个函数就好了,不需要繁琐的配置,和软件中的随机数一样舒服。 介绍 STM32F4自带了硬件随机数发生器(RNG),RNG处理器是一个以连续模拟噪声为基础的随机数发生器,在主机读数时提供一个32位的随机数。 两个连续的随机数的间隔为40个PLL48CLK时钟信号周期。 通过监控
小点点
2022/12/12
1.1K0
(23)STM32——硬件随机数发生器
学习笔记 | 基于FPGA的伪随机数发生器(附代码)
今天是画师本人第一次和各位大侠见面,执笔绘画FPGA江湖,本人写了篇关于FPGA的伪随机数发生器学习笔记,这里分享给大家,仅供参考。
FPGA技术江湖
2020/12/30
2.1K0
学习笔记 | 基于FPGA的伪随机数发生器(附代码)
FPGA项目开发:基于FPGA的伪随机数发生器(附代码)
今天是画师和各位大侠见面了,执笔绘画FPGA江湖,本人写了篇关于FPGA的伪随机数发生器学习笔记,这里分享给大家,仅供参考。
FPGA技术江湖
2021/04/16
1.1K0
FPGA项目开发:基于FPGA的伪随机数发生器(附代码)
函数/任意波形发生器
SYN5650型函数/任意波形发生器是一款按照《JJG 173-2003信号发生器检定规程》和《JJG 840-2015函数发生器检定规程》研发生产的高性价比可编程函数/任意波信号发生器,能产生正弦波、方波、三角波、脉冲波、以及任意波等多种波形。该信号发生器集函数信号发生器,任意波形发生器,微波信号发生器,脉冲信号发生器,噪声发生器,频率计,计数器和扫频仪等八种仪表功能于一体。
时频专家
2021/07/09
8450
Ruby Programming | 连载 03 - Ruby 对象基础
Ruby 中所有的数据结构和值都是对象,包括基本的数字和字符串以及数组 Array、散列表 Hash 这样的复杂数据结构。
RiemannHypothesis
2022/10/05
2K0
Ruby Programming | 连载 03 - Ruby 对象基础
Ruby Programming | 连载 02 - Ruby 语法基础
Ruby 的基本语法中包含了 Ruby 的基本运算符、I/O、控制流以及 Ruby 中的特殊对象和注释。
RiemannHypothesis
2022/09/28
5.9K0
Ruby On Rails 4 hello world,Ruby On Rails上手
有机会再试一试Rails了,仅仅是原来接触的是2,如今已然变成了4,似乎如今的安装比原来会快些。。
全栈程序员站长
2022/07/12
2.5K0
Ruby On Rails 4 hello world,Ruby On Rails上手
Ruby学习笔记之升级ruby的版本
升级ruby版本,有时候安装ruby的版本过低,需要进行升级,例如安装在centos6.7安装fpm需要ruby版本在1.9以上。
Jetpropelledsnake21
2019/04/25
3.2K0
Ruby Programming | 连载 04 - Ruby 扩展基础
在 Ruby Programming | 连载 01 - Intro and Setup 中展示了通过 rvm 安装 Ruby 的过程,安装 Ruby 不仅会安装 ruby 解释器,还安装了 Ruby 语言支持的库和文件,在使用 ruby 解释器执行代码时都能够成功找到所需要的文件或者目录。
RiemannHypothesis
2022/10/05
1.2K0
Ruby Programming | 连载 04 - Ruby 扩展基础
Ruby快速入门
比如,比较著名的web框架Ruby On Rails,我们正在使用的Fluentd。
Fluentd中文网
2020/12/22
1.4K0
Ruby 连接PostgreSQL
require 'postgres' conn = PGconn.connect("",5432, "", "", "testdb")
用户8983410
2021/11/01
1.1K0
Ruby基本语法
(一)Ruby中一切都是对象      比如可以用.class属性来查看一个对象的类型,看下1.class,会发现常数1的类型是Fixnum,1是Fixnum的一个实例。 (二)Ruby语法      Ruby中的类以class开始 以end结束,类名首字母的约定是大写;      Ruby中的方法以def开始 以end结束,方法名首字母的约定是小写;      Ruby中的局部变量名首字母的约定是小写;      Ruby中的构造函数(构造方法)名称为initialize;           即类在创建
hbbliyong
2018/03/05
1.7K0
[Ruby] Ruby Variable Scope[通俗易懂]
Scope defines where in a program a variable is accessible. Ruby has four types of variable scope, local,global, instance and class. In addition, Ruby has one constant type. Each variable type is declared by using a special character at the start of the variable name as outlined in the following table.
全栈程序员站长
2022/07/10
8820
RUBY基础入门
使用Script.net开发环境,开发和调试脚本文件,支持多个版本的脚本语言,包括perl、tcl、ruby、pyhon、nsis。在script.net安装完工具后,在工具的开始页面有脚本工具库sdk的下载链接
sofu456
2019/07/09
1K0
Ruby练习三
Q1: attr_accessor_with_history attr_accessor uses metaprogramming to create getters and setters for object attributes on the fly. Define a method attr_accessor_with_history that provides the same functionality as attr_accessor but also tracks every value
用户2183996
2018/06/28
8320
信号发生器模块设计
信号发生器又称信号源或激励源,能够输出各种频率、不同幅值的标准信号,广泛应用于电子系统电学参量的测量,例如:振幅特性、频率特性以及传输特性等;机缘巧合下,调研了信号发生器的设计方案,测试了模块的性能特征,具体如下所示:
联远智维
2022/01/20
4910
信号发生器模块设计
ruby连接sqlite
示例1: require 'sqlite'  db = SQLite::Database.new("library.db")  db.execute("select title, author from books") do |row| p row  end  db.close  示例2: db = SQLite3::Database.new 'abc.db' rows = db.execute <<-SQL create table numbers( name varch
用户8983410
2021/11/02
1.1K0
Ruby学习笔记
Ruby语言中,以对象为基本单位,可以说所有的元素都是对象。按照之前对于面向对象程序的理解,对象是指包含了特定属性和方法集合的一组程序。对象由类来定义,具体的表现为对象实例。也就是说,对象是类的实例化[2]。
大江小浪
2018/07/25
2K0
Ruby学习笔记
点击加载更多

相似问题

随机数据发生器

30

随机数据发生器

210

随机数发生器

11

随机数据发生器

51

用随机数发生器的随机数发生器池种子

42
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文