我正在寻找这个术语含义的好解释
答案 0 :(得分:2)
在编程中,形式参数(通常也称为“形式参数”)是函数期望接收和赋值的参数。它们通常与局部变量类似,并且在函数定义中明确列出。例如,在此方法中:
def say(words, options)
options[:repetitions].times { puts words }
puts "that's all folks!" unless options[:no_footer]
end
正式论据是words
和options
。还有一些非正式的论点,即repetitions
和no_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}
,这些参数映射到上面的正式参数words
和options
。
答案 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的一些特色,但它是高级编程语言中的常见模式。