はじめに
移植やってます。
引数の省略 (Python)
def func1(str1, num1=(1, 2), num2=0):
print(num1[1] + num2)
func1('test', num2=5)
# 7
別段変わった様子はなし。
引数の省略 (Ruby)
def func1(str1, num1=[1, 2], num2=0)
puts(num1[1] + num2)
end
func1('test', num2=5)
# 0
うぅ、これに手間取りました。
この時のnum1
とnum2
には、それぞれ[1, 0]
と0
が入っています。
よって0
が返ってくるのは当然ですね。
しかし5
はどこにいった?
キーワード引数 (Ruby)
def func1(str1, num1: [1, 2], num2: 0)
print(num1[1] + num2)
end
func1('test', num2: 5)
キーワード引数は~~Ruby 2.7
~~Ruby 2.0
辺りから入ったらしいです。
皆さんも利用しましょう。
メモ
- Python の 引数の省略 を学習した
- 道のりは遠そう