トップページ⇒tech
1001コメント329KB

プログラミング言語 Scala 7冊目

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん2011/09/04(日) 20:07:34.70
The Scala Programming Language
ttp://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の連載記事、各々で開かれた勉強会の資料などがあります。
0951デフォルトの名無しさん2012/04/13(金) 14:41:59.44
だいたい,こんな時間に書き込むとかそれはそれで人としてのレベルが知れる,
お互いに.
0952デフォルトの名無しさん2012/04/14(土) 00:18:49.32
Scala 2.9.2 final
http://www.scala-lang.org/node/12603
なんか重要な変更点あるの?
0953デフォルトの名無しさん2012/04/14(土) 13:47:44.50
Scala 2.9.2 final をWindows7へ、msiでインストールしたんだけど、
Windowsのスタートメニューには、APIDocumentへのリンクくらいしか作られていない。

こんなもんだっけ?

2.9.1のときは、"Scala Interpreter"(REPL) とか、Uninstallerとか ScalaByExample等のPDF
へのリンクがスタートメニューに作られていたのだが。

とりあえず、scala>binの scala.bat でREPL起動させたりと、不満はないのだが。


0954デフォルトの名無しさん2012/04/16(月) 10:20:17.77
そういえば,ScalaのREPLってバックスペース効かなくない?
0955デフォルトの名無しさん2012/04/16(月) 11:22:29.39
えっ?
0956デフォルトの名無しさん2012/04/16(月) 12:18:19.08
Ctrl-hしか効かない.

Windows 7 64bit, cygwin(mintty), scala 2.9.2.
0957デフォルトの名無しさん2012/04/17(火) 01:28:19.22
>>954
> そういえば,ScalaのREPLってバックスペース効かなくない?

Windows7 64bit, scala 2.9.2.msiでインストール
ctrl-hもBSキーも両方とも有効だった。
0958デフォルトの名無しさん2012/04/17(火) 01:33:15.08
確かにminttyだと効かないね
直してみたら?
0959デフォルトの名無しさん2012/04/18(水) 02:57:15.94
BS効かないっていうか、DELと同じ動作するんだよね……
とりあえずBSを^Hにするオプションあるからそれ設定した
0960デフォルトの名無しさん2012/04/18(水) 15:47:48.02
emacsではBS使ってたんだけど,試しにCtrl-hをBSに割り当てたら,存外快適
だった.
0961デフォルトの名無しさん2012/04/18(水) 15:51:48.87
配列でオブジェクトとnullが混じってる時に,
array.indexWhere(_.id == 1)
とかやるとnullPointerExceptionになるけど,なんかエレガントな方法ってない
のかな・・・
0962デフォルトの名無しさん2012/04/18(水) 16:22:29.15
それだけなら普通にnullチェックすればいいのでは
そもそもnull混じりの配列なんてさっさとOptionに変えたほうがいいと思うけど

あえて一行で書くならこんな感じで
array.map(Option(_)).indexWhere(_.exists(_.id == 1))
0963デフォルトの名無しさん2012/04/18(水) 16:46:13.99
これでいんでね?
array.indexWhere(x => x != null && x.id == 1)
0964デフォルトの名無しさん2012/04/18(水) 16:51:10.41
>>963

これOKってことは,x.idが評価されてないってことだよね.
x != null && x.id == 1
って,x != nullがfalseな時点で全体としてfalseになるのか・・・
0965デフォルトの名無しさん2012/04/18(水) 17:01:39.92
そうじゃない言語の方が珍しいんじゃ
0966デフォルトの名無しさん2012/04/18(水) 19:28:11.50
でも,こういうやり方って曖昧さが残るというか,
*p++
がどうなるかみたいな感じ.
0967デフォルトの名無しさん2012/04/18(水) 19:35:51.10
そのポインタは忘れたけど、論理演算子の評価順は仕様で決められてるでしょ
Scalaはどうかわからんけど、C系統はね
0968デフォルトの名無しさん2012/04/18(水) 19:49:44.40
>>964
短絡評価
http://ja.wikipedia.org/wiki/%E7%9F%AD%E7%B5%A1%E8%A9%95%E4%BE%A1
0969デフォルトの名無しさん2012/04/18(水) 22:26:47.48
最近のパッケージにemacs用のscala-modeって入ってないよね.前まであった
きがするんだけど・・・
0970デフォルトの名無しさん2012/04/18(水) 23:59:38.58
2.9.2からじゃないかな
あれ、シンタックスハイライトすらうまくいってないからメンテナンスしてほしいなあ
0971デフォルトの名無しさん2012/04/19(木) 00:03:55.21
改善されるの待ってたら,消されたっていう(笑)
0972デフォルトの名無しさん2012/04/20(金) 21:55:01.92
2.9.1-1から本体に含まなくなったけど別配布メカニズムがまだ出来てない
開発は続いてるからgithubから落とせばOK
https://github.com/scala/scala-dist/tree/master/tool-support
0973デフォルトの名無しさん2012/04/20(金) 23:47:52.15
>>972

サンキューサー
0974デフォルトの名無しさん2012/04/20(金) 23:52:18.61
そういえば,一回しか決定しないからvalにしたいんだけど,後でしか決められ
ないからvarで宣言しといて後で決定するってケースが時たまあるんだけど,
いい方法ない?
0975デフォルトの名無しさん2012/04/21(土) 00:14:21.91
具体的な例がないと…
最初に使うときには決定してるならlazy valを使えるけど
0976デフォルトの名無しさん2012/04/21(土) 13:18:07.31
例えば,

class Hoge {
val v //今は決められないけど1回決まれば変更したくない

def foo {
v = ... //1回だけ可能
}
}

みたいな・・・
0977デフォルトの名無しさん2012/04/21(土) 13:25:58.46
foo呼び出す前にv呼び出されたらどうすんの?
0978デフォルトの名無しさん2012/04/21(土) 13:51:14.20
https://github.com/twitter/util/blob/master/util-core/src/main/scala/com/twitter/concurrent/IVar.scala
これとか?
2回目以降の書き込みはエラーとかじゃなくて無視されるだけだけど
0979デフォルトの名無しさん2012/04/21(土) 16:06:02.60
>>977

困る.
0980デフォルトの名無しさん2012/04/21(土) 21:55:10.88
いや,でも,宣言したい変数がすごい深いネストでしか決められず困ることって
あるじゃん?
0981デフォルトの名無しさん2012/04/21(土) 22:04:36.77
んー?そんなんある?
0982デフォルトの名無しさん2012/04/21(土) 22:15:27.35
まあ次スレ立てたわ
http://toro.2ch.net/test/read.cgi/tech/1335014078/
0983デフォルトの名無しさん2012/04/21(土) 22:37:22.87
うむ。大儀であった。
0984デフォルトの名無しさん2012/04/22(日) 01:47:27.57
C++11のfuture/promiseみたいなの作ればいいよ
0985デフォルトの名無しさん2012/04/22(日) 01:53:43.93
C++11のfuture/promiseってそれ以外のfuture/promiseと違いがあるの?
0986デフォルトの名無しさん2012/04/22(日) 10:32:32.94
>>982
ありがとー
0987デフォルトの名無しさん2012/04/22(日) 13:54:45.91
名前
0988デフォルトの名無しさん2012/04/22(日) 19:25:13.16
scalaスレってなんでpartが冊目なの?
0989デフォルトの名無しさん2012/04/22(日) 19:42:56.74
emacsのscala-modeがダメすぎる.
0990デフォルトの名無しさん2012/04/22(日) 20:18:57.21
>>988
part2スレを立てた人が2冊目という名前にしたからです。
Scala初代スレが立った時は英語のScala本さえなく、
出版予定や発売開始でスレが盛り上がりました。
それを見て冊目にする事を思いついたのでしょう。

4年前に初代スレを立てた人は目ざといですね。
http://www.indeed.com/jobtrends/Lisp,SML,Haskell,Scala,Clojure.html
0991デフォルトの名無しさん2012/04/22(日) 21:04:39.93
ほー、�dクス
0992デフォルトの名無しさん2012/04/22(日) 22:06:15.58
>>989
不満にもよるがensimeでどうよ
0993デフォルトの名無しさん2012/04/22(日) 22:50:31.53
>>992

インデントとか,改行時の挙動が不満なのでございます.
0994デフォルトの名無しさん2012/04/23(月) 14:33:06.59
やってることは同じでも、色んな書き方ができるって逆に分かりにくくね?
普通に読めるソースと読みこなせなくてイライラするソースがある。
なんかPerlを思い出す気が・・・・・・
0995デフォルトの名無しさん2012/04/23(月) 15:02:48.32
自分の力量の足りなさにイライラ、ですか。
0996デフォルトの名無しさん2012/04/23(月) 15:45:46.01
Scalaを使っていいのはほんの一握りのエリートだけですよ
0997デフォルトの名無しさん2012/04/23(月) 16:06:35.67
中卒が使う言語 → スクリプト言語
高卒が使う言語 → Java、Objective-C
大卒が使う言語 → C#
エリートが使う言語 → Haskell
スーパーエリートが使う言語 → Scala
0998デフォルトの名無しさん2012/04/23(月) 20:23:27.75
マジレスすると、書き方は何かガイドライン作って従うようにした方がいい。
最近はEffective Scalaとかもあるし。
0999デフォルトの名無しさん2012/04/23(月) 21:15:16.81
イライラしちゃ駄目だよ(´,,・ω・,,`)
1000デフォルトの名無しさん2012/04/23(月) 21:22:06.76
プログラミング言語 Scala 8冊目
http://toro.2ch.net/test/read.cgi/tech/1335014078
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。