例えば
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がインスタンスメソッドで同等になります。