ãããã¯ã使ã
ScalaByExample - Example 4.3 Conditional ExpressionsããScalaByExample - Example 4.5 Nested Functionsãããã®ãã¤ã³ãã¾ã¨ãã
if-else ã¯å¤ãè¿ã
Scalaã®if-elseå¶å¾¡æ§æã¯å¤ãè¿ãã¾ãããªã®ã§ä¸é æ¼ç®åçã«ä½¿ããã¨ãã§ããã¨ã®ãã¨ã
// if ã¯å¤ãè¿ãã println( if (true) "true!" else "false!" )
å®è¡çµæã§ãã
true!
æ°ãããªã¼ãã¨ãæã£ããã©ããããã°Rubyã®ifãä¸ç·ã ã£ããªã(âããã¾ãæå¹æ´»ç¨ãã¦ãªãã»ã»ã»ãä¸é æ¼ç®åæ´¾ã)
$ ruby -e 'puts( if (true); "true!" else "false!" end)' true!
ãããã¯ã使ã
ã{<å¦ç...>}ãã§ãããã¯ã使ã§ãã¾ãã
- Scalaã®ãããã¯ã¯ããèªä½ãå¼ã§ã
- æå¾ã«å®è¡ãããå¼ãè©ä¾¡çµæã¨ãã¦è¿ãã¾ãã
- ãããã¯ä¸ã«ã¯è¤æ°ã®å¼ãæ¸ããã¨ãã§ãã¾ãã
- åå¼ã¯ã;ãã§åå²ããã¾ããã以ä¸ã®æ¡ä»¶ã«åè´ããªãå ´åãåè¡ã®æ«å°¾ã«èªåã§æ¿å
¥ãããããçç¥å¯è½ã§ãã
- åé¡ã¨ãªãè¡ãããªãªãã®ãããªåèªããå¼ã®æå¾ã¨ãã¦æ£ããç¡ãä¸ç½®æ¼ç®åã§çµããå ´åã
- 次ã®è¡ããå¼ãéå§åºæ¥ãªãæ§ãªåèªã§å§ã¾ã£ã¦ããå ´åã
- æ¬å¼§ (...) ãè§æ¬å¼§ [...] ã®å å´ã«ããå ´åã
- åå¼ã¯ã;ãã§åå²ããã¾ããã以ä¸ã®æ¡ä»¶ã«åè´ããªãå ´åãåè¡ã®æ«å°¾ã«èªåã§æ¿å
¥ãããããçç¥å¯è½ã§ãã
- Scalaã®ãããã¯ã¯ã¹ã³ã¼ããæã¡ã¾ãã(ãããããããã¯ã¹ã³ã¼ããæ¡ç¨ããã¦ãã¾ã)
- ãããã¯å ã§å®ç¾©ãã夿°ã颿°ã¯ããããã¯ã®å å´ããã®ã¿åç §ã§ãã¾ãã
- ãããã¯å ã«ãã¹ã¨ãããããã¯ãããå ´åãå¤å´ã®ãããã¯ã§å®ç¾©ããã夿°ãªã©ã¯å å´ã®ãããã¯å ã§ãåç §ã§ãã¾ãã
// Scalaã®ãããã¯ã¯æå¾ã«å®è¡ãããå¼ã®çµæãè¿ãå¼ã // è¤æ°ã®å¼ã追å ã§ããã println( { "a" // å¼ã // ã;ãã§åºåãå¿ è¦ããããç¹å®ã®å ´åãé¤ãã // æ¹è¡ã®åã«èªåæ¿å ¥ããããããçç¥ã§ããã "b" "c" } ) // "c" // ä¸è¡ã«ããããæ¸ãããã¨ãã¯ã;ããæç¤ºãã¦ããã¨ãããã¨ã println( { "a" ; "b" ; "c" } ) // "c" // ãããã¯ã¯ã¹ã³ã¼ããæã¤ã // ãããã¯å ã§å®ç¾©ãã夿°ã颿°ã¯ãããã¯å ã«éãåç §ã§ããã { var x = 1 def y(i:int) = i*2 println( y(x) ) // "2" // ãã¹ããããããã¯å ã§ã¯å¤å´ã§å®ç¾©ãã颿°ã夿°ã«ã¢ã¯ã»ã¹ã§ããã { println( y(x) ) // "2" } } // ãããã¯å¤ã§ã¯xãyã¯åç §ã§ããªãã以ä¸ã¯ã³ã³ãã¤ã«ã¨ã©ã¼ //println( y(x) )
ãããã¯ã®ä½¿ãæ¹ä¾ã颿°å 颿°ãä½ãã¾ãã
// ãããã¯ã®ä½¿ãæ¹ä¾ã // ãããã¯ã使ã£ã¦é¢æ°å 颿°ãä½ããã def foo() = { // 颿°å 颿°ãhogeã // hogeã¯é¢æ°fooå ããã®ã¿åç §ã§ããã def hoge(i:int) = { i*2 } hoge( 3 ) } println( foo ) // 6
ãããJavaScriptã§ãã§ãããªã
function foo() { function hoge(i) { return i*2; } return hoge( 3 ); }
ãã ãããæ¸ãã¨é¢æ°ãfooããå®è¡ãããã³ã«ãhogeããçæãããã®ã§ãã£ãããªããã ãã©ããã®ã¸ãScalaã§ã¯ã©ããªã£ã¦ããã ãã