ruby - Ruby中的孤问号符号和孤冒号符号是什么意思
问题描述
在这段先前编写的代码中,有?
和:
自己使用(单独的符号),而不是附加到单词上。在这种情况下,它们是什么意思?
# Fill application object with applicant info; generic info if not provided.
availability ? formdata[:availability] = availability : (formdata[:availability] = [0,1,2,3,4,5,6])
解决方案
这是三元运算符。它相当于 if/else。您的代码也可以这样编写:
if availability
formdata[:availability] = availability
else
(formdata[:availability] = [0,1,2,3,4,5,6])
end
我还认为应该将其简化为以下内容:
formdata[:availability] = availability ? availability : [0,1,2,3,4,5,6]
条件句中的赋值是一种奇怪的写法,并不常见。
您还可以进一步简化为:
formdata[:availability] = availability || [0,1,2,3,4,5,6]
推荐阅读
- html - 在css网格中,复制和粘贴条目时如何使同一行内联?(尝试将显示设置为内联但不起作用)
- php - 我无法使用 php 从外部 IP 下载数据
- .net - 无法广播 UDP 消息
- php - 如何将大型二进制字符串转换为二进制值并返回
- azure-data-explorer - 使用通配符在 ADX 中投影多列
- macos - 下载 libimobiledevice.zip 失败 Flutter Exception 404 Flutter
- azure - 使用 MSAL.js 时如何解决“未提供回复地址”错误?
- python - 如何在模板中分别显示 Django queryset dict-key 和 -values?
- android - 当我在 iOS 和 Android 物理设备中测试签名时,Expo 中的 react-native-signature-canvas 库出现问题
- python - 在 django 中处理非提交输入类型