1

ルビーをコーディングする初日です。たとえば、1行で複数の変数を変更する方法があるかどうか疑問に思っています。

first_name = "JOHN"
last_name = "DOE"
[first_name, last_name] = [first_name, last_name].downcase

Output : john doe

ありがとう

4

3 に答える 3

4

値を変更するには、mapを使用します。

first_name = "JOHN"
last_name = "DOE"
first_name, last_name = [first_name, last_name].map &:downcase

p first_name # => john
于 2013-01-27T23:00:54.527 に答える
3

1つの解決策は、メソッドの!バージョンを使用することです。downcase

[first_name, last_name].each {|str| str.downcase!}

これも書くことができます:

[first_name, last_name].each(&:downcase!)
于 2013-01-27T22:59:47.347 に答える
0

「収集」も使用できます。

[first_name, last_name].collect(&:downcase)

これは

=> ["john", "doe"]

また、フルネームで結合したい場合は、「join」を使用できます。

[first_name, last_name].collect(&:downcase).join(' ')

これは

=> "john doe"
于 2013-01-28T10:18:12.840 に答える