这是什么意思?Ruby中的运算符do

这是什么意思?Ruby中的运算符do,ruby,hashtable,Ruby,Hashtable,这里有一个函数,它检查输入数组的最后一个元素是否是哈希表。如果是这样,它将删除哈希表中的最后一个元素。这来自Ruby Monk第6.2节中的解决方案 def remove_last(*arguments) options = arguments[-1].is_a?(Hash) ? arguments.pop : {} end “?”操作符在…(散列)之间做什么?参数。流行 为什么arguments.pop后面也有一个“:{}” 这是一个三元条件运算符。其形式如下: condition ?

这里有一个函数,它检查输入数组的最后一个元素是否是哈希表。如果是这样,它将删除哈希表中的最后一个元素。这来自Ruby Monk第6.2节中的解决方案

def remove_last(*arguments)
  options = arguments[-1].is_a?(Hash) ? arguments.pop : {}
end
“?”操作符在…(散列)之间做什么?参数。流行


为什么arguments.pop后面也有一个“:{}”

这是一个三元条件运算符。其形式如下:

condition ? true_value : false_value

它计算条件,并在条件为真时假定值为
true\u值
,在条件为假时假定值为
false\u值。

它是一个三元条件运算符。其形式如下:

condition ? true_value : false_value
它评估条件,并在条件为真时假定值为
true\u值,在条件为假时假定值为
false\u值。

这就像一条通往成功的捷径

if arguments[-1]is.A?(Hash)
  arguments.pop
else
  {}
end
只要有简短的if语句,就可以使用它

这就像一条通往成功的捷径

if arguments[-1]is.A?(Hash)
  arguments.pop
else
  {}
end

只要有简短的if语句,就可以使用它,它被称为三元运算符

(condition) ? (use_this_if_true) : (use_this_if_false)

在您给出的示例中,选项将包含arguments.pop if arguments[-1]。is_a?(散列)否则选项将包含一个由{}

表示的空散列,称为三元运算符

(condition) ? (use_this_if_true) : (use_this_if_false)

在您给出的示例中,选项将包含arguments.pop if arguments[-1]。is_a?(哈希)否则选项将包含由{}

正确答案表示的空哈希。简洁。由于对所问问题缺乏基本的理解,你应该投票将这些问题作为离题题结束。回答得好。简明。由于对所问问题缺乏基本的理解,您应该投票将这些问题作为离题题结束。阅读介绍性Ruby书籍。阅读介绍性Ruby书籍。