IntelliJ CEを使ってみようって人のほとんどがScala使ってみたい(当社比)ようなので,Scalaを例にするよ。念のため,IntelliJ CEは IC-90.96,Scalaプラグインは 0.3.32 を前提にしとく。 どうでもいいけど,Groovyについては,ここに良い解説があるので,参考にしてね。 → Simple Groovy Project in IntelliJ IDEA Community Edition - Messages from mrhaki そうそう,お題は「ScalaプロジェクトでSpecsを動かすまで」としときま。 プロジェクトの作り方 File -> New Project... かダッシュボードにある "Create New Project" でプロジェクト作成ウィザードが立ち上がる。選ぶべきは,"Create project from scrat
IDEs AppCode CLion DataGrip DataSpell Fleet GoLand IntelliJ IDEA PhpStorm PyCharm RustRover Rider RubyMine WebStorm Plugins & Services Big Data Tools Code With Me Quality Assurance JetBrains Platform Scala Toolbox App Writerside JetBrains AI Grazie Team Tools Datalore Space TeamCity Upsource YouTrack Hub Qodana .NET & Visual Studio .NET Tools ReSharper C++ Languages & Frameworks Kotlin Ktor MPS Am
参考: JSON Support | Lift Project | Assembla Scala標準にもjsonパーサとかありますが、lift-jsonのほうが人気。 基礎知識 A central concept in lift-json library is JSON AST (Abstract Syntax Tree) which models the structure of a JSON document as a syntax tree; all features are implemented in terms of AST. It provides a case class for each of the above mentioned JSON primitive and structured type, and provides functions used to tra
こういうJsonが *1 こんな case class 定義しておくだけで いい感じに勝手に変換されます。 Lift JsonのREADME 日本語訳 に書いてあるんですが、あまり知られてないというかそこまで多く使われてない気がしたので改めて書いてみました。内部的には、このあたり https://github.com/lift/framework/blob/2.4-release/core/json/src/main/scala/net/liftweb/json/ScalaSig.scala https://github.com/lift/framework/blob/2.4-release/core/json/src/main/scala/net/liftweb/json/Meta.scala で、 ScalaSignature っていう、コンパイラがアノテーションとしてつけているメタ情
コンニチハ!システムインテグレーション部の遠藤です。 前回、ScalaでHello Worldをご紹介させていただきましたが、今回は、Scalaを使う上でなくてはならないsbtをご紹介したいと思います。 sbtとは? http://www.scala-sbt.org/0.13.0/docs/home.html sbtとは、簡単に言うとScala用のビルドツールです。 コンパイルはもちろん、プロジェクトに必要なパッケージやライブラリの管理を行ってくれる非常に怖い強力なツールです。 前回、Scalaのソースファイルをコンパイルする際、「Scalac」を実行してからの応答時間が気になった方もいましたでしょう。 Scalaのコンパイルは重たいそうですが、その点sbtを利用すれば、あまり気にならなくなります。 (と、聞いたことがある気がします笑) インストール さて、早速sbtの実行環境をインストー
Jim has got this pretty much covered in his blog post, but I'm posting a briefing here for reference. First, let's see what the Scala Specification tell us. Chapter 3 (types) tell us about Function Types (3.2.9) and Method Types (3.3.1). Chapter 4 (basic declarations) speaks of Value Declaration and Definitions (4.1), Variable Declaration and Definitions (4.2) and Functions Declarations and Defini
プログラムを書いて何かしらのシステム開発するにはテストは必須だと思います。 プログラミング中に書くUnitTestの環境は現代の開発には欠かせないものでしょう。 今回はsbtによるScalaTtestとEclipse, IntelliJ IDEAでのテストスタイルについてまとめてみました。 Scala入門記の目次はこちらです。 テスト対象 テスト対象にするため、Scala入門記002 初めてのScalaプログラムで書いたHelloオブジェクトに挨拶文を作るためのメソッドを作りました。 1つ目の引数が存在する場合はその引数に応じて「Hello ほげほげ!」という挨拶文を生成します。 引数がない場合は「Hello!」という挨拶文を生成します。 object Hello { def main(args: Array[String]) { println(createGreeting(args))
Quick Start Interactive Analysis with the Spark Shell Basics More on Dataset Operations Caching Self-Contained Applications Where to Go from Here This tutorial provides a quick introduction to using Spark. We will first introduce the API through Spark’s interactive shell (in Python or Scala), then show how to write applications in Java, Scala, and Python. To follow along with this guide, first, do
Scala での関数を自分なりに整理する。 ここでいう関数(以下、広義の関数)は 名前(引数) の形で適用できるものを指す。 途中で出てくるコードは Scala 2.11.4 の REPL で確認した。 間違いを見つけたら教えてほしい。 メソッドか、apply()をもつオブジェクトか 広義の関数には次の2つに大別される。 メソッド apply() メソッドをもつオブジェクト メソッドは def を使って定義される。 例えばこんな感じ。 scala> def f(i: Int): Int = i + 1 scala> f(10) res0: Int = 11 一方で apply() メソッドをもつオブジェクトはこんな感じ。 scala> object f { def apply(i: Int): Int = i + 1 } scala> f(10) res1: Int = 11 apply(
これらの2つの表の中身は次のような意味です: 定数 演算は(高速な)定数時間かかります。 実質定数 演算は実質的に定数時間かかりますが、ベクタの長さやハッシュキーなどの仮定に依存します。 償却定数 演算は償却定数時間かかります。演算の呼び出しはより長い時間かかる場合がありますが、大量に呼び出されれば演算1回あたりは平均で定数時間しかかかりません。 対数 演算はコレクションの大きさの対数に比例する時間かかります。 線形 演算はコレクションの大きさに比例する時間かかります。 - 演算はサポートされません。 最初の表では列型—不変なものも可変なものも—を以下の演算で処理しています: head 列の最初の要素を選択する。 tail 最初の要素以外からなる新しい列を作成する。 apply 添字付け 更新 不変な列に対しては(updatedによる)関数的更新で、可変な列に対しては(updateによる)
長い文字列を作成する。 方法 短い文字列の場合。 val s = "Hello" + " World!!" 文字列をたくさん連結していく場合は、StringBuilderを使用する。 Good val b = new StringBuilder for(i <- 0 until 10) { if(i > 0) b.append(", ") b.append(i) } val s = b.result // s = "0, 1, 2, 3, 4, 5, 6, 7, 8, 9" Bad var s = "" for(i <- 0 until 10) { if(i > 0) s += ", " // 文字列のコピーを作成 s += i // 文字列のコピーを作成 } // s = "0, 1, 2, 3, 4, 5, 6, 7, 8, 9" +=でStringに対して文字列を連結していくと、文字
2013-06-09 / scala scopt is a little command line options parsing library. 今日 scopt 3.0 をリリースする。実装の詳細に興味が無ければ、readme に飛んでほしい。 2010年3月4日ごろ僕は scopt のコミッタになった。これは元々 Aaron Harnly さんが 2008年ごろ書いた scala-options のフォークだ。確か、usage text 周りの変更と key=value options と argument list という機能を追加したかったんだと思う。それ以降全てのバグレポを担当してきた。その中には jar を scala-tools.org に公開してくれというのもあった。2012年3月18日、僕は再びプロジェクトを scopt/scopt にフォークして immutable
テキストファイルの読み込み テキストファイルを読み込むにはfromFile()メソッドを使用する。(Scala2.8) import scala.io.Source val s = Source.fromFile("C:/temp/abc.txt") try { for (line <- s.getLines) { println(line) } } finally { s.close } fromFile()の第2引数でファイルのエンコーディング(文字コード)を指定することも出来る。 val s = Source.fromFile("C:/temp/abc.txt", "MS932") (ファイル名を指定するときに"""を使うとWindowsのパス区切りに「\」が使いやすいが、uで始まるファイル名やディレクトリー名でハマるので、過信はしない方がいい) fromFile()で返されるSou
はじめに 機械学習用途のOSSというと R や Weka などのツールが有名かと思います。それらの分析用ツールはデータの分析を主目的としており、弊社のようにアプリケーションへの組み込み用途が主になる場合や、論文などを読んでツールに無いアルゴリズムを実装してみようと思った場合などは、多少使いにくい部分も有ります。(なお Weka は Java から呼び出し可能なライブラリとして提供されていますが。) プログラミング言語から呼び出し易い数値計算のライブラリというと Python の SciPy, NumPy といった有名なライブラリ群があります。が、Scala を主たる開発言語としている弊社としては、出来れば JVM 上で動くライブラリを使いたいところです。 そういった目的の為のライブラリとしては Scala にも ScalaNLP/Breeze というライブラリがあります。ScalaNLP/
scalaプラグインを入れたIntelliJでREPL(scala console)を使う。あと動かなかった時の対処法。ScalaIntelliJ REPL(scala console)の起動のしかた Run -> Edit Configurations... -> + -> Scala Console でScala Consoleを追加して、 ここで追加したやつを選択、▶をクリック。画面下でconsoleが開く。 起動したけど動かないよ? 入力を確定させる方法がEnterではなく⌘ + Enter。これはハマる。 それ以外の原因で動かないのは知らない。 Reference ide - Scala console won't work, IntelliJ - Stack Overflow IntelliJ IDEA: REPL window? | The Scala Programming
2. IntelliJ IDEA 12をインストール IntelliJ IDEA :: Download Latest Version of IntelliJ IDEAからCommunity Edition(無料)をダウンロードする。 IntelliJ IDEAを起動すると、設定情報をインポートするか聞かれる。ここでは、設定情報をインポートしないで進む: 起動中画面: 3. Scalaプラグインをインストールする 上メニューから 「IntelliJ IDEA」 > 「Preferences」 を開く: 検索窓に「plugin」と入力し、「IDEA Settings」の中から「Plugins」を開く。「Browse repositories」ボタンを押す: Scalaプラグインを選択し、ダウンロードをする: 確認が出るので、Yesを押す: ダウンロードが完了するまで待つ: ダウンロードが完了
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く