答えて
_
は、他のすべての変数名(たとえば、i
)のような変数名です。 Rubyでは、後でその変数を使用する予定がない場合は、変数名として_
を使用するのが一般的です。機能で
ありがとう:ありがとう! –
これは他の言語にも当てはまります!いくつかの言語は、GolangやRust langのような標準的な規則としてそれを使用しています – sircapsalot
'_'(実際には' _'で始まる変数)の使用は規約以上のものです。変数。 –
、引数は括弧で囲まれています:ブロックで
def my_function(arg1, arg2)
..
end
、あなたは引数を囲むためのパイプを使用します。この場合、
arr.each_with_index{ |item, index| .. }
、変数名を選びだしブロックの最初の引数として_
でした。
メソッドeach_with_index
を呼び出して、匿名関数(または「ブロック」)を渡しています。このブロックには2つのパラメータがあります。最初の要素は配列(または列挙可能なオブジェクト)内の項目を表し、2番目の要素はそのインデックス(最初の要素は0、2番目は1、3番目は2など)を表します。
Ruby(および他の言語)に_
という名前を割り当てることは、「私はこれを使用するつもりはありません」と言う従来の方法です。だからeach_with_index { |_, i| ... }
は "このブロックではi
がインデックスを表しているので、要素自体は気にしないので、名前を付けていません。"
ブロックを_anonymous関数と呼ぶと、潜在的に誤解を招く可能性があります。それをブロックと呼び、それがRubyにあるものの参照を提供するかもしれません。 – Oka
詳しいアドバイスありがとう! –
それは慣例以上のものです。同じパラメータ名を複数回使用すると、エラーが発生します(例えば 'def foo(bar、bar)end'や' [] .each {| foo、foo |} ' ( '_bar、_bar)end'と' [] .each {| _foo、_foo |} 'の両方が問題ありません。また、Rubyは未使用のローカル変数について警告しますが、変数名が '_'で始まる場合や' _'である場合は警告しません。 –
- 1. このC#コードでこのコロンは何を意味していますか?
- 2. 0x0Fは何を意味していますか?そして、このコードはどういう意味ですか?
- 3. このC++コードは何を意味していますか?
- 4. このMac-1コードは何を意味していますか?
- 5. ここでコロンは何を意味していますか?
- 6. Rubyこのコード行はどういう意味ですか?
- 7. Jqueryではこのコード行は何を意味していますか?
- 8. このステートメントはC#で何を意味していますか?
- 9. スイフト:エクステンションのこのステートメントは何を意味していますか?ここで
- 10. これらのコード行は何を意味していますか?
- 11. これらのコードの意味は何ですか?
- 12. !このコードでは!タイプの意味は何ですか?
- 13. このCコードは何を意味しますか(G_GNUC_PRINTF)?
- 14. このコードは何を意味しますか?
- 15. このコードは何を意味しますか?
- 16. このコードは何を意味しますか(s、e)?
- 17. このCSSコードは何を意味しますか(font-size division)?
- 18. 「ベクター」内のこのコードは何を意味していますか? (C++)
- 19. C#でこれは正確に何を意味しますか?
- 20. これはc int a:16;で何を意味しますか?
- 21. このPHPライブラリの '\'は何を意味していますか?
- 22. このCSSの値は何を意味していますか?
- 23. このリンクは何を意味していますか?
- 24. この声明は何を意味していますか?
- 25. c#この行は何を意味していますか?
- 26. この声明は何を意味していますか?
- 27. このnetbeansアイコンは何を意味していますか?
- 28. このJavaScriptは何を意味していますか?
- 29. このコードの意味は何ですか?
- 30. このrowspanコードの意味は何ですか?
'|'の後に '_'という名前の_variable_(ルビが許す) –
ルビーでは、もし望むならば、変数に' '名前をつけることができます。 –
'| .. |'はブロックパラメータを宣言します* - "ruby block parameter"を検索します。 '_'は有効な変数名であり、慣習的に、 'このパラメータは意味のあるものではありません'を表現するために使用されます。 – user2864740