X



Kotlin 3
■ このスレッドは過去ログ倉庫に格納されています
0603デフォルトの名無しさん
垢版 |
2018/06/21(木) 20:14:09.53ID:YE7/gwSF
このスレにはナウいヤングしかいないに決まってるぢゃないか
0615デフォルトの名無しさん
垢版 |
2018/06/22(金) 09:31:00.55ID:TLETRHno
私は21世紀から来た未来人
ナウいヤングのみなさんこんにちは
0616デフォルトの名無しさん
垢版 |
2018/06/22(金) 09:31:53.75ID:TLETRHno
さて、今は昭和何年かな
0618デフォルトの名無しさん
垢版 |
2018/06/22(金) 20:03:42.85ID:/0JmIthO
昭和93年
0619デフォルトの名無しさん
垢版 |
2018/06/22(金) 20:18:28.51ID:pFncXrHB
【王様きどり、財界″】 マイトLーヤ『人々はもう特定の主義を認めない、政治的教化は通用しない』
http://rosie.5ch.net/test/read.cgi/liveplus/1529634259/l50


共産でも、資本でもない、分ち合い経済が、登場します!
0621デフォルトの名無しさん
垢版 |
2018/06/23(土) 13:30:05.04ID:63C7HKhZ
main の関数って一番下に書かなくてもいいの?

mainより下に中で使う他の関数書いてもいいんだ?
0622デフォルトの名無しさん
垢版 |
2018/06/23(土) 15:53:22.37ID:EFPp8pY4
>>621
Javaのクラスの中のメソッドと同じで順序は問わない。

まあでも新しい言語ってだいたいそうじゃないか?
変数の場合は初期化される順序の問題で先に書かなきゃいけない場合はあると思うが。これについては Kotlin も同じ。

例えばこうなっている場合に main() と p() は順序を逆にできるが s と s2 は逆にできない。

val s = "abc"
val s2 = s + "def"
fun main(args: Array<String>) = p()
fun p() = println(s2)

できるような言語も作れるだろうがそうすると人間が混乱する可能性が高まってバグの温床になりかねないからわざとできないようにしてあるんだろうと思う。
0623デフォルトの名無しさん
垢版 |
2018/06/23(土) 16:49:28.35ID:1ogXGchx
一般論として、初心者の質問に対して聞かれたこととあまり関係のない情報を答えすぎると混乱させるだけだからやめた方が良いよ
0624デフォルトの名無しさん
垢版 |
2018/06/24(日) 17:01:23.99ID:0eT+Bnxh
>>622
コンパイル言語だから上から実行されるわけではないんですね 
pythonだと怒られそう
変数の代入に関しては上からということか
0627デフォルトの名無しさん
垢版 |
2018/06/24(日) 18:46:55.05ID:p+pduEru
犬の利点を教えてください

猫と犬を区別できるからかな

答えになってません

やり直し
0631デフォルトの名無しさん
垢版 |
2018/06/24(日) 19:57:19.87ID:p+pduEru
じゃあちょっと質問の仕方を変えますね

なぜnull不許容が必要なのか教えてください

これならわかるかな?
0634デフォルトの名無しさん
垢版 |
2018/06/24(日) 20:40:44.92ID:p+pduEru
そもそも、nullを代入しなければいいのでは?
もしくは初期化しておけばいいと思います

違いますか?
0638デフォルトの名無しさん
垢版 |
2018/06/24(日) 21:05:43.17ID:VUEtZOMW
>>634
初めたばっかで良く分かって無いが、null使わないなら許容する意味が無くね-か
寧ろnullを使う意味が分からない
0639デフォルトの名無しさん
垢版 |
2018/06/24(日) 21:22:24.66ID:YRVrDSwQ
例えばSwiftは言語仕様でnullを抹殺しているが、わざわざOptionalというnullでないものでnullを表現してる。nullがない世界など何処にもないのだ。
0640デフォルトの名無しさん
垢版 |
2018/06/24(日) 21:25:55.36ID:p+pduEru
例えばファイルが読み込めなかった場合、どうなると思いますか?

答えられますか?

答えられるようになったら質問してください。
今はそういうレベルの話ではないです。
0641デフォルトの名無しさん
垢版 |
2018/06/24(日) 21:38:37.19ID:/V8oJSwl
>>630
> なぜnull不許容が必要なのか教えてください
あなたの言う意味では不要。null許容にすることによってプログラミングが不可能になることはない。
nullによって発生する凡ミスが減るというメリットを必要とする人がいる。それだけ。

>>640
> 今はそういうレベルの話ではないです。
わからないで聞いているというより、わかってて煽ってるわけだ。

> 例えばファイルが読み込めなかった場合、どうなると思いますか?
ここでnullを許容する必要があるのではないかと言いたいんだと思うけど、
Kotlinがそうしているかどうはかは別にして、「ファイルが読み込めなかった」という
nullでない値を返すという考え方もある。
null許容のJavaだと例外を投げるところかな。
0642デフォルトの名無しさん
垢版 |
2018/06/24(日) 21:40:24.82ID:p+pduEru
>>639
おっしゃる通りで、結局不正なデータのチェックは必要なわけで、null不許容だから安心して使えるわけでもなく、寧ろ何気にうまく動いている状態が一番怖いです
0643デフォルトの名無しさん
垢版 |
2018/06/24(日) 21:52:05.84ID:p+pduEru
null不許容のクラスを作るとして
そこではあらゆるケースに対処を強いられるわけで、チェック項目は膨大になります
しかしそれを利用する側は単純にファイルが読めるか否かだけ知れればいいとします。
null不許容を取り入れるということは、開発コストが上がることを示唆しているのではないかと

どうですか?
0644デフォルトの名無しさん
垢版 |
2018/06/24(日) 21:54:49.09ID:YRVrDSwQ
Optionalは中身取り出すのにアンラップが要る。Kotlinはnullにならないようにコンパイラがチェックしてるだけ。よってアンラップ不要。副作用としてnullを許容してないのに場合によってはnullが入ってしまうこともある。。
0645デフォルトの名無しさん
垢版 |
2018/06/24(日) 22:02:12.48ID:p+pduEru
>>644
それは実行時の動的なnullですよね。
私が質問しているのは、null不許容型(言い換えれば静的なnullに関して)の必要性についてです。
0648デフォルトの名無しさん
垢版 |
2018/06/24(日) 22:10:34.25ID:GxIVu2Pg
おおかた大学のレポートなり試験なりでその質問をされて回答を探しにきたんだろ
ネットで煽りっぽく聞けばムキになった人が答えてくれるからね、君は賢いね、偉い偉い
0652デフォルトの名無しさん
垢版 |
2018/06/24(日) 23:18:47.64ID:eSenA4KT
>>624
コンパイルする言語なのかインタープリタなのかという問題ではなくて、そういう仕様の言語というだけのこと。
というのはコンパイルしようがしまいが同じような言語は作れるから。
0654デフォルトの名無しさん
垢版 |
2018/06/24(日) 23:25:25.08ID:eSenA4KT
今ちょっと前にAmazon見たらこれのKindole版の方だけ1361円だった。55%offかな。だいたい半額ぐらい。
短期間のセール価格なのかも知れない。

Androidアプリ開発のためのKotlin実践プログラミング 現場で求められる設計・実装のノウハウ
http://amzn.asia/iM5AGQY

紙の本はもう持ってるのにうっかり押しちゃうところだったw
0656デフォルトの名無しさん
垢版 |
2018/06/25(月) 00:03:59.42ID:MQFTLmTQ
>>655
宣伝にはなっちゃうが他に知らせる方法ないよな。
0657デフォルトの名無しさん
垢版 |
2018/06/25(月) 01:08:25.26ID:eZlTEzf8
>>648
だろうな
煽り質問は無視しとけば良い

世の中nullっとしてないと入るものも入らないんだよ
0661デフォルトの名無しさん
垢版 |
2018/06/25(月) 08:59:14.92ID://DXoKuS
とするともう大学で教えてる所があるということになるな
0662デフォルトの名無しさん
垢版 |
2018/06/25(月) 09:02:09.61ID:1p6QEPdQ
null安全な言語はもうずっと前からあるから、それに触れる授業くらいはいくらでもあるでしょ
0663デフォルトの名無しさん
垢版 |
2018/06/25(月) 09:08:55.77ID://DXoKuS
>>657
【審議中】
.   ∧,,∧  ∧,,∧
 ∧ (´・ω・) (・ω・`) ∧∧
( ´・ω) U) ( つと ノ(ω・` )
| U (  ・) (・`  ) と ノ
 u-u (l    ) (   ノu-u
     `u-u’. `u-u’
0666デフォルトの名無しさん
垢版 |
2018/06/26(火) 06:08:18.39ID:2T7FQdCl
KotlinのターゲットJVMは、Java8の次はOracleJDK 11になるんだろうか、OpenJDK 11になるんだろうか。
0671デフォルトの名無しさん
垢版 |
2018/06/26(火) 15:46:55.60ID:JaGjn0N8
nativeっておもちゃとしては楽しいだろうけど、現実的にそこまでニーズあるかね
0673デフォルトの名無しさん
垢版 |
2018/06/26(火) 19:48:16.67ID:EJ9QuCpH
>>671
まずはおもちゃとして使って楽しんで、それから何かに使えないか考えれば良いのではないかな。
その内なにか丁度良い用途が見つかると思うよ。
0674デフォルトの名無しさん
垢版 |
2018/06/26(火) 21:43:33.91ID:94ok3+r+
趣味で何か作るなら是非使いたいね。
ビジネスプロダクトを作るならまたちょっと話が変わるけど。
0675デフォルトの名無しさん
垢版 |
2018/06/27(水) 07:38:02.49ID:6utZ2/C2
クロスプラットフォームって、出始めの頃のhtmlベースのそび糞達のせいで普及が5年は遅れてると思う。
いまだにあの頃のイメージは抜けきれてない
0676デフォルトの名無しさん
垢版 |
2018/06/27(水) 08:32:56.41ID:mCGbxVOO
Kotlinを選ぶ時点で、既に自分の得意な特定の言語に固執する低レベルな段階を卒業してる人が多いだろうから
無理にKotlin使うよりプラットフォームに合わせた適切な言語を使うべきと考える人が多数派だろうね
0677デフォルトの名無しさん
垢版 |
2018/06/27(水) 08:41:17.54ID:EhxoKQAq
うちもいくつかアプリ作ってるけど、結局それぞれのネイティブで並行開発が1番間違いないって感じになってるな。
Xamarin使ってるのもあるけど、やっぱり色々辛い。RNはもっとアレだったからプロダクトに使う前にやめた。
0682デフォルトの名無しさん
垢版 |
2018/06/27(水) 12:18:58.79ID:+kJys0PI
単純にプラットフォームのバージョンアップに加えて、Xamarinの更新や仕様変更にもついていかなくちゃいけないのが割と大きいんだよね。
レイヤーが1枚増えるぶんこちらの意思とは無関係にメンテしなくちゃいけないものが増える。
0683デフォルトの名無しさん
垢版 |
2018/06/27(水) 18:40:46.48ID:joyJ67qD
ネイティブでクロスコンパイルだとgoがいい感じなんだがいかんせん言語仕様がアレじゃん?
rustもつらみが深いし。
kotlinがそこ狙ってくれないかなー
0686デフォルトの名無しさん
垢版 |
2018/06/27(水) 20:31:33.36ID:9CxCJ+s3
GoはGoogleAppEngineとセットで推されてる感じ
Dartはモバイルアプリに使えるようになったけど、PWAにも対応されるのかな
0687デフォルトの名無しさん
垢版 |
2018/06/27(水) 21:31:14.11ID:/7xWx8r1
Google A 「KotlinはAndroid開発の第一級言語」
Google B 「Dartならクロスプラットフォーム開発出来るよ」
Google C 「社内ではTypeScriptが標準開発言語ですけどね」
Google D 「Goはさらに進化する」
0689デフォルトの名無しさん
垢版 |
2018/06/27(水) 21:54:44.06ID:058nb6Zd
そういうカオスなのがGoogleっぽくて嫌いじゃない
Googleはインド系
Appleは中国系
0690デフォルトの名無しさん
垢版 |
2018/06/27(水) 22:06:52.35ID:M3lpNFO8
Google的にはWebAssemblyはどの言語なんだろ
Kotlin/Nativeを推してくれたりしないものか
0691デフォルトの名無しさん
垢版 |
2018/06/27(水) 22:36:51.97ID:09Lu5AaC
GoogleはSEO最強だからどんなものでもそれなりに凄いもののように見えるけど、
実際にはGoogle自身も全く本気でやってないお遊びレベルのゴミが多いでしょ
Googleって社内的には非常に一貫性の高い独自のプラットフォームがあって、世間のOSSベースな開発とはかけ離れた世界になってるらしいし
0692デフォルトの名無しさん
垢版 |
2018/06/28(木) 05:21:24.48ID:lL281Rpl
ソースは?
0693デフォルトの名無しさん
垢版 |
2018/06/28(木) 08:16:52.30ID:1UW06GNd
googleのソースリポジトリへのコミット要件が割と厳し目なのは有名かな。
その割にgithubにあげてるのはそもそもまともに動かないものもたまにある。
0696デフォルトの名無しさん
垢版 |
2018/07/01(日) 08:01:17.25ID:/DvFOeR7
すみません、どちらに質問させて頂けるのか分からなくてこちらで教えていただければと考えてます。よろしくお願いします。
0697696
垢版 |
2018/07/01(日) 08:15:08.30ID:/DvFOeR7
1 fun func(x:int,y:(Int)->Int)=L(x)
2 func(1,{it*5})

1行目のL(x)は何を意味しているのでしょうか?
また、var y:(Int)->Int={x:Int->x*2}をfunc関数に代入するために
1行目にy:(Int)->Intを引数にして
2行目で、{x:Int->x*2}を実行しているという理解でいいのでしょうか?
0698デフォルトの名無しさん
垢版 |
2018/07/01(日) 08:18:15.23ID:nOlX7v2j
>>681
Unityの「だってお前らこれではゲームしか作らんだろ」という割り切りっぷりは清々しい
ゲーム的文法で作る以外のルートがねえw
0699デフォルトの名無しさん
垢版 |
2018/07/01(日) 10:29:25.00ID:7m3QggRW
>>697
1行目はLという名前の関数にxを渡してるだけ
 fun func(x:int, y:(Int)->Int) {
   return L(x)
 }
の省略表記
ただ、引数のyが無視されているので
L(x) じゃなくて y(x) の間違いなんじゃねって気がする

2行目は代入云々はその理解で合ってるけど
「実行している」のではなく「定義して渡している」
実際そのコードではyが呼ばれてないのでその掛け算は実行されない
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況