ããã«ã¡ã¯ã氎島ã§ãã
scalaãå®è¡ã§ããªãåé¡ã§ããããšã©ãŒã¡ãã»ãŒãžãèŠããšãã©ããã
fsc(ããã»ã¹ãšããŠåžžé§ããŠãïŒåç®ä»¥éã®ã³ã³ãã€ã«æéãåæžãã
ããã®ããŒã¢ã³)ãäœããšã©ãŒãåããŠããããã§ãããã¶ããæ¢ã«
èµ·åæžã¿ã®fscã®ããã»ã¹ãããã¯ããªã®ã§ããããkillãããªã
(Linuxãªã©)ãã¿ã¹ã¯ãããŒãžã£ãã匷å¶çµäºãããªã(Windows)ããŠ
ããããäžåºŠå®è¡ããŠã¿ãŠã¯ã©ãã§ãããã(fscã®ããã»ã¹ã¯å®äœ
ã¯JVMãªã®ã§ãã¿ã¹ã¯ãããŒãžã£çããã¯javaãšããŠèŠããŠãããš
æããŸã)ã
2009幎12æ12æ¥7:34 mizo <mizo....@gmail.com>:
> --
>
> ãã®ã¡ãŒã«ã¯ Google ã°ã«ãŒãã®ã°ã«ãŒããscala-beãã®ç»é²è
ã«éãããŠããŸãã
> ãã®ã°ã«ãŒãã«æçš¿ããã«ã¯ãscal...@googlegroups.com ã«ã¡ãŒã«ãéä¿¡ããŠãã ããã
> ãã®ã°ã«ãŒãããéäŒããã«ã¯ãscala-be+u...@googlegroups.com ã«ã¡ãŒã«ãéä¿¡ããŠãã ããã
> 詳现ã«ã€ããŠã¯ãhttp://groups.google.com/group/scala-be?hl=ja ãããã®ã°ã«ãŒãã«ã¢ã¯ã»ã¹ããŠãã ããã
>
>
>
--
Kota Mizushima
e-mail: hau5...@tree.odn.ne.jp,mizu...@gmail.com
氎島ã§ããJVMã®ãã€ãããã¯èšèªã«éã£ã話ã§ã¯ãªã(ããããScalaã¯éçãªèšèªã§ãã)ãJavaã§ã
åºæ¬çã«ã¯åãã§ãããåå ã究æããã«ã¯ããšã©ãŒãåºãŠãããŠãŒã¶ã³ãŒã(widthOfLength.scala)ãš
ã©ã€ãã©ãªã³ãŒãã®å¢çãã©ãããèŠã€ããããšã ãšæããŸããä»åã®ã±ãŒã¹ã§ã¯ã
> at scala.io.Source$.fromFile(Source.scala:95)
> at Main$$anon$1.<init>((virtual file):10)
ãšãªã£ãŠããŸãã®ã§ãwidthOfLength.scalaã®10è¡ç®ã§Source.fromFileã®åŒã³åºãããããããã§äŸå€
ãçºçããŠããããã§ãããšããããšã¯ã(Source.fromFileã®åŒã³åºãæ¹ãééã£ãŠããªããã°)åé¡ã
ããã®ã¯Source.fromFileãã€ãŸãã©ã€ãã©ãªã³ãŒãã«ããå¯èœæ§ãé«ããšæããŸããwidthOfLength.scala
ã®ãœãŒã¹(å
šæ)ãšåé¡ãåçŸããå
¥åãããã°ããã¡ãã§ã確ãããããšãã§ããããšæããŸããâŠã
2009幎12æ16æ¥1:40 mizo <mizo...@jcom.home.ne.jp>:
--
Kota Mizushima
e-mail: hau5...@tree.odn.ne.jp,mizu...@gmail.com
氎島ã§ãã
2009幎12æ16æ¥19:40 Mizoken001 <mizo....@gmail.com>:
> 氎島ããïŒé¢ãã
>
> æºå£ã§ãã
> åçããããšãããããŸããã
>
> ç§ã®çŽ æŽãªçåã§ãã
>
>> > Â Â Â Â at scala.io.Source$.fromFile(Source.scala:95)
>> > Â Â Â Â at Main$$anon$1.<init>((virtual file):10)
>>
> ãäžèšã®ã¹ã¿ãã¯ãã³ãããã
> ã©ãããã°ãwidthOfLength.scala10è¡ç®ã®Source.fromFileåŒã³åºãããšå€æ
> ã§ããã®ã§ããããïŒ
> ç§ããåé¡ã ãªãšæãã®ã¯ããã®ãŸãŸãJavaã«ç¿»èš³ãããã¹ã¿ãã¯ãã¬ãŒã ã
> åºãŠããŠã
> æèŠã§ã¯å®å
šã«ããã¢ã²ã©ç¶æ
ã ãšããããšã§ãã
>
> 氎島ããã®è§£èª¬ã ãšMain$$anon$1.<init>ãwidthOfLength.scalaã«çžåœããã®
> ã ãšæãã®ã§ããã
> ç§ã«ããã®ã¹ã¿ãã¯ãã³ãããããã®æ
å ±ãèªåããŸããã§ããã
åèŠã§ã¯ããããããªãã¹ã¿ãã¯ãã³ãã§ãããäžèŠªåã ãšããã®ã¯ãã®éãã ãšæããŸããã
æ¹åã®äœå°ããããšæããŸãããã ãèªã¿æ¹ã®åºæ¬ã¿ãããªãã®ã¯ãã£ãŠãããããæããŠ
ãã°å€§äœèªã¿åãããšãã§ããŸãã
ãŸããåºæ¬ç¥èãªã®ã§ãããscalaã¯scalacã§ã³ã³ãã€ã«ããã®ãåºæ¬ã®èšèªã§ãã£ãŠã
scala [ãã¡ã€ã«å]ã³ãã³ãã¯scalacã®ã©ããã®ãããªåœ¢ã§æäŸãããŠãããšããããšã§ãã
å
·äœçã«ã¯ããã¡ã€ã«åã§äžããããã¹ã¯ãªããã®ååŸã«ãscalacã§ã³ã³ãã€ã«ããã®ã«
å¿
èŠãªã³ãŒããã¡ããã¡ããã£ãšãã£ã€ããŠãscalacã«æµã蟌ããããªæãã§ã(å³å¯ã«ã¯
ã¡ãã£ãšéããŸãã)ããã®ãšããæçµçã«scalacã«æž¡ãããã®ã¯å
ã®ãã¡ã€ã«(ããšãã°
widthOfLength.scala)ãã®ãã®ã§ã¯ãªãããã®ååŸã«è²ã
ãã£ã€ãããã€ãåã§ããããã
ãã¡ã€ã«åã®æ
å ±ã倱ãããŠã(virutal file):10ã®ããã«ãªããŸã(å®ã¯ãååŸã«è²ã
ãã£ã€ãã
éã«è¡çªå·ãããããããå
ã»ã©10è¡ç®ãšæžããã®ã¯å®ã¯æ£ç¢ºã§ã¯ãªãã§ã)ã
ãŸããã¹ã¯ãªãããšããŠçŽæ¥å®è¡ããéã®ãšã³ããªãã€ã³ãã¯ãMain$$anon$1.<init>ã®ããã«
ãªããŸã(ä»ã®ç°å¢ã§ç¢ºèªããããã§ã¯ãªãã§ãããããããåãã ãšæããŸã)ã
ããšã(virtual file):è¡çªå·ãšè¡šç€ºãããŠããç®æããäžã®éšåã¯scalaã³ãã³ããããã°ã©ã ã®
å®è¡ã®ããã«åŒã³åºããŠãããªãã¬ã¯ã·ã§ã³APIé¢é£ã®ã¹ã¿ãã¯ãã¬ãŒã¹ã§ãã®ã§å
šéšç¡èŠããŠ
è¯ãã§ãã
ãšã«ãããscalaã³ãã³ãã§çŽæ¥ã¹ã¯ãªãããå®è¡ããéã®ã¹ã¿ãã¯ãã¬ãŒã¹ãèªã¿åããšãã«ã¯ã
äžã®æ¹ã®ãã¬ãŒã¹ã¯é¢ä¿ç¡ãã®ã§ç¡èŠãã
(virtual file):è¡çªå·ãã€ããŠããç®æã«æ³šç®ãã
ããšã§å¿ èŠãªæ å ±ã¯å€§äœèªã¿åããããã«ãªããŸãã
>
> ã¹ã¿ãã¯ãã³ãã¯ããããã°ãåé¡è§£æ±ºã®äžçªå€§äºãªæ
å ±ã§ãã
> ãããããã®ãããªç¶æ
ã§ã¯ãå°ããã¬ãã«ãªããŠããŸãã
scalaã³ãã³ãã«ããã¹ã¯ãªããå®è¡ã®éã®ã¹ã¿ãã¯ãã³ãã«ã¯åé¡ããã£ãŠèªã¿ã¥ããã®ã¯
å
ã»ã©è¿°ã¹ãããã«äºå®ã§ãããscalacã§ã³ã³ãã€ã«ããããã°ã©ã å®è¡ã®éã«ã¯
javaãšåçšåºŠãããã«è¿ããããã«ã¯èªã¿ãããã¹ã¿ãã¯ãã¬ãŒã¹ãåºãããã«ãªã£ãŠããŸã
(scalacã§äžåºŠã³ã³ãã€ã«ããŠè©ŠããŠã¿ãŠãã ãã)ã
> åã®ãjava.lang.Exception: fsc failureãã®ç°åžžçµäºãããã§ããã
> Scalaã®Run Timeã¯ãçµæ§ã匱ãããªæããããŠããŸãã
ããã¯æ確ã«ééã£ãŠããŸããã©ã³ã¿ã€ã ã«é¢ããŠã¯ã»ãŒJavaãã®ãŸãŸãªã®ã§ãJavaãšåçšåºŠã«ã¯
é å¥ã§ããfsc failureã«é¢ããŠã¯ãfsc(ã®ããããã¯éä¿¡é¢ä¿ã®éšå)ã®å®è£
ã®åé¡ã§ããããã®éšåã®
å®è£
ããŸã ããªããŠããªããšããäºã§ã¯ããã®ã§ãããããã¯ã©ã³ã¿ã€ã ãšã¯çŽæ¥é¢ä¿ç¡ãã§ãã
ãšããããèªåãèšããããšãšããŠã¯ã
ã³ã³ãã€ã©ã¯å²ãšå®å®ããŠãã(ãã ããæã
ã³ã³ãã€ã©ãèœã¡ããããªãã°ãèŠã€ããã)
ã³ã³ãã€ã©ã¯é
ã(ããããã³ã³ãã€ã©ã®ã¢ãŒããã¯ãã£ãåå )
fsc(Fast Scala CompilerãããŒã¢ã³ãšããŠåžžé§ããŠãïŒåç®ä»¥éã®ã³ã³ãã€ã«æéãåæžããããã°ã©ã )
ã¯ç°å¢ã«ãã£ãŠäžå®å®ã ã£ãããã
scalaã³ãã³ãã«ããã¹ã¯ãªããå®è¡ã®éã®ã¹ã¿ãã¯ãã¬ãŒã¹ã¯äžèŠªåãæ¹åã®äœå°ãã
ã©ã³ã¿ã€ã ã¯(Javaãã®ãã®ãªã®ã§)å®å®ããŠãã
蟺ãã§ããããã
>
> ããã°ã©ã ã¯ãã³ããæ¬ã®æäžã«ãã£ããµã³ãã«ã»ããã°ã©ã ã§ããæ·»ä»ããŸãã
> ã³ããæ¬ããã¯ãSource.fromFileã®æ£ããåŒã³åºãæ¹ãåãããªãã®ã§ã
> ãªãã¡ã¬ã³ã¹ãªã©ãæ¢ããããšæããŸãã
>
>> 氎島ã§ããJVMã®ãã€ãããã¯èšèªã«éã£ã話ã§ã¯ãªã(ããããScalaã¯éçãªèšèªã§ãã)
>
> æžã¿ãŸãããJVM ãã€ãããã¯èšèªãšäœ¿ã£ãã®ã¯ãèšèªä»æ§ããã€ãããã¯èšèªãšèšãæå³ã§ã¯ãªã
> JRuby, Tython, Groovy ã®ããã«JVMäžã«æ§ç¯ããèšèªããJVM ãã€ãããã¯èšèªãšåŒã¶ã®ããš
> æã£ãŠããŸããïŒããããäžèšäŸã®èšèªã¯ããã€ãããã¯èšèªã«åé¡ãããŸããâŠïŒ
> ããã»ããã§èããèšèãéµåã¿ã«ããŠäœ¿ã£ãã®ã§ãããããŸãæ®åããŠç¡ãããã§ãã onz
> ããããScalaã¯ããã€ãããã¯èšèªïŒãã¹ã¿ãã£ãã¯èšèªïŒãã©ã¡ããªã®ã§ããããïŒ
ãã€ãããã¯/ã¹ã¿ãã£ãã¯(åç/éç)èšèªãšããã®ã¯ãåºæ¬çã«èšèªã®åé¡ã«åœãã£ãŠäœ¿ãããèšèã§ã
JVMã®äžã§ããããšããã§ãªããããšå€ãããŸãããJRuby, Jython, Groovyãªã©ã¯ãå€æ°ãåŒã«
éçãªåãç¡ã(=åçã«å€ããåŸã)ã®ã§ãåçåä»ããåçèšèªãšåŒã°ããŸããäžæ¹ãJavaãScalaã¯
å€æ°ãåŒã«éçãªåãããã®ã§ãéçåä»ããéçèšèªãªã©ãšåŒã°ããŸãã
# å人çã«ã¯ãéçèšèªãåçèšèªãšããèšãæ¹ããããéçåä»ããåçåä»ãèšèª
# ãšåŒã¶æ¹ã奜ãã§ããã
--
Kota Mizushima
e-mail: hau5...@tree.odn.ne.jp,mizu...@gmail.com