JetBrainsが開発した期待の新言語Kotlinについて語りましょう
https://kotlinlang.org
前スレ
Kotlin
http://mevius.5ch.net/test/read.cgi/tech/1456505161/
探検
Kotlin 2
■ このスレッドは過去ログ倉庫に格納されています
2017/11/01(水) 00:07:43.82ID:jxmKQQAl
140デフォルトの名無しさん
2017/11/16(木) 21:14:22.81ID:3Aqd/ZMZ >>139
具体的にはどういう文法のこと言ってるの?
具体的にはどういう文法のこと言ってるの?
141デフォルトの名無しさん
2017/11/17(金) 08:55:38.80ID:YqqDZ5Dd 慣れの問題だと思うけどなあ
142デフォルトの名無しさん
2017/11/17(金) 09:43:27.88ID:Ddb5xKAY 抽象化と少ないコードが正義な昨今の風潮ではこういう文法が受ける
本当にこれで良かったのかは後10年ぐらいしたらわかるだろう
本当にこれで良かったのかは後10年ぐらいしたらわかるだろう
143デフォルトの名無しさん
2017/11/17(金) 09:59:51.99ID:QGpoznNs144デフォルトの名無しさん
2017/11/17(金) 10:24:11.98ID:welKudTx CP/M80上で動くKotlin処理系が無い…
145デフォルトの名無しさん
2017/11/17(金) 10:46:54.88ID:8xh7qM4F これはこれで同じこと書いてる感がん〜って感じではある
class MyData(name: String, age: Int){
val name = name
val age = age
}
引数にval書けちゃうことでの「見かけ一貫性の破れ」と「引数もチェックしなければならなくなったという手間」は肯定する
class MyData(name: String, age: Int){
val name = name
val age = age
}
引数にval書けちゃうことでの「見かけ一貫性の破れ」と「引数もチェックしなければならなくなったという手間」は肯定する
146デフォルトの名無しさん
2017/11/17(金) 10:51:53.19ID:ENBrszFD というかあれはdataクラスを便利に書くためだけのギミックな気がするぞ
しかし言われてみれば視線的にめっちゃ遠いのはその通りだな、家のやつは今度使わずに書いてみるか
しかし言われてみれば視線的にめっちゃ遠いのはその通りだな、家のやつは今度使わずに書いてみるか
147デフォルトの名無しさん
2017/11/17(金) 11:08:33.26ID:YqqDZ5Dd >>144
JavaVMが動かんわw
JavaVMが動かんわw
148デフォルトの名無しさん
2017/11/17(金) 15:22:12.81ID:4edLbtL+ KotlinがNull安全といっても結局、Javaなどの使用するクラスライブラリがNull安全じゃないからな。
Kotlinだけで閉じてればいいけど、Kotlin最小限のライブラリしか用意してねぇし。どうすりゃいいんでしょうか??
「!!」演算子積極的に使えばいいの?
Kotlinだけで閉じてればいいけど、Kotlin最小限のライブラリしか用意してねぇし。どうすりゃいいんでしょうか??
「!!」演算子積極的に使えばいいの?
149デフォルトの名無しさん
2017/11/17(金) 15:36:01.97ID:ocCweAVX 自分のメソッドは全部ヌルポ無しにすればいい。
150デフォルトの名無しさん
2017/11/17(金) 15:42:27.11ID:4edLbtL+ うん。自分のメソッドはNot Nullにしてるけど、その実装で結局、Javaのクラスが絡む事多いから、
その実装部分で「!!」連発してるんだけど、なんだかなぁ・・・・・
その実装部分で「!!」連発してるんだけど、なんだかなぁ・・・・・
151デフォルトの名無しさん
2017/11/17(金) 15:49:49.94ID:ENBrszFD ぬるぽが出そうならトラップするという記法がKotlinにはいくつもあるだろそれ使え
chackNotNull(nullable){ "ぬるぽだけは阻止しましたが例外で落ちますさようなら" }
nullable?.aaa?.bbb ?: throw RuntimeException("エラーとぬるぽって死ぬ点で大差なくね?")
when(){
nullable == null -> println("おかあさんに言いつける")
isSomeState -> nullable.xxx.yyy // 文脈上nullが来得ないので ?. で書かなくていい
}
chackNotNull(nullable){ "ぬるぽだけは阻止しましたが例外で落ちますさようなら" }
nullable?.aaa?.bbb ?: throw RuntimeException("エラーとぬるぽって死ぬ点で大差なくね?")
when(){
nullable == null -> println("おかあさんに言いつける")
isSomeState -> nullable.xxx.yyy // 文脈上nullが来得ないので ?. で書かなくていい
}
152デフォルトの名無しさん
2017/11/17(金) 15:51:51.91ID:ENBrszFD ああまた空whenに()つけてる
毎回間違って毎回IDEに文句言われるんだよなこれ
毎回間違って毎回IDEに文句言われるんだよなこれ
153デフォルトの名無しさん
2017/11/17(金) 16:16:30.86ID:4edLbtL+ >ぬるぽが出そうならトラップ
ぬるぽが出そうというより、Javaのクラスから返される型は「型名!」ってAndroid Studioを
表示されてて、この型ってNullableの「型名?」と同じでNullチェックしないといけないと思ってて
「!!」連発してたんだが、これ違うな・・・
「型名!」ってNullチェックしなくてもいいのか・・・
つか、言語仕様上どんな扱いになってんだこれ・・
ぬるぽが出そうというより、Javaのクラスから返される型は「型名!」ってAndroid Studioを
表示されてて、この型ってNullableの「型名?」と同じでNullチェックしないといけないと思ってて
「!!」連発してたんだが、これ違うな・・・
「型名!」ってNullチェックしなくてもいいのか・・・
つか、言語仕様上どんな扱いになってんだこれ・・
154デフォルトの名無しさん
2017/11/17(金) 16:19:43.26ID:4edLbtL+155デフォルトの名無しさん
2017/11/17(金) 16:38:25.33ID:ENBrszFD T? と T or T? は違うよ
Nullableかどうかすらわからない後者の場合はnullチェックしなくてもコンパイルは通るよ
「だってそれはNullableではないから」
まあ、そしてぬるぽが出るんだけども
Kotlin的にはnullチェックは不要だけどIDE的にはnullが入りうることがわかってるので気を付けてね! の ! だ
Nullableかどうかすらわからない後者の場合はnullチェックしなくてもコンパイルは通るよ
「だってそれはNullableではないから」
まあ、そしてぬるぽが出るんだけども
Kotlin的にはnullチェックは不要だけどIDE的にはnullが入りうることがわかってるので気を付けてね! の ! だ
156デフォルトの名無しさん
2017/11/17(金) 17:00:12.18ID:4edLbtL+157デフォルトの名無しさん
2017/11/17(金) 17:09:53.72ID:4edLbtL+ >T? と T or T? は違うよ
T or T?がプラットフォーム型というやつですかね。で、プラットフォーム型ではNullチェックが緩和される
って書いてありましたね。
T? と T or T? は同じと勘違いしてました。要はT or T?か分からないから、よりたくさん表現できるT?として扱えばいいし、
そうなってるのかと勘違いしてました。
T or T?がプラットフォーム型というやつですかね。で、プラットフォーム型ではNullチェックが緩和される
って書いてありましたね。
T? と T or T? は同じと勘違いしてました。要はT or T?か分からないから、よりたくさん表現できるT?として扱えばいいし、
そうなってるのかと勘違いしてました。
158デフォルトの名無しさん
2017/11/17(金) 17:41:51.36ID:4edLbtL+ つか、デバッグしてて思ったけど、C#のusing (resource)やlock文に相当する言語組み込みの
文がkotlinにないのがちょっとめんどくさいよね。ステップオバーで順にどんどん進めねぇじゃねぇか・・
inputStream.use {
// いちいちここにブレークポイント設定しないと・・・
}とかだと、実態は関数呼び出しだから、ステップオーバーだと、内部のブロック飛び越えちゃう・・
文がkotlinにないのがちょっとめんどくさいよね。ステップオバーで順にどんどん進めねぇじゃねぇか・・
inputStream.use {
// いちいちここにブレークポイント設定しないと・・・
}とかだと、実態は関数呼び出しだから、ステップオーバーだと、内部のブロック飛び越えちゃう・・
159デフォルトの名無しさん
2017/11/17(金) 17:57:25.06ID:ENBrszFD ステップイン/ステップアウトではだめなのか
160デフォルトの名無しさん
2017/11/17(金) 18:06:21.43ID:4edLbtL+ ああ、ステップインで行けたね。ステップインすると、最初useなどの拡張関数の方にぶっとぶかと思ったけど、
自分のブロックの方に直接飛べるのか。
まぁ、オーバー・インを切り替えるのひと手間だけど、まぁそれぐらいなら。
自分のブロックの方に直接飛べるのか。
まぁ、オーバー・インを切り替えるのひと手間だけど、まぁそれぐらいなら。
161デフォルトの名無しさん
2017/11/17(金) 20:50:48.90ID:4edLbtL+ 正直、AndroidのJavaの代替としてKotlinを使うなら、Android Studio 3.0でJavaで全APIレベルでラムダ式が
使えるようになったらしいし、後、Javaにvarなどのローカル変数の型推論あたりがくれば、Javaでも
いいかなと思うが(async/awaitもほしいけど)、Kotlin for JavaScriptの存在を知って、
ちょうど、JavaScriptとかスクリプト言語を本格的に使った事なく動的型付け言語使いたくない自分にぴったしだと
思ってKotlin覚えてみようかなと思ってきた。
Kotlin,JavaScriptでググってもあんま引っかからんけど、TypeScriptとかにとって代わったりしそうじゃねぇか??
使えるようになったらしいし、後、Javaにvarなどのローカル変数の型推論あたりがくれば、Javaでも
いいかなと思うが(async/awaitもほしいけど)、Kotlin for JavaScriptの存在を知って、
ちょうど、JavaScriptとかスクリプト言語を本格的に使った事なく動的型付け言語使いたくない自分にぴったしだと
思ってKotlin覚えてみようかなと思ってきた。
Kotlin,JavaScriptでググってもあんま引っかからんけど、TypeScriptとかにとって代わったりしそうじゃねぇか??
162デフォルトの名無しさん
2017/11/17(金) 21:21:37.83ID:3GAWOghK163デフォルトの名無しさん
2017/11/17(金) 21:40:35.61ID:/4Y2zvAi Haxe(ヘックス)はOSSで、JSに型チェックを付けたような言語で(altJS)、
JS(ES5), Flash, PHP, C++, Java, C#, Python, Lua に書き出せる。
Windows8.1対応。IDEは、FlashDevelop
このサイトで、ブラウザでプログラミングして、実行できる
Try Haxe !
try.haxe.org/
Kotlin = Java + Groovy
Haxe, Kotlin, Ruby をやると、他の言語がクソに見える
JS(ES5), Flash, PHP, C++, Java, C#, Python, Lua に書き出せる。
Windows8.1対応。IDEは、FlashDevelop
このサイトで、ブラウザでプログラミングして、実行できる
Try Haxe !
try.haxe.org/
Kotlin = Java + Groovy
Haxe, Kotlin, Ruby をやると、他の言語がクソに見える
164デフォルトの名無しさん
2017/11/17(金) 22:45:03.99ID:mCQOvNmw Hexe ってドイツ語で魔女って意味だな
165デフォルトの名無しさん
2017/11/17(金) 23:45:36.46ID:aGWwpVlc >>163
言語がどうのこうの言ってるうちは、まだまだだよ。
言語がどうのこうの言ってるうちは、まだまだだよ。
16625
2017/11/18(土) 00:02:14.05ID:oC0amP9+ kotlinから始めたら挫折して、
結局Javaの勉強再開しました。
何個かアプリ作れるようになったけどまだまだ。
Java覚えたらkotlinまで追いつきたい。
結局Javaの勉強再開しました。
何個かアプリ作れるようになったけどまだまだ。
Java覚えたらkotlinまで追いつきたい。
167デフォルトの名無しさん
2017/11/18(土) 00:31:51.67ID:ZnPkEcCx Javaで動くアプリ作れてKotlin書けないってのもわりとレアケースだと思うのだが(完全に全くJava以外の経験がないとか?)
まあ個人の進度に文句もないしKotlinはしばらく逃げないので焦らずお好きにやっていただきたい
まあ個人の進度に文句もないしKotlinはしばらく逃げないので焦らずお好きにやっていただきたい
168デフォルトの名無しさん
2017/11/18(土) 00:47:06.52ID:oC0amP9+169デフォルトの名無しさん
2017/11/18(土) 16:34:14.39ID:6foiYhRZ Kotlinスタートブック -新しいAndroidプログラミング、長澤 太郎、2016
170デフォルトの名無しさん
2017/11/18(土) 16:40:27.50ID:d2ucUmS6 ngsw tr
171デフォルトの名無しさん
2017/11/18(土) 16:53:48.97ID:UH67JXx8 プログラミング言語初学に向かないのは多分間違いない
172デフォルトの名無しさん
2017/11/19(日) 08:38:46.28ID:OIO3sRlf C#のusingもJavaのtry-with-resourcesもkotlin.io.useも気に入らない
GCだからC++やSwiftのようなデストラクタまでは無くてもいいけど
せめて use val xx = ... のようにキーワード付き変数の場合に
スコープアウトでcloseする構文を用意して欲しい
後処理の指定ごときでいちいちブロックスコープ増やすなと
GCだからC++やSwiftのようなデストラクタまでは無くてもいいけど
せめて use val xx = ... のようにキーワード付き変数の場合に
スコープアウトでcloseする構文を用意して欲しい
後処理の指定ごときでいちいちブロックスコープ増やすなと
173デフォルトの名無しさん
2017/11/19(日) 11:36:10.68ID:8FVAlHGr >>172
中括弧省略すればブロックスコープ増えないし、ほぼそれと同じ構文で書けるやん
中括弧省略すればブロックスコープ増えないし、ほぼそれと同じ構文で書けるやん
174デフォルトの名無しさん
2017/11/19(日) 11:57:19.58ID:2bHJHjAx そーゆークラスを作ればいい
内部的にはそうしてても使う側が意識しなきゃそれでいい
内部的にはそうしてても使う側が意識しなきゃそれでいい
175デフォルトの名無しさん
2017/11/19(日) 12:11:45.04ID:IcfiaN/i StackOverFlowで「○○するにはどうすればいいですか」に対して
自作の20行くらいの関数返して「こうすれば1行で書ける」とか言う回答者みたいだなw
自作の20行くらいの関数返して「こうすれば1行で書ける」とか言う回答者みたいだなw
176デフォルトの名無しさん
2017/11/19(日) 13:20:53.07ID:OIO3sRlf 例えばこれを
openCamera(id).use { dev ->
dev.video().use { vidIn ->
File(dstPath).outputStream().use { output ->
val vidOut = videoWriter(output)
vidIn.eachFrame { frame ->
filter.write(frame, vidOut)
return checkContinue()
}
}
}
}
このように
use val dev = cameraOpen(id)
use val vidIn = dev.video()
use val output = File(dstPath).outputStream()
val vidOut = videoWriter(output)
vidIn.eachFrame { frame ->
filter.write(frame, vidOut)
return checkContinue()
}
openCamera(id).use { dev ->
dev.video().use { vidIn ->
File(dstPath).outputStream().use { output ->
val vidOut = videoWriter(output)
vidIn.eachFrame { frame ->
filter.write(frame, vidOut)
return checkContinue()
}
}
}
}
このように
use val dev = cameraOpen(id)
use val vidIn = dev.video()
use val output = File(dstPath).outputStream()
val vidOut = videoWriter(output)
vidIn.eachFrame { frame ->
filter.write(frame, vidOut)
return checkContinue()
}
177デフォルトの名無しさん
2017/11/19(日) 13:22:16.49ID:OIO3sRlf 次点で、golangのdeferのように
val dev = cameraOpen(id)
defer{dev.close()}
val vidIn = dev.video()
defer{vidIn.close()}
val output = File(dstPath).outputStream()
defer{output.close()}
val vidOut = videoWriter(output)
vidIn.eachFrame { frame ->
filter.write(frame, vidOut)
return checkContinue()
}
としたい
usingやuse関数での書き方が駄目とまでは言わないが俺は気に入らない
val dev = cameraOpen(id)
defer{dev.close()}
val vidIn = dev.video()
defer{vidIn.close()}
val output = File(dstPath).outputStream()
defer{output.close()}
val vidOut = videoWriter(output)
vidIn.eachFrame { frame ->
filter.write(frame, vidOut)
return checkContinue()
}
としたい
usingやuse関数での書き方が駄目とまでは言わないが俺は気に入らない
178デフォルトの名無しさん
2017/11/19(日) 14:00:39.13ID:uqF6CIR0 そういやjetbrainのIDEってjavaで出来てるんだよな。
kotlinで書き直されたりしてんのかな。そのへんどうなの?中の人とか?
kotlinで書き直されたりしてんのかな。そのへんどうなの?中の人とか?
179デフォルトの名無しさん
2017/11/19(日) 14:24:47.63ID:OIO3sRlf >>173
どういうこと?
どういうこと?
180デフォルトの名無しさん
2017/11/19(日) 15:32:50.61ID:XHxD1mSV181デフォルトの名無しさん
2017/11/19(日) 15:53:26.75ID:YGg5hSh9 try-with-resourcesみたいに「ここでリソース開いてるしエラーも起こりうるぞ!」って明示してくれるのが好き
182デフォルトの名無しさん
2017/11/19(日) 16:35:29.23ID:ziYSLzJF 文句の本質的には「ブロックネスト深すぎて見かけの空白多くてキモい」ってだけだよねコレ
まあ見かけはかなり重要なのだが
どこでcloseが起こるかわかるほうがいいとは思うけどな
ブロック深いのとは別件な気がする
まあ見かけはかなり重要なのだが
どこでcloseが起こるかわかるほうがいいとは思うけどな
ブロック深いのとは別件な気がする
183デフォルトの名無しさん
2017/11/19(日) 17:52:32.52ID:OIO3sRlf184デフォルトの名無しさん
2017/11/19(日) 19:48:25.52ID:8FVAlHGr >>179
if文で中括弧を省略できるのと一緒
if文で中括弧を省略できるのと一緒
185デフォルトの名無しさん
2017/11/19(日) 20:14:04.01ID:wMfO08BI kotlinはまず開発環境をもっと整えてほしいわ。
特にVisual Studio Codeで無料の拡張プラグインを。
JetBrainはIDEを打ってる会社なのかもしれんが・・
特にVisual Studio Codeで無料の拡張プラグインを。
JetBrainはIDEを打ってる会社なのかもしれんが・・
186デフォルトの名無しさん
2017/11/19(日) 20:34:18.95ID:OIO3sRlf187デフォルトの名無しさん
2017/11/19(日) 20:38:00.92ID:ziYSLzJF forを読めるが書けない
これだけが毎回全く覚えられない(あの形式はレガシーであって何の意味もないと思う)
イテレータでいいと思うのだが、Rangeはなにやら遅いとか言われてて憂鬱だ
これだけが毎回全く覚えられない(あの形式はレガシーであって何の意味もないと思う)
イテレータでいいと思うのだが、Rangeはなにやら遅いとか言われてて憂鬱だ
188デフォルトの名無しさん
2017/11/19(日) 20:49:57.92ID:8FVAlHGr >>186
書いてみ
書いてみ
189デフォルトの名無しさん
2017/11/19(日) 21:05:03.09ID:OIO3sRlf >>188
いや、イメージ出来ないから書いてよ
いや、イメージ出来ないから書いてよ
190デフォルトの名無しさん
2017/11/19(日) 21:12:25.17ID:rL41c0pH191デフォルトの名無しさん
2017/11/19(日) 21:19:58.43ID:8FVAlHGr >>189
ifの中括弧省略と一緒と聞いて本当にわからないのであれば重症やな
ifの中括弧省略と一緒と聞いて本当にわからないのであれば重症やな
192デフォルトの名無しさん
2017/11/19(日) 21:50:45.20ID:OIO3sRlf193デフォルトの名無しさん
2017/11/19(日) 22:15:39.30ID:VtdgNv5T194デフォルトの名無しさん
2017/11/20(月) 00:57:34.61ID:iI7hyhyt195デフォルトの名無しさん
2017/11/20(月) 03:18:31.42ID:GkhyFhEh >>177
File.open(ファイル名) do |file|
処理
end
Ruby では、File.open()に、クロージャの実装である、ブロックを渡すと、
close()する必要がなくなる。
自動的に内部的に、例外処理で囲んで、finally で、close してくれる
たいていの言語で、そう
File.open(ファイル名) do |file|
処理
end
Ruby では、File.open()に、クロージャの実装である、ブロックを渡すと、
close()する必要がなくなる。
自動的に内部的に、例外処理で囲んで、finally で、close してくれる
たいていの言語で、そう
196デフォルトの名無しさん
2017/11/21(火) 07:47:12.65ID:UlNCYsFF JVM版とNative版など環境がいくつかあるけど、標準ライブラリは基本共通なの?
197デフォルトの名無しさん
2017/11/21(火) 11:37:34.13ID:y9fg6IYd こういう風に違うシグネチャの関数の参照はどうしたら良いのか?
https://ideone.com/jXVu5V
https://ideone.com/jXVu5V
198デフォルトの名無しさん
2017/11/21(火) 12:00:29.42ID:7oGfHzA7 未対応なので回避策とるくらいしか
val fa = {n:Int -> f(n) }
val fb = {n:Int, s:String -> f(n, s) }
val fa = {n:Int -> f(n) }
val fb = {n:Int, s:String -> f(n, s) }
199デフォルトの名無しさん
2017/11/21(火) 12:29:26.29ID:y9fg6IYd あ。未対応だったのか。どうりでいくら調べても見つからないと思った。
それならそんな風に書くしかないね。
それならそんな風に書くしかないね。
200デフォルトの名無しさん
2017/11/21(火) 13:08:24.36ID:7oGfHzA7201デフォルトの名無しさん
2017/11/21(火) 14:11:23.59ID:tR+VGZDq202デフォルトの名無しさん
2017/11/21(火) 21:30:56.20ID:PjtBzSS0 >>196
コアの標準ライブラリは原則共通だが、JS, JVM(, Natevie)ごとに専用の「標準」ライブラリがある。
https://kotlinlang.org/api/latest/jvm/stdlib/index.html
コアの標準ライブラリは原則共通だが、JS, JVM(, Natevie)ごとに専用の「標準」ライブラリがある。
https://kotlinlang.org/api/latest/jvm/stdlib/index.html
203デフォルトの名無しさん
2017/11/25(土) 13:24:58.89ID:x3Ny6L+y あるメソッドの中の処理を切り出して作った1行系プライベートメソッドってあるよね
親メソッドの前に書いたほうがいい? 後に書いたほうがいい?
親メソッドに長いJavaDoc、または長めのコメントがある場合、前に書いちゃうとプライベートメソッドが離れちゃって見難い/醜いよね
// subするメソッド
private fun subMethod() = ...
/*
* メインなことをするメソッド
* がんばってつくりました
* 3行も説明書いたのでボーナスください
*/
fun mainMethod(arg: SomeObj){
...
}
そういう意味ではメインのあとに書いたほうがいいんだけど、親メソッド読んでる最中に見たことないメソッドが出てきちゃって「ん??」ってなるよね
fun mainMethod{
...
....subMethod(...) ← えっコレ何?
}
private fun subMethod() = ←定義ここかよおせーよ
Java書いたことないからこのへんの作法わかんないんだけど、なにか傾向とかあるのかな
親メソッドの前に書いたほうがいい? 後に書いたほうがいい?
親メソッドに長いJavaDoc、または長めのコメントがある場合、前に書いちゃうとプライベートメソッドが離れちゃって見難い/醜いよね
// subするメソッド
private fun subMethod() = ...
/*
* メインなことをするメソッド
* がんばってつくりました
* 3行も説明書いたのでボーナスください
*/
fun mainMethod(arg: SomeObj){
...
}
そういう意味ではメインのあとに書いたほうがいいんだけど、親メソッド読んでる最中に見たことないメソッドが出てきちゃって「ん??」ってなるよね
fun mainMethod{
...
....subMethod(...) ← えっコレ何?
}
private fun subMethod() = ←定義ここかよおせーよ
Java書いたことないからこのへんの作法わかんないんだけど、なにか傾向とかあるのかな
204デフォルトの名無しさん
2017/11/25(土) 14:14:06.62ID:UdkhV+zK IDEの機能で定義に飛ぶから別に気にならない
ソースファイルを上から順に眺めていくってあんまりないなあ
ソースファイルを上から順に眺めていくってあんまりないなあ
205デフォルトの名無しさん
2017/11/25(土) 14:31:50.70ID:uI9d/XUE どっちでもいいけど自分は後ろ。
定義なんてIDEでジャンプできるんだしどうでもいいでしょ。
定義なんてIDEでジャンプできるんだしどうでもいいでしょ。
206デフォルトの名無しさん
2017/11/25(土) 22:18:25.21ID:x3Ny6L+y >定義に飛ぶから
>定義なんてIDEでジャンプできる
なんだよ
(いろいろ眺めつつ)IntelliJ IDEAではF4かな。とう。おお。…さっきのとこ戻るにはどうすればいいんだろう
https://youtrack.jetbrains.com/issue/IDEA-119474
無理か。まあいいや
いや、それにしても固めて書いておく時の一般的なやり方とか見てて迷わない書き方とかあるのかなーと思って
>定義なんてIDEでジャンプできる
なんだよ
(いろいろ眺めつつ)IntelliJ IDEAではF4かな。とう。おお。…さっきのとこ戻るにはどうすればいいんだろう
https://youtrack.jetbrains.com/issue/IDEA-119474
無理か。まあいいや
いや、それにしても固めて書いておく時の一般的なやり方とか見てて迷わない書き方とかあるのかなーと思って
207デフォルトの名無しさん
2017/11/25(土) 23:17:25.05ID:O9/4xpc9208デフォルトの名無しさん
2017/11/26(日) 00:38:59.47ID:ReeFqnN/ 戻るのはデフォルトだとたぶん Ctrl+Alt+左
定義に飛んでその後戻るのをキーボードで素早くできるようにしとかないと作業が捗らんから、
おれはどんな環境でもAlt+ピリオドとAlt+カンマにカスタマイズする
たまにカスタマイズできない環境もあるが
定義に飛んでその後戻るのをキーボードで素早くできるようにしとかないと作業が捗らんから、
おれはどんな環境でもAlt+ピリオドとAlt+カンマにカスタマイズする
たまにカスタマイズできない環境もあるが
209デフォルトの名無しさん
2017/11/26(日) 01:48:55.48ID:uWNno6dr >>206
F4ではなくCTRL+マウスクリックじゃない?
F4ではなくCTRL+マウスクリックじゃない?
210デフォルトの名無しさん
2017/11/26(日) 02:41:23.75ID:ReeFqnN/ F4 は "Jump to Source" で、Ctrl+Button1 は "Decraration" だね
両方とも定義へ飛ぶけど、定義を選択して操作したときに "Decraration" のほうは使用箇所へ飛ぶメニューがでるね
おれは間違えて押したときにメニューでるのが面倒なのでキーにカスタマイズして使ってるのは "Jump to Source" の方
使用箇所へ飛びたいときには Find usages を使うし
両方とも定義へ飛ぶけど、定義を選択して操作したときに "Decraration" のほうは使用箇所へ飛ぶメニューがでるね
おれは間違えて押したときにメニューでるのが面倒なのでキーにカスタマイズして使ってるのは "Jump to Source" の方
使用箇所へ飛びたいときには Find usages を使うし
211デフォルトの名無しさん
2017/11/26(日) 12:28:30.17ID:uWNno6dr あー
F4でjump to sourceし
CMD+F4 (Macの場合)でタブクローズすればいいんじゃない
あと、quick definitionってのもある
F4でjump to sourceし
CMD+F4 (Macの場合)でタブクローズすればいいんじゃない
あと、quick definitionってのもある
212デフォルトの名無しさん
2017/11/26(日) 13:15:15.98ID:X819E48M vimのプラグイン入れてるけどcommand+[ですぐ戻れる
213デフォルトの名無しさん
2017/11/26(日) 13:19:18.06ID:uWNno6dr 基本はそれですね、開いたタブを同時に閉じたい場合はcloseかな
214デフォルトの名無しさん
2017/11/26(日) 23:28:16.74ID:ReeFqnN/ Jump to SourceとDecrarationの違いを、もうひとつ見つけてしまった
DecrarationはAndroid環境だとリソースIDからレイアウトXMLへ飛んだりもできるのね
Jump to SourceだとリソースIDそのものの値を定義してるファイルに飛んじゃうので意味無い
やっぱデフォルトはDecrarationにしよう・・・
DecrarationはAndroid環境だとリソースIDからレイアウトXMLへ飛んだりもできるのね
Jump to SourceだとリソースIDそのものの値を定義してるファイルに飛んじゃうので意味無い
やっぱデフォルトはDecrarationにしよう・・・
215デフォルトの名無しさん
2017/11/27(月) 11:07:32.61ID:nNid/MSo haskellとか知ってると、まず宣言的コードがあって実装はあとからついてくるコードスタイルでも違和感はない。
トップダウンで見るかボトムアップで見るかの違い。
トップダウンで見るかボトムアップで見るかの違い。
216デフォルトの名無しさん
2017/11/27(月) 14:13:27.80ID:NQTs/ol9 まあ、IDEさまさまなところはあるにはある
IDEがなかったら全然違っていただろうなと思う事象は多い
IDEがなかったら全然違っていただろうなと思う事象は多い
217デフォルトの名無しさん
2017/11/28(火) 17:13:53.17ID:tIAa+Uq8 IDEってEclipse?AndroidStudioのベータ?
218デフォルトの名無しさん
2017/11/28(火) 18:39:50.36ID:FPBjC+Ob JetBrains製以外のIDE使ってる人居るのかな
Vimは居そう
Vimは居そう
219デフォルトの名無しさん
2017/11/28(火) 19:03:29.92ID:nX0y7tBa220デフォルトの名無しさん
2017/11/28(火) 19:50:02.49ID:9tkU9YCi Eclipseとか原始時代の道具をまだ使ってるやつがいるのか
221デフォルトの名無しさん
2017/11/28(火) 20:45:44.51ID:jRr2P5U7 他の言語で使えるからな
222デフォルトの名無しさん
2017/11/28(火) 20:54:28.46ID:KE6VY8J8 Linuxなんてずっと原始時代のままだよ。
223デフォルトの名無しさん
2017/11/28(火) 20:58:14.84ID:jRr2P5U7 ん?でも Linux でも IntelliJ 使えるよ。
224デフォルトの名無しさん
2017/11/28(火) 20:59:52.92ID:KE6VY8J8 まだみんなviだよ。
225デフォルトの名無しさん
2017/11/28(火) 21:09:08.70ID:jRr2P5U7 ああ。まあ。確かにviってかvim使う方が多いが、さほど困らんなあ。
226デフォルトの名無しさん
2017/11/28(火) 22:43:55.76ID:TzRq1z8j リモートデスクトップ経由でLinuxのIntelliJ&Android Studio使ってうっひょーって言ってるよ
Emacsのkotlin-modeがぜんぜんイマイチなのはIntelliJ IDEAのせいではないかと思っている
Emacsのkotlin-modeがぜんぜんイマイチなのはIntelliJ IDEAのせいではないかと思っている
227デフォルトの名無しさん
2017/11/29(水) 12:14:21.94ID:UK37Nyfh IdeaVimプラグインおすすめ
228デフォルトの名無しさん
2017/11/29(水) 12:23:23.58ID:HtxXnaax 1.2がリリースですよ?
229デフォルトの名無しさん
2017/11/29(水) 12:38:07.31ID:rN1pofYI >>226
IDEAがあるせいで他がしょぼいというより、Kotlinの歴史の浅さやまだゴミのようなシェアの割にはIDEAの出来が良いんだろ
Kotlin自体がJetBrainsによってIDEAで使うために作った言語なんだから当然
IDEAがあるせいで他がしょぼいというより、Kotlinの歴史の浅さやまだゴミのようなシェアの割にはIDEAの出来が良いんだろ
Kotlin自体がJetBrainsによってIDEAで使うために作った言語なんだから当然
230デフォルトの名無しさん
2017/11/29(水) 12:52:25.81ID:3kSmCAWV >>227
ああ。あれいいね。
ああ。あれいいね。
231デフォルトの名無しさん
2017/11/29(水) 14:26:22.47ID:LyP2QHxX Kotlinはidea以外の環境を最低一つサポートしろよな。自社でIDEを売ってるからやだとかはやめてくれ。
VisualStudio Codeかatomのどっちかの軽量環境は最低どちらかサポートしろよ。
VisualStudio Codeかatomのどっちかの軽量環境は最低どちらかサポートしろよ。
232デフォルトの名無しさん
2017/11/29(水) 15:11:26.12ID:xfNGuvaJ 言語提供側がすべきなのは処理系の提供であって
IDE云々で文句を言うのは筋違い
IDE云々で文句を言うのは筋違い
233デフォルトの名無しさん
2017/11/29(水) 15:12:57.24ID:Z0yAcQLL それは処理系に言う筋合いのものではないが。
最近のエコシステムに慣れすぎるとそう言いたくなるのはわからんでもないが。
最近のエコシステムに慣れすぎるとそう言いたくなるのはわからんでもないが。
234デフォルトの名無しさん
2017/11/29(水) 15:22:03.64ID:nwFY0Upv いや分からん
235デフォルトの名無しさん
2017/11/29(水) 15:29:21.72ID:LyP2QHxX 使う側からしてみれば、言語提供側だろうが処理系だろうがどうでもいい。
ユーザーにとって使いやすくしたいとおもってて、他がやらないなら
最終的に言語提供側が提供すればいいだけだし。
ユーザーにとって使いやすくしたいとおもってて、他がやらないなら
最終的に言語提供側が提供すればいいだけだし。
236デフォルトの名無しさん
2017/11/29(水) 15:30:52.57ID:LyP2QHxX もちろん、JetBrainsの開発リソースも限られてるが、そんなの使う側からしたら
それもどうでもいい。使いやすければユーザーが増える可能性あるし、使いにくければないだろう。
ただそれだけ。
それもどうでもいい。使いやすければユーザーが増える可能性あるし、使いにくければないだろう。
ただそれだけ。
237デフォルトの名無しさん
2017/11/29(水) 15:34:28.47ID:xfNGuvaJ238デフォルトの名無しさん
2017/11/29(水) 15:42:48.79ID:LyP2QHxX239デフォルトの名無しさん
2017/11/29(水) 15:45:22.41ID:LyP2QHxX >使う側からしてみれば、言語提供側だろうが処理系だろうがどうでもいい
は
>使う側からしてみれば、言語提供側だろうが言語提供側以外だろうがどうでもいい
あたりでw
は
>使う側からしてみれば、言語提供側だろうが言語提供側以外だろうがどうでもいい
あたりでw
240デフォルトの名無しさん
2017/11/29(水) 19:04:08.56ID:UK37Nyfh 時代はジェットブレインなんだよ
MicrosoftのVisualStudioとかいう原始時代の道具は時代遅れ
MicrosoftのVisualStudioとかいう原始時代の道具は時代遅れ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国とロシアの爆撃機、日本周辺で共同飛行 [少考さん★]
- 「中国側も日本機のレーダーを感知していた」 中国メディアが報道 [♪♪♪★]
- 【YouTuber】バイク事故で入院のゆたぼん、振込で「お見舞金」募る [muffin★]
- 高市早苗首相、消費税減税に後ろ向き 足かせはレジシステム? 「責任ある積極財政」期待高いが [蚤の市★]
- 堀江貴文、キャッシュレス非対応の店にモヤッ 『PayPay』立ち上げの人物にまさかの直談判「現金決済しかできないんだけど…」 [冬月記者★]
- バリ島で男子生徒ら集団万引きか、防犯カメラ映像が拡散 京都の大谷中学・高校が「窃盗行為」謝罪★7 [七波羅探題★]
- 防衛省、中国を完全論破www 「事前通告があったのは海自であって空自ではない」 高市早苗勝利 [175344491]
- 買ったばかりのオーブンレンジ「この機種はお餅を焼くことはできません」
- 【悲報】キティちゃん率いるサンリオ軍団、深刻な若手不足に陥る
- 【悲惨】中国軍が自衛隊に「事前通告」し自衛隊も返答した音声が公開されてしまうwwwこれは高市チェックアウトゕ★4 [597533159]
- 【悲報】JA「全然米が売れなくて倉庫を圧迫してる。助けて!」米卸売り業者「安売りしたら赤字になる…助けて!」 [802034645]
- 気が狂いそう
