首页 > 解决方案 > Ruby问号运算符,这是什么意思?

问题描述

这可能是一个非常模糊的问题。但我想知道是否有人可以将其翻译成伪代码:

a = (1 + (bool ? rand(13) : 0)

这是否意味着a它将成为0-13 + 1之间的任何值?布尔值和问号的目的是什么?

标签: ruby

解决方案


  1. (true ? rand(13) : 0) 意思是(if true then rand(13) else 0 end)

如果您的条件直接为“true”,则永远不会调用“else”(没用),您可以a = 1 + rand(13)直接写:)

  1. rand(13)给出 0 到 12 之间的随机整数;)如果你想 rand(14) 亲自输入“13”,我总是使用这样的范围(所有范围都包括在内,更容易理解):rand(0..13)

推荐阅读