プログラミング言語 Scala 7冊目
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2011/09/04(日) 20:07:34.70ttp://www.scala-lang.org/
■リンク集
ttp://sites.google.com/site/scalatohoku/%E5%8B%89%E5%BC%B7%E4%BC%9A%E8%B3%87%E6%96%99
■前スレ
プログラミング言語 Scala 6冊目
ttp://hibari.2ch.net/test/read.cgi/tech/1307416864/
■Scalaの紹介文(さわり)
Scalaは簡潔かつ優雅で型安全な方法でよくあるプログラミングパターンを表現できるように
設計された汎用プログラミング言語です。
Scalaはオブジェクト指向と関数型言語の特徴をスムーズに統合しておりJavaやその他の言語を扱う
プログラマをより生産的にすることができます。(以下略)
ttp://www.scala-lang.org/node/25
■Scalaに関する書籍(英語)
ttp://www.scala-lang.org/node/959
リファレンスマニュアルや草稿のPDFなども充実しているのでそちらも参照してください。
日本語の資料には、チュートリアルの訳やIBM dW、IT Proの連載記事、各々で開かれた勉強会の資料などがあります。
0685デフォルトの名無しさん
2011/12/10(土) 19:08:30.11ありがとうございます。
私も某ページに文字列をeval化するサンプルがあったので
それを参考にやってみたのですが、2.9.1で試したところ同じくNoneが帰ってきていました。。
>>684
さすがにこの内容そのものが出たわけではないですww
やはりutil-evalを参考にするのが正しいんでしょうね、ありがとうございます。
0686デフォルトの名無しさん
2011/12/10(土) 23:36:11.45処理系自分で作れじゃなくて、Lisp系でもなくてそういう課題が出るってどんなせめた講義なのかきになる。
0687デフォルトの名無しさん
2011/12/11(日) 17:55:11.970688デフォルトの名無しさん
2011/12/11(日) 18:01:05.490689デフォルトの名無しさん
2011/12/11(日) 18:10:54.140690デフォルトの名無しさん
2011/12/11(日) 18:11:48.96Scalaの力こそ人類の夢だからだ
って書こうとしたら先にオチが…
0691デフォルトの名無しさん
2011/12/11(日) 20:10:41.40実行時に例外で落ちることがあるね。
PackratParserを使って構文定義を書いてはまった。
ただ、常に落ちるわけではないのがよくわからない。
どうもval x = yみたいな単純コピーは危ないみたい。
0692デフォルトの名無しさん
2011/12/11(日) 20:14:49.261. 書きたいことを冗長あるいは複雑にしている。
2. 学習・教育コストが高い。
の二つがある。
言語オタクは1ばかり語りたがるが、一般人は2にしか関心ないよ。
エヴァンジェリストの諸君は、そこを勘違いしちゃダメだ。
0693デフォルトの名無しさん
2011/12/11(日) 20:50:55.920694デフォルトの名無しさん
2011/12/11(日) 21:37:17.76そういう覚え方は逆に危ないです。valが危ないわけではなくて、パーザコンビネータでは、その性質上、
val同士の相互参照が発生し得るので、それを意識してないと問題になるという話です。普通にvalを書く分に
何か危険があるわけではないです。ちなみに、そういう理由もあって、パーザコンビネータの規則には
lazyを付けることが多いです。
0696デフォルトの名無しさん
2011/12/11(日) 22:47:17.69val の順序を変えることで相互参照が断ち切れたのでしょうか?
0697デフォルトの名無しさん
2011/12/14(水) 12:11:06.620698デフォルトの名無しさん
2011/12/14(水) 13:07:23.41スキーマが何なのか知ってるやつが誰もいないとか
そこらのプログラマはXMLとか触ったことすらないのか
0699デフォルトの名無しさん
2011/12/14(水) 13:19:27.040700デフォルトの名無しさん
2011/12/14(水) 19:04:05.00何のだろう?
>XMLの
XMLのデータ定義なんて
あんまり気にしないだろう。
SOAPのWSDLやCouch/MongoみたいなDBというキーワードが出ない限り。
0701デフォルトの名無しさん
2011/12/14(水) 19:32:39.570702デフォルトの名無しさん
2011/12/14(水) 19:56:18.020703デフォルトの名無しさん
2011/12/14(水) 20:05:50.58この間のドワンゴ勉強会より内容の難易度は落ちてると思うが、見てるやつのレベルはもっと落ちてた
Scalaを難しいと言ってるやつの程度がよくわかったよ
0704デフォルトの名無しさん
2011/12/14(水) 20:11:16.16一番まともなだったというのは皮肉だなw
0705デフォルトの名無しさん
2011/12/14(水) 20:14:42.48期待してない
0706デフォルトの名無しさん
2011/12/15(木) 03:35:33.980707デフォルトの名無しさん
2011/12/15(木) 20:17:08.130708デフォルトの名無しさん
2011/12/15(木) 20:28:53.270709デフォルトの名無しさん
2011/12/16(金) 04:03:16.78http://partake.in/events/4b3afdc8-e4ec-4010-b8ec-31b89210dda0
これ一通り読んだけど、すごくわかりやすくて勉強になった
プログラム例がしっかりしてるのと、簡単なものから順番に紹介してくれてるのがいい
Scalazが結構わかった気がする
残りも楽しみだ
0710デフォルトの名無しさん
2011/12/16(金) 04:42:40.780711デフォルトの名無しさん
2011/12/18(日) 00:09:35.99入力として72と100という数値があったとして
72は、リストの値の範囲
100は、リストの値の範囲外
という処理はどう書くのが普通なんでしょうか?
0712デフォルトの名無しさん
2011/12/18(日) 00:38:27.69val inputs = List(72,100)
val (min,max) = (list.min,list.max)
for (input <- inputs) {
println(input + "は、リストの値の" + (if (min <= input && input <= max) "範囲" else "範囲外"))
}
0713デフォルトの名無しさん
2011/12/18(日) 00:38:36.200714デフォルトの名無しさん
2011/12/18(日) 06:50:08.080715デフォルトの名無しさん
2011/12/18(日) 10:05:31.870716デフォルトの名無しさん
2011/12/18(日) 10:14:06.46よくなった?
0717デフォルトの名無しさん
2011/12/18(日) 12:48:53.400718デフォルトの名無しさん
2011/12/18(日) 13:14:15.56>712-714はあんまり面白くないけど。
0719デフォルトの名無しさん
2011/12/18(日) 13:16:39.97おいこの記事読んでもさっぱり理解できないんだけど
0720デフォルトの名無しさん
2011/12/18(日) 17:31:07.68scala-2.9.1に移行、2.7のサポート打ち切り
ディレクトリ構成が微妙に変わる
(プラグイン設定を /project/plugins/ に置いてたのを /project/ に置くように)
あと修正やら改良がいろいろ 詳しくは https://github.com/harrah/xsbt/wiki/Changes
まさかとは思うけど0.7系使ってるのならはよ切り替えた方が。
0.10系からはコンパイルも早くなってるし。
0721デフォルトの名無しさん
2011/12/18(日) 18:03:55.48Read original paper.
0722デフォルトの名無しさん
2011/12/18(日) 20:25:07.12「原論文を読め、このクズ。
ちなみに俺は英語が得意だ、hahaha!」
0723デフォルトの名無しさん
2011/12/18(日) 20:29:09.950724デフォルトの名無しさん
2011/12/18(日) 22:09:01.10→
>>=
⊙
⇓
⇑
∧
これ何?
0725デフォルトの名無しさん
2011/12/18(日) 22:39:20.020726デフォルトの名無しさん
2011/12/19(月) 14:24:08.71>>721のように書くなら、Read the original paper. だよ。
0727デフォルトの名無しさん
2011/12/19(月) 21:32:17.360728デフォルトの名無しさん
2011/12/19(月) 21:41:35.37というか、その論文、5年以上かかってるのね。
0729デフォルトの名無しさん
2011/12/19(月) 21:42:32.130730729
2011/12/19(月) 21:43:47.800731デフォルトの名無しさん
2011/12/19(月) 23:43:20.50ApplicativeとかIterateeとかどうでもいい
ハスケラーに騙されてるだけ
0732デフォルトの名無しさん
2011/12/20(火) 01:27:35.060733デフォルトの名無しさん
2011/12/20(火) 01:52:30.31すべってるよ、君
0734デフォルトの名無しさん
2011/12/20(火) 16:03:27.76それがscalaなんだろうな。
haskellのapplicativeは便利なんだがな。
0735デフォルトの名無しさん
2011/12/20(火) 16:46:37.67だからハスケラーに騙されてるって言ってんだよ
悪いハスケラー「Applicativeなら綺麗に書ける!Iterateeは次世代IO!」
↓
馬鹿なスカラー「よーしそれならScalazとか作っちゃうぞ」
↓
さらに馬鹿なスカラー「なんか難しいけど流行ってるみたいだしScalaz勉強しよう」
↓
悪いハスケラー「ギャハハハほんとに作ってる!なにこの汚ねえコード!猿真似ww関数型の面汚しwww」
↓
一般ジャヴァー&シーシャーパー「Scalaって複雑そうだから触れないでおこう。あとなんかキモいし」
↓
馬鹿なスカラー「あれ?世界中から馬鹿にされてる?それによく考えたらこのライブラリ使い道ないな…」
完全に嵌められてる
0736デフォルトの名無しさん
2011/12/20(火) 17:26:33.55better javaとしてしか使えてない俺大勝利
0737デフォルトの名無しさん
2011/12/20(火) 18:08:19.610738デフォルトの名無しさん
2011/12/20(火) 19:37:05.92使わなくてもプログラムは作れるが使えばもっと抽象化できるということだろう
0739デフォルトの名無しさん
2011/12/20(火) 22:36:41.310740デフォルトの名無しさん
2011/12/20(火) 22:47:50.08どういうことかもう少し詳しく聞かせて
0741デフォルトの名無しさん
2011/12/20(火) 23:02:42.77個人的な感想だけど
デザインパターンってOOPでは直接表現できないことを、どうにか解決してるという感想をもってる
例えば新しいプログラミング言語の機構を作ったときに、その評価としてデザインパターンが解いてる問題を
直接表現できるかみたいなのもある
visitor パターンはクラス階層に操作を追加できるようにするパターンだけど
裏をかえせば、OOPでは操作の追加が難しいという欠点があるということだし
あんまり真面目に取らなくていいですw
0742デフォルトの名無しさん
2011/12/20(火) 23:38:20.540743デフォルトの名無しさん
2011/12/20(火) 23:42:11.000744デフォルトの名無しさん
2011/12/21(水) 00:16:32.21singletonは直接サポートしてる。
そういう文章はどこかにありそう。
0745デフォルトの名無しさん
2011/12/21(水) 00:29:09.630746デフォルトの名無しさん
2011/12/21(水) 01:05:08.65haskellも知らなくても組める。ファンクタの働きくらいはしっておい
ていいと思うけどな。
0747デフォルトの名無しさん
2011/12/21(水) 01:06:42.40それすら理解せずにプログラマを自称するつもりですか?
恥ずかしい人ですね
0748デフォルトの名無しさん
2011/12/21(水) 01:07:22.83この世に〜しないと駄目なんてものはない。
プログラミングしなくてもいいし。
0749デフォルトの名無しさん
2011/12/21(水) 01:26:10.42これの記述正しい?
0750デフォルトの名無しさん
2011/12/21(水) 01:31:58.16何か勘違いしてるみたいだけどデザインパターンってのは
「可能にするためのトリック」ではなくて
「よく出てくるから名前を付けてみたので共有しましょう」
なんだけどな
0751デフォルトの名無しさん
2011/12/21(水) 01:35:38.23OOP=中二病
0752デフォルトの名無しさん
2011/12/21(水) 02:26:52.833行でまとめてくれ
0753デフォルトの名無しさん
2011/12/21(水) 12:25:47.48これを難しい順に左から並べていただけませんか?
0754デフォルトの名無しさん
2011/12/21(水) 12:29:54.300755デフォルトの名無しさん
2011/12/21(水) 12:46:49.14英語がわからないなら
読むのを
諦めろ。 ハイ3行。
0756デフォルトの名無しさん
2011/12/22(木) 05:05:22.670757デフォルトの名無しさん
2011/12/22(木) 06:52:45.28オートコンプリートをオフにできない(チェックを外しても復活する)のも相変わらず。
閉じかっこが文脈を読まずに挿入されるし、タブを使わない設定でもインデントにタブが入る。
デバッガは駄目だし、参照ジャンプもよく失敗する。
0758デフォルトの名無しさん
2011/12/23(金) 10:52:02.92http://www.infoq.com/jp/news/2011/12/scala-fresher
0759デフォルトの名無しさん
2011/12/23(金) 22:03:00.280760デフォルトの名無しさん
2011/12/24(土) 01:22:10.380761デフォルトの名無しさん
2011/12/24(土) 08:06:41.330762デフォルトの名無しさん
2011/12/24(土) 21:39:29.710763デフォルトの名無しさん
2011/12/24(土) 22:20:58.01ちょっと何を言ってるのかわからないですね
0764デフォルトの名無しさん
2011/12/25(日) 00:23:22.71どういうことなのかもっと詳しくお願い
0765デフォルトの名無しさん
2011/12/25(日) 15:11:31.340766デフォルトの名無しさん
2011/12/26(月) 14:25:55.76http://sourceforge.jp/magazine/11/12/26/0449214
0767デフォルトの名無しさん
2011/12/27(火) 13:00:38.43だれか冬休み中にsbt-coverageのテンプレ追加しといて
sbt0.11でよろしくおねがいします
0768デフォルトの名無しさん
2011/12/27(火) 14:34:44.820769デフォルトの名無しさん
2012/01/06(金) 13:00:28.410770デフォルトの名無しさん
2012/01/06(金) 13:25:35.74全然ステルスになってないだろ
0771デフォルトの名無しさん
2012/01/06(金) 19:14:33.970772デフォルトの名無しさん
2012/01/08(日) 10:55:33.32ClassManifest[Symbol]が無いから?
scala> Array(0,1,2)(0)
res0: Int = 0
scala> Array('a, 'b, 'c)(0)
<console>:9: error: type mismatch;
found : Int(0)
required: scala.reflect.ClassManifest[Symbol]
Array('a, 'b, 'c)(0)
^
scala> Array('a, 'b, 'c).apply(0)
res2: Symbol = 'a
0773デフォルトの名無しさん
2012/01/08(日) 15:19:28.62Arrayオブジェクトのapplyの定義が違って
2つ目の書き方だと取り出す以前に配列を作成できていない
def apply(x: Int, xs: Int*): Array[Int]
def apply[T](xs: T*)(implicit arg0: ClassManifest[T]): Array[T]
implicit parameterでClassManifestを取るところを明示的にInt渡してるからエラーになってる
0774デフォルトの名無しさん
2012/01/08(日) 20:23:55.57↓をしないとimplicit parameterとして解釈されちゃうのか
scala> Array('a, 'b, 'c)(implicitly[ClassManifest[Symbol]])(0)
Array('a, 'b, 'c)(implicitly[ClassManifest[Symbol]])(0)
res19: Symbol = 'a
ここまでするならapply明記するかなーというのが妥協点として有力ですね
0775デフォルトの名無しさん
2012/01/08(日) 23:16:23.52val a = Array('a,'b,'c)
a(0)
0776デフォルトの名無しさん
2012/01/09(月) 00:38:09.20mapの中なんで一時変数作りたくなかったんですよ
0777デフォルトの名無しさん
2012/01/10(火) 06:32:33.59逆。ステマってのが要するにエバンジェリスト。
0778デフォルトの名無しさん
2012/01/10(火) 11:17:31.480779デフォルトの名無しさん
2012/01/10(火) 22:10:51.600780デフォルトの名無しさん
2012/01/13(金) 10:37:01.730781デフォルトの名無しさん
2012/01/13(金) 11:48:31.090782デフォルトの名無しさん
2012/01/13(金) 12:08:13.620783デフォルトの名無しさん
2012/01/14(土) 23:55:04.92rxvtなら英語の情報があるんだけどTera Termは和製だからなぁ
0784デフォルトの名無しさん
2012/01/15(日) 00:14:57.33■ このスレッドは過去ログ倉庫に格納されています