Japanese subtitles

← 06-04 Proc Solution

06-04 Proc Solution

Get Embed Code
6 Languages

Showing Revision 1 created 07/21/2014 by osawakjvta.

  1. この問題を解くためには
  2. 元のproc関数がどんなことを行うのかを
    よく理解する必要があります
  3. 2つの例を使って
    この関数の出力を具体的に見てみましょう
  4. 入力は2つの値ですが出力はaの値だけで決まります
  5. 具体的に言うとaでtest関数を実行した値です
  6. test(a)がTrueなら2つ目のパラメータbを返します
  7. test(a)がFalseなら1つ目のパラメータaを返します
  8. この点をそれぞれの関数でチェックしていきましょう
  9. proc1では
    1つ目のパラメータによるtest(x)がTrueなら
  10. yを返します
  11. これは元の関数と一致します
  12. proc1同様に1つ目のパラメータによるtestがTrueなら
    2つ目のパラメータを返します
  13. 1つ目のパラメータによるtestがFalseなら
    パラメータxを返します
  14. test(x)がFalseということは
    test(a)がFalseになるのと同等です
  15. どちらの場合もaとxを返します
  16. これは関数において
    同じ変数に対する名前が違うだけです
  17. よってこれは同等です
  18. 2つ目のproc2関数を見てみましょう
  19. この条件はbの値が基になっていることに
    注意してください
  20. これが元のproc関数と同等になるのは
    不可能だと分かります
  21. 元のproc関数の出力はbの値に左右されないからです
  22. よってこの選択肢は該当しないとすぐに分かります
    元の関数と等しくありません
  23. proc3を見てみましょう
  24. この構造は他と少し違いますが
    両方の例で動きを見ていきましょう
  25. test(a)がTrueの場合はresultにbを設定して
    そのresultを返します
  26. 元の関数の場合と同様に
    test(a)がTrueならbを返します
  27. test(a)がFalseなら単にresultを返します
    これは初めにaに設定されています
  28. よって全体的な機能としては
    test(a)がTrueならbを返すということです
  29. これは元の関数の定義と一致します
  30. よってこれは元のproc関数と同等です
  31. そして最後のproc4関数です
  32. ここで他の関数にはない‘udacity’が出てくるので
    混乱するかもしれませんが
  33. この問題を考えていくのに重要な部分です
  34. test(a)がTrueなら
  35. not test(a)はFalseとなります
  36. その場合はbを返します
  37. つまりtest(a)がTrueならbを返します
  38. これは元の定義と一致します
  39. test(a)がFalseなら
  40. not test(a)はTrueとなります
  41. その場合はbにudacityを設定します
  42. そしてaを返します
  43. つまりtest(a)がFalseならbの値を変更しますが
  44. bで何かを行うことはなく単にaを返します
  45. よって元のproc関数と同じ結果になります