片っ端からリストクラスを操作するメソッドを試したつわものがいました。使い方が大体わかるかも。バージョンは2.7ベースな点に注意。ちなみに2.8のListのメソッド一覧は下記です。2問とは関係ないのだが、今度はEclipseでSCALAを実行させてみたいとおもう。そのためには下記のプラグインをインストールすることが必要だ。下記のような実行用のメソッドを用意するといいでしょう。***scalaは配列要素をパターンマッチできるようだ。::は配列の要素間の区切り文字である。()はapplyメソッドと同等らしいです。ややこしいが、その分応用できる箇所をすっきりと記述できる。ようにxと4が計算され結果が出力されるという感じだ。xとかyとかがなくても、次の書式で対応可能だ。***foldLeft・foldRightは別名があり、それぞれ「/:」「:\」とも書ける。初期値が先頭にきている感じだ。()を閉じ終えてからくる()が、処理。List[T]()は初期値であり、空の配列である。**応用:Beanを定義する。ここまでは、配列の中身が数値とかだったので、もう少し込み入った情報を扱いたい場合もあるかとおもいますので、Beanの扱いについて説明いたします。その前にオーバライトの書き方を紹介します。defの前にoverrideをつけます。1行でもいけるでしょう。-ただし、上記の例でバージョン2.7.7では意図した結果になるのに対して、2.8Betaだとcontinueのスコープがずれてしまい、別々の変数とみなされてしまいます。バクかなとおもって本家にバグ報告してみたところ下記の回答がかえってきました。**SCALAの本家から回答が帰ってきました。20).toStreamとすればよいようです。reverseでもどしたりする。空配列しか受け付けない配列として宣言したことになるようです。いうエラーがかえってきます。クラスの型を正しく指定しないといけませんので指定します。行うような処理を簡潔に書くことができます。文字列を配列に変換するメソッドをつくってみました。別解:JavaのtoCharArrayをつかう例。これだけでもいいけどArray型になってしまうため、型変換メソッドも用意しました。//ArrayをList配列に変換します。//文字列を配列に変換します。動的関数をつかえば、簡潔に表現できます。ファイルをcloseする箇所が省けているのがわかります。//ファイルをすべて読み配列で返します。シンプルになりました。flatMapをつかいます。flatMapは基礎的メソッドです。-flatmapもmapもArray()で行えば、Arrayをかえしますし、Listで行えばListをかえします。記号は左側にブロック変数を指定できるので重要です。ブロック変数はcaseによってリストのパターンごとの処理が可能になっています。match処理内のcase処理部分でつかいます。Listとエラーになります。Haskellでいうところのgroupメソッドとかなり類似した関数のようですね。最近、下記のようなところでもりあがっているのを知りました。それはさておき、ここの回答でつかわれているテクニックに焦点をあててみていきましょう。ScalaもRubyのように多重代入ができるんですねぇ。***一致するシンボルと、それ以降を分離する。spanをつかいます。えーっとここの問10の記事でバッチファイル作りなど、いろいろ脱線した記事を書いているので、無視してもらっていいです。そのためには前回定義したメソッドをimportします。インポートするためには参照元の.scalaファイルがコンパイルされている必要があります。なくば、下記のエラーが出ます。今後プロジェクトでこの99の問題をコンパイルし続けるとディレクトリ内はソースとクラスファイルでごちゃごちゃになってしまいます。問題の回答としてできてくる99個のファイルは一つのパッケージにしなきゃつらいですね。なると、package化の必要があります。いちいちscalacのオプションを書くのは面倒なのでバッチファイルをつくりました。拡張子の.scalaは省略してもいいようにしてあります。--ただし、jarファイルのクラスパスをまとめてコンパイルするにはさらなるクラスパスの追加が必要です。---setlocalはこのバッチファイルだけで有効なことを意味します。---ENABLEDELAYEDEXPANSIONを指定しないと、for文が並列で評価されてしまい、クラスパスが連結されません。いうサブディレクトリも検索対象にするオプションがあるはずですが、なぜか自分の環境(XP)では動作しませんでした。クラスパスの指定に偽ワイルドカードが使えるようになるようです。設定箇所はプロジェクトのディレクトリです。importするということは、ファイル同士に依存関係が出てくるということです。業務でつかうとなれば、ビルドツールのANTまたは、MAVENをつかったほうがよさそうです。仮に解凍したディレクトリの名称をmavenに変更して下記に設置したとします。-環境変数を設定します。バッチファイルとrubyでつくったスクリプトを用意しました。なんで、rubyかって?単に簡潔に書けそうな気がしたからです。---したに示したテキストファイル処理Rubyスクリプトがあることが前提のバッチファイルです。---プロジェクトフォルダがないことが前提です。#プロジェクト名を第一引数にとります。#パッケージ名を第2引数にとります。#バージョンを第3引数にとります。#64行目から66行目をカットします。#以前のバージョン2.7.0を今のバージョンに置き換えます。このlaunchers要素を新規に作る。idとmainClassは必須。