ruby - 如何让 Ruby 中的输出对偶数和奇数进行排序?
问题描述
我在 Codecademy 得到了这个任务。我想打印偶数。
print "Print any number:"
inpt = gets.chomp
def odd_or_even(num)
if num % 2 == 0
print "even"
else
print "odd"
end
end
我没有得到任何输出。是方法的问题,还是我如何写方程?我试过改变两者。
解决方案
您定义了该方法odd_or_even
,但从未真正调用它。
你有两个选择:
采用更类似于脚本的方法并在不使用方法的情况下处理输入:
print 'Print any number: ' input = gets.to_i # ^ convert the input (which is always a string) to an integer if input % 2 == 0 puts 'even' # ^ is the same as `print` but adds a newline character at the end # (unless the string ends with a newline character) else puts 'odd' end
如果你想使用一个方法,你必须定义它并调用它:
def odd_or_even(num) if num % 2 == 0 puts 'even' else puts 'odd' end end print 'Print any number: ' input = gets.to_i odd_or_even(input) # ^ method is called here
Ruby 还有很多内置助手。您可以使用以下两行实现相同的结果:
print 'Print any number: '
puts gets.to_i.odd? ? 'odd' : 'even'
参考:
#gets
获取用户输入String#to_i
将输入转换为整数Integer#odd?
检查整数是否为奇数- 三元 if:使用内联 if
expression ? true : false
推荐阅读
- java - 突然关闭连接异常
- reactjs - 我需要一个 React 库来检查网页更新
- c# - 从样式设置模板背景
- postgresql - 查询所有先前位置、LAST_10、LAST_50 的 array_agg/median 的表,不包括当前位置
- hyperledger-fabric - 无法安装作曲家网络?
- javascript - Javascript:如何从另一个数组创建具有“x”个属性的数组?
- javascript - 如何将包含空格的字符串转换为有组织的对象
- python - 如何使用 np.dtype 或类似的东西在 numpy 中创建数组数据类型?
- node.js - 环回 ACL 允许用户角色访问模型上的 GET 但不能访问 POST
- c# - 如何验证音频 CD 上的 cda 文件是 C# 中 wav 文件的结果