84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
例如,我有如下代码:
case opt when "opt1" method1(param1, param2) when "opt2" method2(param1, param2, param3) end
请教有没有好方法避免使用case...when,这里每个when里面调用的处理方法传的参数也是不一样的。动态方法调用?用block是否可行? 用动态方法调用,方法名和参数列表提前配置在一个hash中可以达到要求。不知道用block/lambda/proc之类的能否做到?
欢迎选择我的课程,让我们一起见证您的进步~~
大丈夫です。 詳細については、『Ruby メタプログラミング』という本を読んでください。それを抽象化する方法を教えてくれます。
ここでは、daily_report、monthly_report、weekly_reportの 3 つのスコープを定義しました 上記のコードは、3 つの関数の名前を動的に生成し、それらにパラメーターを渡します。
ここでは多くのパラメータを指定できます。最初のパラメータはメソッド名で、次のパラメータはすべてメソッドに必要なパラメータです。 その後、関数が同じものであれば、opt に基づいて特定の関数を生成できます。パラメーターにはオプションのパラメーターを使用するだけです。 Ruby は任意の数のパラメータを受け入れます。メソッドのコードでは、パラメータの前に * 記号を追加する必要があります。このパラメータは、この位置に渡される 0 個以上のパラメータを含む配列として表されます。
大丈夫です。
リーリー詳細については、『Ruby メタプログラミング』という本を読んでください。それを抽象化する方法を教えてくれます。
ここでは、daily_report、monthly_report、weekly_reportの 3 つのスコープを定義しました
リーリー上記のコードは、3 つの関数の名前を動的に生成し、それらにパラメーターを渡します。
ここでは多くのパラメータを指定できます。最初のパラメータはメソッド名で、次のパラメータはすべてメソッドに必要なパラメータです。
リーリーその後、関数が同じものであれば、opt に基づいて特定の関数を生成できます。パラメーターにはオプションのパラメーターを使用するだけです。
Ruby は任意の数のパラメータを受け入れます。メソッドのコードでは、パラメータの前に * 記号を追加する必要があります。このパラメータは、この位置に渡される 0 個以上のパラメータを含む配列として表されます。