いう主観的な感想(を書いてみたかっただけ)一般的なScalaのコードを書くべきときの基準として、使うべきでない機能や、やるべきでないパターンを列挙して、(他の人にも)ここに書いたことを実行して欲しいという主張おそらく2番目の、"読みづらいと感じた"という部分が大きいのだと思います。1番目もあるとは思うし、3番目もどのくらいあるのかわからないですが。それで、1番目のものに対しては、あまり読んだことないし、わざわざ全部読む気にもならないので、あまり深くは触れません。具体的に(汚い部分を?)書いてもらえば、いろいろ書けるかもしれないけれど。あと、3番目だと決めつけて、真っ向から反論ばかり書いてもあまり生産的にならない気もするし、やめて欲しいといいつついつも悩むので、これは覚えるべきか。前向きなことも書かれているので、まぁ基本的には2番目だと仮定して、いろいろ書いてみようかと思います。traitで多重継承っぽくふんだんに使う自分もそこまで使わない、(というかこのパターンを使い慣れてなくて、もうちょっと使ったほうがいいのではないかと思いつつ使えてない)んですが。どこに何があるか分からないじゃないかー!たしかに"どこになにがあるかわかりづらくなって、ソースコードが追いにくくなる"というのはデメリットだと思います。メリットもあるので・・・としか書けないですね、具体的な例がないと。あとScalaに限らず、多重継承的なことができる言語すべてに共通しますし。それに対する代替案も書かれていないので。多重継承はせずに(誰にでもわかるような)手続き型で書くべきなのか?Javaみたいに単一継承で?いや継承とか使わずに、純粋関数型で!とか。traitを後付けでバックエンドを切り替えて嬉しいぜ機能これは・・・たまに便利だけど、確かに、はじめて見るととまどうことは多いかもしれません。AにX86Backendの機能が追加されて嬉しいぜってことらしいのだけどと書かれているので、たしかにそのパターンばかりがでくるなら他で代替できるかもしれませんね。(たまに嬉しいパターンの解説は略。mapこれは結構でてきますし、Scalaある程度やっていくつもりなら覚えたほうがいいのではないかと・・・このあたりをつかわないのなら、Scalaを使う意味がかなり減ってしまうでしょうし。最近の言語には普通に名前は違えども同じようなものはありますし。*1ただ、foldLeft自体は読みづらいというのは確かで、どこでも使うものではなく、もっと便利につかえる高階関数(またはメソッド)がすでに用意されているならば、それを使うようにするfoldLeftで似たようなパターンが何度もでてきて、なおかつ使えそうな高階関数(またはメソッド)がないならば、自分で(foldLeftなどを使って)つくるfoldLeftに渡す無名関数が長くなりすぎないようにするなど気をつける点はいろいろあるとおもいますが。「ここがヘンだよScala言語」についてのまとめ手続き型言語から入ってるくるとyieldがない形のforの構文が普通で、なんかyieldで値返すのってなんか特殊で気持ち悪い、なんでそんなことできるようになってるの?と大体の人が思うわけですが、(自体もScalaの勉強当初は多少はこう思った気がする)逆に、関数型言語の素養がある人や、Scalaにかなり慣れている人からするとScalaのforってHaskellのdoと同じでMonadのための記法でしょの一言で済んでしまったりするわけです。Haskellのdoと微妙に構文違ったりとか、(yieldで値を返さずに)ループを回す的な使い方ができちゃったり、初心者向けの本ではちゃんとそのあたり説明してなかったり、とそのあたりが微妙だったりもするわけです。部分のみを強調しすぎる、弊害(?)的な部分もあるとは思いますが・・・。yieldがある場合とない場合で、そもそも両方に"for"という単語をつかうのではなく別な単語を割り当てるべきだったか?などと妄想することはできますが、もうScalaのforはこういうものなので、今更構文変えられないだろうしょうがないですね。さんが読んでたソースコード個別の問題という感がしますね。)わがままを書いているだけな気がするから、ここは真面目に反応をするところじゃないというか、延々と"パーサとはなにか?"を語ってもあまり意味が気がする。conversionを使う必然性はないですね。conversionそのものに関しては、便利に使える場合もあるので、もちろん必要な機能だとは思いますが。1注目記事はてなブログをはじめよう!xuweiさんは、はてなブログを使っています。ブログを報告する引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。