例えば
func(@param) do |f|
some code here
end
と
@param.each do |sth|
some code here
end
ここで絶対値の符号は何をしますか?私はこれらの2つのコードを理解していません。
例えば
func(@param) do |f|
some code here
end
と
@param.each do |sth|
some code here
end
ここで絶対値の符号は何をしますか?私はこれらの2つのコードを理解していません。
これはブロック内のローカル変数なので、次の行の場合:
@param.each do |sth|
あなたは@param
右を繰り返しています、まあの各アイテム@param
は単独でと呼ばれsth
ます。
したがって、if@param
が数値を含む配列を参照している場合
[1,3,5,4]
最初の反復でsth
は1
、次に3
、次に5
、次にになり4
ます。
同じことが当てはまります:
func(@param) do |f|
ただし、ローカル変数はf
!と呼ばれます。あなたはそれをあなたが望むものなら何でも呼ぶことができます|ihavenoideawhatimdoing|
do
これはローカル変数であり、 ...の間のコードのブロックに対してend
、変数f
が定義されていると言っています。
ブロックのパラメータです。ブロックは、doとendの間のコードの一部です。そのコードブロックはf
またはを使用できますsth
。これは、例ではfunc
またはによって設定されている可能性がありますeach
。
Rubyブロックに関するチュートリアルがおそらく役立つでしょう。
Labmda calculus-より抽象的なですが、それは私が最初にこれらのものを見た文脈でした。
インスタンス変数を意味します。人々がattr_accessorのようなattr_*メソッドを使用している場合、それが入れ替わっていることをよく目にします。これにより、@someattrとself.some_attrがインスタンスメソッドで同等になります。