scala
æ¡å¼µå¯è½ã¬ã³ã¼ãã®ã©ã¤ãã©ãªrecord4sã«ã¤ãã¦ScalaMatsuri 2024ã§çºè¡¨ãã¾ãã
ScalaMasturi 2024ã§, æä½ã®æ¡å¼µå¯è½ã¬ã³ã¼ãã®ã©ã¤ãã©ãªrecord4sã«ã¤ãã¦çºè¡¨ãã¦ãã¾ãã. çºè¡¨ã§è§¦ããããªãã£ãç¹ãè£è¶³ããªãã, å 容ãæç« ã«ãã¦ãããã¨æãã¾ã. ã¨ãã«record4s以å¤ã®ã¬ã³ã¼ãå®è£ ã¨ã®æ¯è¼ã«ã¤ãã¦ã¯ãã®è¨äºã§ã®å®å ¨æ¸ãä¸ããâ¦
ãã®è¨äºã¯Scala Advent Calendar 2023ã®13æ¥ç®ã§ã.Scalaã®ã©ã¤ãã©ãªãä½ãã¨ã, è¤æ°ã®Scalaãã¼ã¸ã§ã³ã«å¯¾å¿ããã¦ã¯ãã¹ãã©ãããã©ã¼ã (JVM, Scala.js, Scala Native)ã«å¯¾å¿ããã¦, CIãè¨å®ãã¦...ã¨ããã®ã¯å²ã¨é¢åã§ã. å®ã¯sbt-typelevelã¨ããsâ¦
ãã®è¨äºã¯Scala Advent Calendar 2023ã®12æ¥ç®ã !Scala 3ã®ãã¯ããæ¸ãä¸ã§å½¹ã«ç«ã¤, ã¡ã¿ããTipsãã¡ãç´¹ä»ããã! å¢ãã«ä»»ãã¦æ¸ãã¦ãããããµã³ãã«ã³ã¼ããã¡ããã¨åããªãã£ããããããª. ä¸å¿, Scala 3.3.1ãæ³å®ãã¦ããã.
ãã®è¨äºã¯Scala Advent Calendar 2023ã®11æ¥ç®ã§ã.æè¿, 趣å³ã§Scala 3ã®ã³ã¼ããã ãã¶æ¸ãã¦ãã¦, ãã¯ãã®ä½¿ãå¿å°ã®ããã«æå¿ãã¾ãã. çè«çãªèæ¯ãå«ãã¦, ç£æ¥çã§å¤ã使ããã¦ããããã°ã©ãã³ã°è¨èªã®ä¸ã§ã¯çè ã®ç¥ãéãã¶ã£ã¡ããã«åªããâ¦
ãã®è¨äºã¯Scala Advent Calendar 2022ã®19æ¥ç®ã§ã.Scalaã§ã¯ã¸ã§ããªãã¯åã®å¤æ§(variance)ã¯+ã-ã§æå®ãã¾ãã, ä»ã®è¨èª(ãã¨ãã°, C#, Kotlin)ã§ã¯outãinã ã£ãããã¾ã. ãã®è¨äºã§ã¯å¤æ§ã®æå³ãæ´çãã¦, ãªãScalaã§ã¯+/-ã®è¨å·ã使ãã®ã説æãâ¦
Scala 3ã§ã³ã³ãã¤ã«æè¨ç®ããããã便å©ã«ãªã£ã¦ããããªã®ã§, ç·´ç¿ã¨ãã¦æ¡å¼µå¯è½ã¬ã³ã¼ã(extensible record)ãå®è£ ãã¦ã¿ã. ååã¯match typesã§åã¬ãã«ã®æä½ã®ã¿ã§ããããã§ãããã, ä»åãããããã¤ããã§ãããã¨æã£ããã®ã®, ãã£ããããã¯â¦
ã¾ãã. ã¾ããªã®ã. ä½åç®ã . ã¨ãããã¨ã§, ã©ã ãè¨ç®ã®ã¤ã³ã¿ããªã¿ã®å®è£ ã¨ãã¦ã¯4åç®ããã*1, ã³ã³ãã¤ã«æè¨ç®ã§ãããã®ã¨ãã¦ã3åç®ãããã«ãªã£ã¦ãã¾ããã©, ã©ã ãè¨ç®ã®å¦çç³»ãã¾ãæ¸ãã¦ãã¾ã£ã.ä»åã®ç®çã¯, Scala 3ã«ã¯match typesã¨â¦
æ°æ¥åã«Twitterã§, JavaScriptã®ãªãã¸ã§ã¯ãã«å¯¾ãã===ã®æåãåå¿è ã«ã¯é£ããã¿ãããªè©±ãè¦ããã. çºç«¯ãå¨è¾ºã®è°è«ãã¡ããã¨è¿½ãããã¦ãªãããã¨ãã«åºå ¸ã¯è²¼ããªã. ãã¶ãå ã ã®è©±ã¯ãã¸ã, ããããæåãªãã , ç°¡åã§ã¯ãªããããããã®è©±ã â¦
ãã®è¨äºã¯, ã¯ã¦ãªã¨ã³ã¸ã㢠Advent Calendar 2020ã®20æ¥ç®ã§ã. æ¨æ¥ã¯id:Pasta-Kã«ããã¦ã§ããã©ã¦ã¶ã«ãã°å ±åãããã¨ãã«ãããã¨ã§ãã. ææ¥ã®æ å½ã¯id:motemenã§ã.Scalaã§, ä¾åã©ã¤ãã©ãªã®ãã¼ã¸ã§ã³ãä¸ããpull requestãèªåçã«ä½ã£ã¦ããâ¦
ãããã話ãããã¾ããã Feature Request : Support for scala in dap-mode · Issue #196 · emacs-lsp/dap-mode ãè¦ã¦ãdap-modeã®ä½¿ãæ¹ãããåãããªãã£ããå¥ã«æéããããæãããªããªã¨æã£ãã®ã§ããããã°ããæã ãã¯IntelliJã使ããã¨ã«ããâ¦
ããåãªã vs. åä»ã®æèã§ã¯ãåãæ¸ãã®ã¯é¢åã ããå®å ¨ã®æ¹ã大äºã ããã§ãé¢åã ããããã¯åæ¨è«ãåæã«ãã¦ããªãããã ããªã©ã®è°è«ã«ãªããã¡ãªæ°ããã¾ãããããã¯ããã¾ã§ãè¨ç®ãããã®åããèãã¦ããããã§, ãåãããã®è¨ç®ãã ã¨å ¨ãâ¦
ããã¾ã§Scalaã§ã®éçºã«ã¯ENSIMEã使ã£ã¦ãããã©, ããããããé åãã ã¨ãããã®ã§Metalsã«ä¹ãæãã. ã¨ãã£ã¿å´ã§LSPã®ãµãã¼ããå å®ãã¦ãã¦ããã®ã§ããã¯ã ãã¶ç°¡åã§, ãã£ããä¹ãæãããã¨ãã§ãã.Metalsã¯ãã«ãé¨åã¯è£å´ã§Bloopã使ã£ã¦â¦
Java 7ããæ£è¦è¡¨ç¾ã§ååã¤ããã£ããã£ã使ãã¦, Scalaã®scala.util.matching.Regex.Matchã§ãããã«ç¸å½ããæ©è½ããã(ã¤ã³ã¿ãã§ã¼ã¹ãå®è£ ã¯Javaæ¨æºã®ãã®ã¨ã¯å¥)ããã©, ã¡ãã£ã¨ä¸ä¾¿ãªã¨ãããã©ãã«ããã¦ãããã¡ã«, ã¤ã³ããã¯ã¹ã«ãããã£ããâ¦
Scalaé¢è¥¿ Summit 2015ã§ã®çºè¡¨ã§è§¦ãã¦ããN+1ã¯ã¨ãªåé¡ããªãã¨ãããããã®ã©ã¤ãã©ãªãå ¬éãã.çºè¡¨ã¯ä»¥ä¸ã®ãã®ã§, ããã§ã¯ãé¢ä¿ã¢ãããã¨ããååã§ç´¹ä»ãã¦ããããã©, ããã¯å£é ã§ã説æããããã«ä¾¿å®ä¸ã¦ãã¨ã¼ã«ã¤ããååã§ãã£ã¦, ã¨ãã«â¦
æ°ããè¨èªãããã£ããã¨ããããã©ã ãè¨ç®ã®ã¤ã³ã¿ããªã¿ãå®è£ ãããã! Scalaã§ãµã¤ãã«ã©ã ãè¨ç®ã®ã¤ã³ã¿ããªã¿ãå®è£ ããã®ã¯ãã¾ãã«ç°¡å*1ãªã®ã§, åã¬ãã«ã§ãã£ã¦ã¿ã.ã¾ãããªè©±ããã¦ããã¨, C++ã®ãã³ãã¬ã¼ãããã¥ã¼ãªã³ã°å®å ¨ãªã®ã¯æåãªâ¦
Scalaã§SQLãæ¸ãã®ã«Slickã§ä¾¿å©ã«ãã話. Slickã§ã¯çSQLãè£éå(sql"...")ã§æ¸ããããã©, ãªã¹ãã渡ããªãã¦WHERE column IN ($list)ã§ããªãã£ãã, ä»ã«ãããã¤ãä¸ä¾¿ãªã¨ããããã£ãã®ã§ãªãã¨ããã. æè¿ã«ãªã£ã¦Scalaãæ¸ãå§ããã®ã§Scalaåâ¦