1 名前:デフォルトの名無しさん [2018/03/19(月) 04:26:26.03 ID:GqsfT9Tb.net] JetBrainsが開発した期待の新言語Kotlinについて語りましょう https://kotlinlang.org 前スレ Kotlin 2 https://mevius.5ch.net/test/read.cgi/tech/1509462463/
766 名前:デフォルトの名無しさん mailto:sage [2018/07/03(火) 15:12:48.33 ID:k8WNCQ/C.net] kotlinのコロン( : )ってどんな働き・役割なのですか?
767 名前:デフォルトの名無しさん mailto:sage [2018/07/03(火) 15:56:30.11 ID:
] [ここ壊れてます]
768 名前:k8WNCQ/C.net mailto: もう一つ質問させてください 1. class chiba{ } 2. class chiba(){ ] 3. class chiba(city:String="--"){ } 1はコンストラクタは持たない 2は自動でパラメータのないコンストラクタが生成される 3は( )内でパラメータを初期化し{ }がコンストラクタになる という理解でいいのでしょうか? [] [ここ壊れてます]
769 名前:デフォルトの名無しさん mailto:sage [2018/07/03(火) 16:38:20.61 ID:h4wqJ0lA.net] >>745 単独では何の働きも役割もない ただの区切り文字
770 名前:デフォルトの名無しさん mailto:sage [2018/07/03(火) 20:19:53.43 ID:rBmEiF9u.net] >>746 以下4行は同一、下に行くほど省略表記なだけ コンストラクタは自動的に作られる class chiba constructor() { } class chiba() { } class chiba { } class chiba コンストラクタ(プライマリコンストラクタ)の中身は 初期化ブロック( init{...} )とインスタンス変数の初期化 具体的にコードで https://ideone.com/KpwsQl リファレンス https://kotlinlang.org/docs/reference/classes.html
771 名前:デフォルトの名無しさん mailto:sage [2018/07/03(火) 20:54:14.27 ID:ODNzvHJa.net] ObservableFieldの説明を見ていたら、 https://developer.android.com/reference/android/databinding/ObservableField public final ObservableField<String> first = new ObservableField<String>(); public final ObservableField<String> last = new ObservableField<String>(); public final ObservableField<String> display = new ObservableField<String>(first, last) { @Override public String get() { return context.getResources().getString(R.string.name, first.get, last.get()); } }; 既存のObservableFieldを組み合わせて新しいObservableFieldを作るようなコードが載っているので、 そのままコピペして試してみたんですが、コンパイルが通らないんですがどうしたらいいですか
772 名前:デフォルトの名無しさん mailto:sage [2018/07/03(火) 21:10:49.57 ID:egr/fzRr.net] >>749 コンパイルエラーのエラーメッセージを読む
773 名前:デフォルトの名無しさん mailto:sage [2018/07/03(火) 21:13:11.08 ID:b3yF7W7d.net] それJavaじゃん Kotlinで書く
774 名前:デフォルトの名無しさん mailto:sage [2018/07/03(火) 21:34:21.57 ID:ODNzvHJa.net] Kotlinに変換しても同じだった エラーメッセージは以下だが、何を治したらいいのか Cannot resolve constructor 'ObservableField(...)'
775 名前:デフォルトの名無しさん [2018/07/04(水) 04:50:43.63 ID:deFmQ17L.net] スレ違いの
776 名前:デフォルトの名無しさん mailto:sage [2018/07/04(水) 04:54:54.94 ID:/r54tfMO.net] コトリヌス
777 名前:デフォルトの名無しさん mailto:sage [2018/07/04(水) 07:37:22.00 ID:QS1wdrQw.net] >>752 だからKotlinで書けよ 自動変換は完璧じゃない
778 名前:デフォルトの名無しさん mailto:sage [2018/07/04(水) 07:37:52.39 ID:K6PpspCw.net] 基礎からやっていくか、状況をちゃんと説明出来るようになるか
779 名前:デフォルトの名無しさん mailto:sage [2018/07/04(水) 07:42:41.16 ID:d8xWcdxC.net] 初心者でせっかくだらjavaよりも新しいkotlinでやろうと勉強中なんだけど、結局javaも知らんといかんのね…
780 名前:デフォルトの名無しさん mailto:sage [2018/07/04(水) 07:54:41.64 ID:qSU3AFLq.net] 「こんぱいるとおりません」は実際なんも説明してねーからな で、「ほんとうに」全部自分でゼロから作るならJavaの知識は不要なのだけど 実際はJavaの内部ライブラリやJava製の外部ライブラリを利用するorさせられることが多いので Javaは少なくとも読めて呼び出し法くらいは知っておかないと現状余裕で詰まる
781 名前:デフォルトの名無しさん mailto:sage [2018/07/04(水) 08:34:41.84 ID:dJOGt5Qc.net] 普通に、コンストラクタの引数がちがうか、importしてないか、importするための設定をbuild.gradleに書いてないかだろ
782 名前:デフォルトの名無しさん mailto:sage [2018/07/04(水) 08:39:44.33 ID:hww1W9rh.net] ああそのレベルならimportしてないが有力だな、確かにw
783 名前:デフォルトの名無しさん mailto:sage [2018/07/04(水) 08:42:59.27 ID:bgzrJhKa.net] ビルド通ったやついるん?
784 名前:デフォルトの名無しさん mailto:sage [2018/07/04(水) 10:08:54.7
] [ここ壊れてます]
785 名前:8 ID:lcEaonpe.net mailto: importしてないならその前でコケるだろjk sdkのバージョン違いじゃないの? [] [ここ壊れてます]
786 名前:デフォルトの名無しさん mailto:sage [2018/07/04(水) 10:40:04.79 ID:dJOGt5Qc.net] build.gradleのandroid {} のなかに dataBinding { enable = true } 書いて、ObservableField のとこで Alt + Enter すれば、必要なimport が追加されたよ
787 名前:デフォルトの名無しさん mailto:sage [2018/07/04(水) 11:34:18.64 ID:Fv6I2084.net] return context.getResources().getString(R.string.name, first.get, last.get(); ここの行のfirst.getもfirst.get()のはずだし、公式のサンプルコードがおかしいんじゃねえの
788 名前:デフォルトの名無しさん mailto:sage [2018/07/04(水) 11:39:55.59 ID:PJj9ZCzu.net] >>748 ありがとうございました!
789 名前:デフォルトの名無しさん mailto:sage [2018/07/04(水) 14:18:24.41 ID:6R9abQ63.net] kotlinはネット投稿越しの説明デバッグが面倒くさい…
790 名前:デフォルトの名無しさん [2018/07/04(水) 15:27:56.70 ID:hVA06Lo9.net] >>723 に書いたやつはできないがこういうのはできるのな。 val (a, b, c, d, e) = listOf(1, 2, 3, 4, 5) ただし5つまで。理由は component1() 〜 component5() を使うため。
791 名前:デフォルトの名無しさん [2018/07/04(水) 16:47:52.07 ID:n4h9hTEh.net] はい https://goo.gl/k4ehdm
792 名前:デフォルトの名無しさん mailto:sage [2018/07/04(水) 19:03:02.55 ID:Uqt21yY2.net] >>768 グロ
793 名前:デフォルトの名無しさん mailto:sage [2018/07/04(水) 19:20:22.52 ID:dJOGt5Qc.net] >>766 kotlin はテキストのコピペで説明できるから簡単じゃね? VS使ってるとスクリーンショット使わないと説明できないこと多くて大変
794 名前:デフォルトの名無しさん mailto:sage [2018/07/04(水) 19:41:26.22 ID:yHhNx3G5.net] >>770 >VS使ってるとスクリーンショット使わないと説明できないこと多くて大変 たとえば?
795 名前:デフォルトの名無しさん mailto:sage [2018/07/04(水) 21:42:39.79 ID:KFDu9ptB.net] それもまたスクリーンショットを使わないと説明できないのです。
796 名前:デフォルトの名無しさん [2018/07/04(水) 21:47:17.49 ID:gFgZc5FG.net] 9MT
797 名前:デフォルトの名無しさん [2018/07/05(木) 06:52:07.84 ID:3UdVdS3q.net] つまりVSは抽象概念だった?
798 名前:デフォルトの名無しさん mailto:sage [2018/07/05(木) 18:11:14.13 ID:1+w/aSOe.net] JVM系でのことりんのポジションって.Net系だと何になるの?
799 名前:デフォルトの名無しさん mailto:sage [2018/07/05(木) 18:25:29.62 ID:em8VdMHP.net] すみません。ラムダ式について質問させてください。 純粋にkotlinじゃなくてすみません。 import kotlin.concurrent.* fun main(args:Array<String>){ var a1=Pn("A") var a2=Pn("B") var a3=Pn("C") thread{a1.en()} thread{a2.en()} thread{a3.en()} } class Pn(nm:String){ fun en(){ for(i in 1..5){ println("${nm}:${i}") } } } thread{a1.en()}の波括弧内はラムダ式ということなのですが、 もともとの関数の記述って、どんな記述になりますか? a1:Pn->a1.eat() とかですか?
800 名前:デフォルトの名無しさん [2018/07/05(木) 18:48:07.71 ID:9m4qXusF.net] 質問の意味がわからない
801 名前:デフォルトの名無しさん mailto:sage [2018/07/05(木) 19:37:20.63 ID:gU4M+kls.net] >>776 いや、そのラムダは引数に何も受け取ってないよ クロージャになってて外側のa1とかの変数をキャプチャしてるだけ JavaScriptとかの書き方で言えば () => { a1.en() } みたいな感じ
802 名前:デフォルトの名無しさん mailto:sage [2018/07/05(木) 20:08:46.41 ID:bx98WRX+.net] クロージャ使うのは一苦労じゃ
803 名前:デフォルトの名無しさん [2018/07/05(木) 20:17:49.90 ID:9m4qXusF.net] 【審議中】 ∧,,∧ ∧,,∧ ∧ (´・ω・) (・ω・`) ∧∧ ( ´・ω) U) ( つと ノ(ω・` ) | U ( ・) (・` ) と ノ u-u (l ) ( ノu-u `u-u’. `u-u’
804 名前:デフォルトの名無しさん mailto:sage [2018/07/05(木) 20:57:09.18 ID:n+w19a7Z.net] >>776 fun lambda1() { return a1.en() } thread( lambda1 )
805 名前:デフォルトの名無しさん mailto:sage [2018/07/05(木) 22:45:45.28 ID:zhHpKoz0.net] コチン星は他に転用できないでしょ Javaは何にでも使える コチン星がそうなったら移住してやんよ
806 名前:デフォルトの名無しさん mailto:sage [2018/07/05(木) 22:54:46.98 ID:gU4M+kls.net] 逆なんだよなあ
807 名前:デフォルトの名無しさん mailto:sage [2018/07/05(木) 22:58:33.72 ID:y9cLPe3E.net] 現実には逆だね Kotlin使ってるような奴はJavaはもちろん他にも複数の言語使える
808 名前:デフォルトの名無しさん mailto:sage [2018/07/06(金) 07:14:19.59 ID:BcpJI+Hp.net] 今kotlin使ってるやつは
809 名前:JavaとSwiftは書けそうだよな あと聞くところによるとずっとRuby使ってたweb系の人たちの間でkotlinの人気があるらしい [] [ここ壊れてます]
810 名前:デフォルトの名無しさん mailto:sage [2018/07/06(金) 08:51:02.46 ID:8OYGWEQ0.net] KotlinとSwiftは似ているから iOSとAndroidでお互いのコードを参考にしやすいという点でも Kotlinを使ったほうが良いよね
811 名前:デフォルトの名無しさん mailto:sage [2018/07/06(金) 09:06:38.50 ID:QElqX86J.net] >>778 >>781 ありがとうございました! 納得できました。またよろしくお願いします!感謝です
812 名前:デフォルトの名無しさん mailto:sage [2018/07/06(金) 09:16:06.34 ID:mA2hlx7s.net] >>786 うちはまさにそれでやってる。 細かい違いはあれど、両者で大体同じ感じに作れるからだいぶ生産性が上がる。
813 名前:デフォルトの名無しさん mailto:sage [2018/07/06(金) 09:32:23.49 ID:abpU4SXk.net] 「あれをああいうふうにつくりたい」で片方が概念から違うコード塊だとめげるものね せめて見る方向は一緒でないと困る
814 名前:デフォルトの名無しさん mailto:sage [2018/07/06(金) 09:39:15.11 ID:M3cpa2kA.net] Kotlin, Swift, TypeScript, C#あたりはいいかげん合体して一つになれよとは思う 似たような言語増えすぎ
815 名前:デフォルトの名無しさん mailto:sage [2018/07/06(金) 09:58:03.13 ID:HP0oeisi.net] アーキテクチャもMVVMで統一しておくとさらにいいね
816 名前:デフォルトの名無しさん mailto:sage [2018/07/06(金) 10:37:25.30 ID:SXzPAxPV.net] 合体して!
817 名前:デフォルトの名無しさん mailto:sage [2018/07/06(金) 10:43:05.75 ID:zksWstCG.net] >>785 ruby の特徴が groovy 経由で kotlin にとりこまれてるからねぇ
818 名前:デフォルトの名無しさん mailto:sage [2018/07/06(金) 10:50:59.18 ID:dSjMYi7e.net] まあHello Worldレベルならどれも大差ないよね
819 名前:デフォルトの名無しさん mailto:sage [2018/07/06(金) 11:30:17.98 ID:2AM7zbcj.net] >>789 一度作って終わりなら何でもいいけど、機能追加やらメンテやら考えたら極力設計レベルで近づけておきたいからね。 俺は経験ないけどObjectiveCとJAVAでこれやってた人たちほんとすごい。
820 名前:デフォルトの名無しさん [2018/07/06(金) 13:21:00.56 ID:49COMX7t.net] Ruby由来の特徴って? Pythonから取ってきたようなのはちらほらあるけど。
821 名前:デフォルトの名無しさん mailto:sage [2018/07/06(金) 13:28:11.07 ID:nxtJThkD.net] 信者の布教
822 名前:デフォルトの名無しさん mailto:sage [2018/07/06(金) 13:44:46.19 ID:q/ghlqNX.net] >>796 なんでもかんでもそれで実装しようとして一応作り上げ公開はするもののメンテできず放置するムラ気の情熱
823 名前:デフォルトの名無しさん mailto:sage [2018/07/06(金) 14:05:18.34 ID:LdCqv7/c.net] >>796 ヒント:ワシが育てた
824 名前:デフォルトの名無しさん [2018/07/06(金) 15:32:07.66 ID:kKlMDWU3.net] >>799 いいや、わしが育てた。
825 名前:デフォルトの名無しさん mailto:sage [2018/07/06(金) 15:58:16.16 ID:zvJYjc+f.net] kotlin配列めんどくさすぎwwwwワロタwwwww
826 名前:デフォルトの名無しさん mailto:sage [2018/07/06(金) 16:02:32.49 ID:zksWstCG.net] >>796 Kotlin 公式のこのページなんだけど https://kotlinlang.org/docs/reference/type-safe-builders.html むかしは Type-Safe Groovy-Style Builders と呼ばれてた https://github.com/JetBrains/kotlin-web-site/commit/2ed39c423cb7924538551f6fe9a600a333300bb9#diff-67d5deb10a27f44d364720fd321bc192 ドキュメントは修正されちゃったけど、機能が修正されたわけじゃない lambdaを { } で書くのとか、カッコの外に出せるのとか、これ実現するために必須
827 名前:デフォルトの名無しさん mailto:sage [2018/07/06(金) 16:15:00.75 ID:CcG3LQ04.net] Kotolinて変数にプリミティブ型が無いけど、 画像処理とか大量にデータ処理すると、Javaより遅くならない?
828 名前:デフォルトの名無しさん mailto:sage [2018/07/06(金) 16:28:27.50 ID:zksWstCG.net] >>803 ByteArray使えばよいでしょう
829 名前:デフォルトの名無しさん mailto:sage [2018/07/06(金) 1
] [ここ壊れてます]
830 名前:7:00:50.17 ID:CcG3LQ04.net mailto: >>804 配列はDoubleArrayとかあるのね bit演算はushrがあるから、Javaより見易そう(Javaの>>>と>>が見辛過ぎ)なのがいいな そろそろ切り替える踏ん切りがつきそうになった、ありがとう [] [ここ壊れてます]
831 名前:デフォルトの名無しさん mailto:sage [2018/07/06(金) 20:20:35.42 ID:AbsrypZ1.net] >>803 プリミティブに出来るものは勝手にプリミティブになる Kotlinの fun f1(a:Int, b:Int?, c:List<Int>){} はJavaでの void f1(int a, Integer b, List<Integer> c){} になる https://kotlinlang.org/docs/reference/basic-types.html#representation
832 名前:デフォルトの名無しさん [2018/07/06(金) 21:01:12.71 ID:g8uAR+7L.net] プリミティブ型がなくてもうまいこと最適化されてだいたいは問題なくなるのではないかな?
833 名前:デフォルトの名無しさん [2018/07/06(金) 21:02:17.37 ID:g8uAR+7L.net] うう。リロードし忘れてたらかぶった。
834 名前:デフォルトの名無しさん mailto:sage [2018/07/06(金) 22:24:17.82 ID:QG6T2BVC.net] >>806-807 Javaのラッパー型とか考え無くていいのか 上手く出来ているんだな
835 名前:デフォルトの名無しさん mailto:sage [2018/07/06(金) 23:30:21.00 ID:4Ugvbwaw.net] ByteArrayとかIntArrayはJavaの呪い
836 名前:デフォルトの名無しさん mailto:sage [2018/07/06(金) 23:33:34.92 ID:gLP4VBNq.net] えっと
837 名前:デフォルトの名無しさん mailto:sage [2018/07/07(土) 07:47:51.03 ID:uYnOjfeF.net] >>810 何でそう思う?
838 名前:デフォルトの名無しさん mailto:sage [2018/07/07(土) 08:02:53.54 ID:1JBcciC6.net] >>810 ほんとそう
839 名前:デフォルトの名無しさん mailto:sage [2018/07/07(土) 19:26:53.37 ID:XhDuF4YP.net] data classのcopy()というメソッドは 新しいインスタンスを作るの? それともインスタンス変数を書き換えるの?
840 名前:デフォルトの名無しさん mailto:sage [2018/07/07(土) 20:07:44.59 ID:LTqMROwD.net] >>814 新しいインスタンスを作るよ その際に新しいインスタンスに対してプロパティの差し替えを指定できる
841 名前:デフォルトの名無しさん mailto:sage [2018/07/07(土) 20:15:10.40 ID:VybllwrG.net] イミュータブルデータ
842 名前:デフォルトの名無しさん mailto:sage [2018/07/07(土) 22:09:42.29 ID:XhDuF4YP.net] >>815 そうですかコピるんですね、インスタンスはイミューダブルだから ところでデリゲートって何ですか?
843 名前:デフォルトの名無しさん mailto:sage [2018/07/07(土) 22:10:48.19 ID:uYnOjfeF.net] >>817 繊細とか壊れやすいとか、そういう意味だよ
844 名前:デフォルトの名無しさん mailto:sage [2018/07/07(土) 23:35:57.76 ID:Ty8z3s6n.net] それはフラジャイルだろ!
845 名前:デフォルトの名無しさん mailto:sage [2018/07/07(土) 23:38:31.93 ID:qgEX9CeR.net] 小麦粉のこと?
846 名前:デフォルトの名無しさん mailto:sage [2018/07/08(日) 00:50:39.49 ID:Ju8r78kR.net] Androidにはデリゲートなんて用語はない
847 名前:デフォルトの名無しさん mailto:sage [2018/07/08(日) 00:55:04.92 ID:sfogbTE4.net] >>817 ? data class のインスタンスはイミュータブルに作ることもできるけど 別にイミュータブルな保証ないよ 普通に var プロパティ宣言できるし
848 名前:デフォルトの名無しさん mailto:sage [2018/07/08(日) 04:35:49.01 ID:PDRntQm6.net] >>819 デリケートだろとつっこむところ? >>817 クラスAを継承したクラスBを作るときに、継承を使う代わりに、クラスB内にクラスAのインスタンスを持たせて、 クラスBにおけるクラスAのAPI実装をそのインスタンスに丸投げすること。 インターフェースしか定義されておらず、インスタンスはヘルパークラスからしか作れないような場合に便利。
849 名前:デフォルトの名無しさん mailto:sage [2018/07/08(日) 08:39:29.95 ID:A+oeHsIU.net] >>817 デリゲートは手動で書く手間を減らす機能だし 動作分かってないと初学者にとって混乱の元だから 「委譲書くの面倒」と思うようになるまで使わなくていい 仕様を知っておきたいならbyキーワードの具体例をググって読むべき
850 名前:デフォルトの名無しさん mailto:sage [2018/07/08(日) 08:53:04.34 ID:GTRmE3gZ.net] よくあるのは破壊的操作だけ決まった手順でやりたい可変リスト 内部に可変リストを持たせてListインターフェースをこの可変リストに委譲しつつ、 破壊的操作をするメソッドは自分で実装す
851 名前:る [] [ここ壊れてます]
852 名前:デフォルトの名無しさん mailto:sage [2018/07/08(日) 13:09:11.90 ID:I8JQ03ez.net] デリゲートゾーンの痒みにデリケア
853 名前:デフォルトの名無しさん mailto:sage [2018/07/09(月) 15:42:24.09 ID:k14wcRqL.net] 2次元配列てどうやって作るの? ググっても、一次元配列の説明しかないんだけど
854 名前:デフォルトの名無しさん mailto:sage [2018/07/09(月) 16:07:50.43 ID:HEVR++FY.net] 「Kotlin 多次元配列」とかでググれば出てくるけど、もっと簡単に作れるようにしてほしいよな Kotlinはコレクション周りが面倒
855 名前:デフォルトの名無しさん mailto:sage [2018/07/09(月) 16:22:32.46 ID:uw3CHAwx.net] ありがとう!多次元配列ででました リストの中のリストみたいな作り方しかできないんですね
856 名前:デフォルトの名無しさん mailto:sage [2018/07/09(月) 16:25:07.73 ID:a7X8gOns.net] Java11で多次元配列が追加されるっぽいし そのとき一緒にKotlinにも追加されるんじゃないかな
857 名前:デフォルトの名無しさん mailto:sage [2018/07/09(月) 19:41:02.60 ID:2W9i2TNQ.net] >>829 でもそれは多次元配列ではないからな 全世界から激しくツッコミ入るからな 「ネストした配列」とかきちんと表現しよう
858 名前:デフォルトの名無しさん mailto:sage [2018/07/09(月) 19:42:26.58 ID:CMpb5of+.net] 本当の多次元配列とネストした配列の違いってなんなの
859 名前:デフォルトの名無しさん mailto:sage [2018/07/09(月) 19:59:47.17 ID:upwaJxXn.net] だっちゅーの
860 名前:デフォルトの名無しさん mailto:sage [2018/07/09(月) 20:40:00.23 ID:2EXLNjt4.net] >>832 配列の配列: n個入る内箱をm個並べて入れた外箱、実際には内箱に入る数はそれぞれ違うこともある 二次元配列: 最初からn*mで仕切られた箱 得意なこと、苦手なことも、箱を入れた箱と最初から全部仕切られた箱の関係と似ている Java自体が真性の多次元配列ないからKotlinにもないんじゃね ScalaとかGroovyにも真性の多次元配列はないのだろう
861 名前:デフォルトの名無しさん mailto:sage [2018/07/09(月) 20:55:27.19 ID:CMpb5of+.net] それって、メモリは所詮一次元だけど n×mの連続領域確保して[][]でアクセスできるインターフェース提供できれば二次元配列って言えるってこと? ポインタの配列にしなければいいってことかな??
862 名前:デフォルトの名無しさん [2018/07/09(月) 20:56:07.10 ID:NIgnyVo4.net] 多次元配列みたいにアクセスできるクラス作って中で一次元配列を全容素数作ってアクセスする時に n * y + x のように計算してアクセスするの作れば、まあなんとなく気分を味わう事はできるな。 あとはうまいこと最適化されて効率よくなる事を祈るのみ。
863 名前:デフォルトの名無しさん [2018/07/09(月) 20:57:03.20 ID:NIgnyVo4.net] うう。リロードしてなかったらなんとなく内容が被った。orz
864 名前:デフォルトの名無しさん mailto:sage [2018/07/09(月) 21:13:13.46 ID:2EXLNjt4.net] >>835 おおむねそういうこと 配列の配列は縦方向と横方向でアクセスのコストが違うとか 多次元配列は、行をまるごと取り出そうとすると新規に配列を作る必要があるとか、違いがいろいろある Kotlinに真性の多次元配列はないけど、仮にあったらイテレーションする時も変わってくるはず。 for (item in twoDimesionalArray) { println(item) } for (innerArray in arrayOfArray) { for (item in innerArray) { println(item) } }
865 名前:デフォルトの名無しさん mailto:sage [2018/07/09(月) 22:15:19.94 ID:NSgi36DG.net] 普通のプログラミングよりPythonのnumpyとかMATLABとか科学技術計算やってた人はイメージしやすいかもね
866 名前:デフォルトの名無しさん mailto:sage [2018/07/09(月) 23:30:34.66 ID:1ah1GiNN.net] マンピー?