我已经看到了ruby中提到的正式论点,是否有任何地方可以解释它们究竟是什么

时间:2011-09-20 19:33:09

标签: ruby terminology

我正在寻找这个术语含义的好解释

2 个答案:

答案 0 :(得分:2)

在编程中,形式参数(通常也称为“形式参数”)是函数期望接收和赋值的参数。它们通常与局部变量类似,并且在函数定义中明确列出。例如,在此方法中:

def say(words, options)
    options[:repetitions].times { puts words }
    puts "that's all folks!" unless options[:no_footer]
end

正式论据是wordsoptions。还有一些非正式的论点,即repetitionsno_footer。从语义上讲,我们理解这些是函数的参数,但它们不是正式的参数。

关于正式论证没有具体的红宝石,但有一些具体的意义。在ruby中,特别是Rails中,许多方法只有一些正式的参数(以及许多非正式的参数)。例如,在此调用中:

redirect_to :action => 'show', :id => @entry.id

接收方法实际上只有一个正式参数,一个选项哈希。

此处值得注意的是,“正式论证”经常与“实际论证”形成对比。实际参数只是真正传递的值。因此,例如,在此次通话中,

say "I love ruby", :repetitions => 10, :no_footer => true

实际参数为"I love ruby"{:repetitions => 10, :no_footer => true},这些参数映射到上面的正式参数wordsoptions

答案 1 :(得分:1)

var1, var2 = 123, 456

# arg1 and arg2 are formal arguments of some_method
# They are defined in the method signature and can be used to
# refer to the actual arguments used to call this method
def some_method(arg1, arg2)
  puts arg1 + arg2
end

# var1 and var2 are the actual arguments used to call some_method
some_method var1, var2

您可能会发现这不是Ruby的一些特色,但它是高级编程语言中的常见模式。