Twitter APIの仕様変更のため、「いいね」の新規取得を終了いたしました

黒木玄 Gen Kuroki

@genkuroki

  • いいね数 389,756/311,170
  • フォロー 995 フォロワー 14,556 ツイート 293,980
  • 現在地 (^-^)/
  • Web https://genkuroki.github.io/documents/
  • 自己紹介 私については https://twilog.org/genkuroki と https://genkuroki.github.io と https://github.com/genkuroki と https://github.com/genkuroki/public を見て下さい。
並び順 : 新→古 | 古→新

2021年05月16日(日)

非公開

タグ:

posted at xx:xx:xx

Ariadne Conill - @ar @ariadneconill

21年5月16日

this binarybuilder.jl talk is blowing my mind

タグ:

posted at 02:12:35

黒木玄 Gen Kuroki @genkuroki

21年5月16日

@hyuki #Julia言語

Julia版

* Juliaでのメソッドはオブジェクトの所有物ではない。

* Base. show(io::IO, x::MyType) を定義すると、MyType型オブジェクトをstringやprintlnがその方法で扱ってくれるようになる。

* それら以外はほぼ忠実に近い直訳

全ソースコード↓
nbviewer.jupyter.org/gist/genkuroki... twitter.com/hyuki/status/1... pic.twitter.com/d6L3WyPdoB

タグ: Julia言語

posted at 02:15:51

ʇɥƃıluooɯ ǝıʇɐs @tsatie

21年5月16日

全ソースコードを眺めました。矢張り何気に分かりやすいかも知れない。一寸一つずつ確認せんとアレですが。何より後半の出力が見易いなぁ。 twitter.com/genkuroki/stat...

タグ:

posted at 02:33:19

Mosè Giordano @MoseGiordano

21年5月16日

Looks like our #AlpineConf talk about BinaryBuilder went well 😊 thanks for having us! #JuliaLang twitter.com/ariadneconill/...

タグ: AlpineConf JuliaLang

posted at 02:41:35

Stefan Karpinski @StefanKarpinski

21年5月16日

@ariadneconill Isn’t it cool/wild?

タグ:

posted at 03:30:36

非公開

タグ:

posted at xx:xx:xx

結城浩 / Hiroshi Yuki @hyuki

21年5月16日

@genkuroki ありがとうございます😊

タグ:

posted at 06:38:57

積分定数 @sekibunnteisuu

21年5月16日

#算数・数学指導日記

小3生

(a)秒で(b)m進むと、(c)秒で(d)m進む 

をやってもらった。

togetter.com/li/1541908

タグ: 算数

posted at 07:36:56

積分定数 @sekibunnteisuu

21年5月16日

(3)秒で(8)m進むと、

(15)秒で( )m進む
( )秒で(24)m進む

考え込んでしまったので、問題を変えた。

(1)秒で(7)m進むと、

(3)秒で( )m進む
( )秒で(28)m進む

(3)秒で( )m進む はすぐ出来た。
( )秒で(28)m進む はしばらく考えてから出来た。

タグ:

posted at 07:40:00

黒木玄 Gen Kuroki @genkuroki

21年5月16日

@tsatie 誰か、Ruby版、Python版、R版を早よ!

特にR版に興味がある。

タグ:

posted at 07:40:26

積分定数 @sekibunnteisuu

21年5月16日

改めて

(3)秒で(8)m進むと、

(15)秒で( )m進む
( )秒で(24)m進む

をやってもらったら、しばらく考えてできた。

タグ:

posted at 07:40:43

Yuki Nagai @cometscome_phys

21年5月16日

Fortranでもcでも起きると思う。Juliaでの解決策はf(T[:,:])だけど、そもそも入れたTを変更する形だからびっくりマークつけた関数func!として定義しておくのが無難 twitter.com/physics303/sta...

タグ:

posted at 07:57:06

黒木玄 Gen Kuroki @genkuroki

21年5月16日

@physics303 #Julia言語

function f!(T)
T[1, 2] = 9.9
T
end

f(T) = f!(copy(T))

の方がシンプルでいいかも。

ループの中では f! を使う。

U = similar(T)
for ~

U .= T
f!(U)

end

タグ: Julia言語

posted at 08:03:34

むううみん @muuumin20

21年5月16日

「Julia言語で入門するプログラミング(その12)」を書きました。今回はエスケープコードを使ってのUIの改善です。また、型によるディスパッチとクロージャの使いわけについても、思うところを書いてます。
#Julia言語

muuumin.net/julia-intro-pr...

タグ: Julia言語

posted at 08:45:40

黒木玄 Gen Kuroki @genkuroki

21年5月16日

#Julia言語

Juliaの

* 実行時に新しい定義が可能なこと
* 実行時多重ディスパッチ(実行時多重メソッド)

に基く composability は C++ expression templates や Haskel typeclasses などのコンパイル時 composability よりも真により強力であるとはっきり書いてあります。

www.slideshare.net/acidflask/desi... pic.twitter.com/pU5mkIDAz7

タグ: Julia言語

posted at 09:00:34

むううみん @muuumin20

21年5月16日

結構時間をかけた割に、読み返すと少しボリューム不足な気もする。最初の方と比べてコードが大きくなってきたので、コードをいじる時間が増えて文章にかける時間が減っているからかな。

タグ:

posted at 09:12:05

非実在naka aki @naka_aki_spl

21年5月16日

本好きラノベで貴族の学校が1年生(10歳くらいという設定だったか)から既に「初日の試験をクリアしたら講義終了」だったの、作者氏は教育にたいして色々思うところが有るんだろうなーと思って眺めてますた twitter.com/genkuroki/stat...

タグ:

posted at 10:12:39

OokuboTact 大久保中二病中年 @OokuboTact

21年5月16日

ツイッターで掛け算・順序論争は盛んだけど、
順序強制派の人達が出してくる資料は「指導要領解説」の最新版ぐらいなので、
つまらない。
本屋に行けば、教師向けの参考書で「掛け算・順序」について書いてある本はいろいろ見つかるのになあ
#超算数

タグ: 超算数

posted at 10:38:01

OokuboTact 大久保中二病中年 @OokuboTact

21年5月16日

「小学校の掛け算順序強制派」の人で市販の文献を精力的に資料介しているのは「わさっきhb」。
takehikom.hateblo.jp/entry/20140924...

#超算数

タグ: 超算数

posted at 10:39:58

歩行者は右側通行 @JikanBae

21年5月16日

muuumin.net/julia-intro-pr... の「想い人にJuliaのコード片を送りつけるといい。(Juliaをインストールしてもいない人に恋してるだなんて言わないよね?)」がとてもいい。 #Julia言語

タグ: Julia言語

posted at 11:22:17

黒木玄 Gen Kuroki @genkuroki

21年5月16日

#Julia言語 リストヘッド付き循環リストのJulia版

添付画像

①翻訳版

②③④改訂版

改訂版では、structのフィールドに直接アクセスせずに、メソッド(函数)経由でアクセスするようにして、実装の仕方を自由に変えられるようにした。

gist.github.com/genkuroki/fd80... twitter.com/genkuroki/stat... pic.twitter.com/niokqkq0F4

タグ: Julia言語

posted at 15:32:52

黒木玄 Gen Kuroki @genkuroki

21年5月16日

#Julia言語 Juliaが速い理由はコンパイラの実装で頑張っていることだけではなく、各種ライブラリのコードを書くときに、「実装の詳細」と「抽象化された公開インターフェース」をきちんと分離して、速度が必要な部分について「実装の詳細」を地道に最適化するようにしているからである。続く

タグ: Julia言語

posted at 15:40:26

黒木玄 Gen Kuroki @genkuroki

21年5月16日

#Julia言語 続き。原理的には特別な魔法を使っているわけでもなく、ものすごく地道にケースバイケースで細かく最適化している。

それと同時に数学的に普遍的なアルゴリズムのコードもJuliaで書かれていて、Juliaで自分の型を定義した人はそのお陰で色々楽をできるようにもなっています。

タグ: Julia言語

posted at 15:40:27

黒木玄 Gen Kuroki @genkuroki

21年5月16日

#Julia言語

gist.github.com/genkuroki/fd80... でやってみせたデモンストレーションは、モジュールAで定義されているリストの表示や検索の函数を、モジュールBで全く異なる実装で作ったリストで使って見せることです。

これを見ればJuliaにクラスが不要な理由が分かると思います。 pic.twitter.com/9EfKT2xq6p

タグ: Julia言語

posted at 15:45:03

黒木玄 Gen Kuroki @genkuroki

21年5月16日

#Julia言語 このスレッドで扱っている例の良いところは、結城さんがデータ構造とアルゴリズムについてものすごく平易な解説を公開していること(以下のリンク先のスレッドを参照)。

数学的中身について直観がない状態でコードを読むのはつらいですが、直観があれば驚くほど楽にコードを読めるはず。 twitter.com/hyuki/status/1...

タグ: Julia言語

posted at 15:56:38

黒木玄 Gen Kuroki @genkuroki

21年5月16日

#Julia言語 一ヶ所、定義をミスっていた。In[10]8行目を訂正した。

gist.github.com/genkuroki/fd80... pic.twitter.com/R3LzlrCpTc

タグ: Julia言語

posted at 16:03:04

ごまふあざらし(GomahuAzaras @MathSorcerer

21年5月16日

#Julia言語
#JuliaLang

IJulia の初回起動時間すらも煩わしいと感じた人を対象に sysimage で解決する話。

discourse.julialang.org/t/tool-sysimag...

タグ: JuliaLang Julia言語

posted at 16:33:49

小猫遊りょう(たかにゃし・りょう) @jaguring1

21年5月16日

遺伝的アルゴリズムでエッチな画像を作るやつが凄い事になってるな。混沌から始まり、秩序が生まれ、限界に到達し、再構成が始まってる。神話かよ
gamingchahan.com/ecchi/ pic.twitter.com/WuEM4OveVU

タグ:

posted at 16:56:23

結城浩 / Hiroshi Yuki @hyuki

21年5月16日

@taC_handstand ありがとうございます😊

タグ:

posted at 17:47:31

結城浩 / Hiroshi Yuki @hyuki

21年5月16日

@taC_handstand こうやってみると、やはり「アルゴリズムの素朴な記述」と「そのプログラミング言語らしい記述」とはけっこう違うのがよくわかりますね😊

タグ:

posted at 17:51:13

Katsushi Kagaya @katzkagaya

21年5月16日

論文ちらっと見たらあくびの長さ論文、WAIC計算してるけど、渡辺先生の論文の方引用しようよ。そして階層モデルWAICだけど、たぶん中間パラメータ積分した予測分布になってなさそう。まだちらっとしか見てないのですが。

タグ:

posted at 18:11:08

黒木玄 Gen Kuroki @genkuroki

21年5月16日

#Julia言語 大幅に更新。コンストラクタのバグも取った。

ベンチマークテストを追加(添付画像③)。

モジュールAの実装よりも、モジュールBの実装の方が圧倒的に速い。

gist.github.com/genkuroki/fd80... pic.twitter.com/NtGHX6MTie

タグ: Julia言語

posted at 18:14:01

黒木玄 Gen Kuroki @genkuroki

21年5月16日

#Julia言語 モジュールBの作者は、モジュールAの作者にコードの変更をお願いすることなく、モジュールAを使った計算を圧倒的に速くできる。

モジュールBには、モジュールAで定義されたAbstractList型のオブジェクトを配列(Vector)に変換するメソッドも追加されている。

gist.github.com/genkuroki/fd80... pic.twitter.com/UUaSNd7NvK

タグ: Julia言語

posted at 18:14:04

Katsushi Kagaya @katzkagaya

21年5月16日

まだ、ざっと見。グループが種なのでそれぞれの種をこえて予測を考えるなら積分が必要。考えないなら必要なし。どう考えてるかによる。また、同一個体でも複数回あくびの長さを測ってるならその階層も考察ができるし、あくびの長さの個体差は僕なら考える。

タグ:

posted at 18:18:12

Katsushi Kagaya @katzkagaya

21年5月16日

脳冷却説は、個人的には眉唾。

タグ:

posted at 18:20:36

黒木玄 Gen Kuroki @genkuroki

21年5月16日

@taC_handstand @tsatie gist.github.com/hyuki/cbbd4f2c...
の方の翻訳ですね。

私のコードは
gist.github.com/hyuki/c16aa6f6...
の方の翻訳です。こちらは結城さんが書き直した後のコードで、書き直した方を優先しないとまずいかなあと思ってしまいました。

どちらにしても本質的なところは対して変わらない。

タグ:

posted at 18:26:36

Katsushi Kagaya @katzkagaya

21年5月16日

脳冷却説はこの論文というより文献10-20の実験的なほうを読むべきのようです。

タグ:

posted at 18:46:28

Katsushi Kagaya @katzkagaya

21年5月16日

あくびのときと同量の空気を同じ時間吸うとか無視だけど、そういう比較をしないとあくび特別なのが分からないと思うのですよね。そういうのやられてるのかな。

タグ:

posted at 18:57:39

黒木玄 Gen Kuroki @genkuroki

21年5月16日

@taC_handstand @tsatie #Julia言語

コードを比較し易いように
gist.github.com/hyuki/cbbd4f2c...
のJulia直訳版も作りました。

JuliaではBase. show(io::IO, x::MyType) を定義すると(パフォーマンスにも気を使う)、REPLも含めて表示のされ方や文字列への変換の仕方が変わります。

gist.github.com/genkuroki/fd80... pic.twitter.com/AkaZYfgQqs

タグ: Julia言語

posted at 19:00:01

Katsushi Kagaya @katzkagaya

21年5月16日

無視→無理
そんな実験はちょっと無理っぽそうということで

タグ:

posted at 19:00:22

Katsushi Kagaya @katzkagaya

21年5月16日

脳冷却説おいておいて、面白いデータセットだとは思いますね。YouTubeの動画とかからもデータは集めたみたいです。冷却を議論するなら気温測定が結果に入ってて良さそうなにのありませんしね。 twitter.com/shiomikozue/st...

タグ:

posted at 20:00:16

黒木玄 Gen Kuroki @genkuroki

21年5月16日

#Julia言語

twitter.com/hyuki/status/1...

gist.github.com/hyuki/cbbd4f2c...
Java版

とそのJuliaへの翻訳版版

gist.github.com/genkuroki/fd80...
のIn[1]

の比較。

私にはめちゃくちゃそっくりに見える。 pic.twitter.com/0aBPQUJUK1

タグ: Julia言語

posted at 20:08:39

Katsushi Kagaya @katzkagaya

21年5月16日

あくび🥱って involuntary かな?うつるわけですけど。図を見てあくびした人手を挙げて!

タグ:

posted at 20:09:15

黒木玄 Gen Kuroki @genkuroki

21年5月16日

5倍程度だとせいぜい slow Julia

Juliaは工夫の塊であるお陰で速いので、Juliaが試行錯誤で見つけた方法を丸ごと導入しないと、Juliaのように速くならない。

コンパイルされてバイナリになったライブラリをリンクした場合のCよりJuliaの方が当然の理由で速くなっている場合がある。 #Julia言語 twitter.com/emergent/statu...

タグ: Julia言語

posted at 20:16:23

taC @taC_handstand

21年5月16日

短絡評価でreturnできるの便利そう twitter.com/genkuroki/stat...

タグ:

posted at 20:28:38

むううみん @muuumin20

21年5月16日

「Julia言語で入門するプログラミング(その12)」を今朝書いています。
muuumin.net/julia-intro-pr...
#Julia言語 twitter.com/muuumin20/stat...

タグ: Julia言語

posted at 20:29:28

黒木玄 Gen Kuroki @genkuroki

21年5月16日

@physics303 #Julia言語

* push!は要素の追加
* append!は集まりの追加

a = []
append!(a, [missing])

ならエラーになりません。

そしてaはリストではないです。

Pythonのことは忘れた方が吉。

あと、a = [] の後にpush!で作った配列を数値計算でそのまま使うと100倍くらい遅くなる場合があります。

タグ: Julia言語

posted at 20:44:14

黒木玄 Gen Kuroki @genkuroki

21年5月16日

@physics303 #Julia言語 数値計算系のコードを書くときには

a = []
aにpush!を繰り返す
そのようにして作ったaを別の計算で使う

のスタイルのコードを書くと、めちゃくちゃ遅くなる場合があります。

その原因はaの要素の型がAnyとみなされてしまうからです。

タグ: Julia言語

posted at 20:47:48

黒木玄 Gen Kuroki @genkuroki

21年5月16日

#Julia言語

* Juliaにクラスはない(実行時多重ディスパッチがあるので不要)。

* Juliaではメソッドは特定のオブジェクトの保有物にならない。(同名のメソッドであっても引数達の型付けによって区別され、さらに名前空間をmoduleで区切ることができる)

* { }や行末のセミコロンは不要。 pic.twitter.com/9YimfASLt3

タグ: Julia言語

posted at 20:58:04

黒木玄 Gen Kuroki @genkuroki

21年5月16日

#Julia言語 クラスベースのOOPの複雑なデザインパターンをJuliaでも使いたい人が discourse.julialang.org で「どうしてJuliaはクラスベースのOOPをサポートしないのか」と質問すると、クラスベースのOOPの複雑なデザインパターンはJuliaを使えば多くの場合に無用になるからだと教えてもらえます。

タグ: Julia言語

posted at 21:05:48

黒木玄 Gen Kuroki @genkuroki

21年5月16日

#Julia言語 discourse.julialang.org を見ると恒例行事のように繰り返されているクラスベースのOOPの信者の暴走を見て、クラスベースのOOPのデザインパターンに過学習ぎみの人にとっては、数値計算系のコードを書くことに興味がなくても、Juliaのやり方を学ぶ価値があるかもしれないと思いました。

タグ: Julia言語

posted at 21:10:00

非公開

タグ:

posted at xx:xx:xx

探究 @sekai_tankyu

21年5月16日

ちくちゅーとかって人はこれに反応しなかったのかな? twitter.com/genkuroki/stat...

タグ:

posted at 22:04:20

黒木玄 Gen Kuroki @genkuroki

21年5月16日

#Julia言語 Cの側で非常に面倒なことをやらないとJuliaに最適化で負けちゃう場合がある理由のJulia開発者による説明。

例えばすでにコンパイル済みのライブラリのバイナリ中のsinのような基本函数を使うとJuliaに負けちゃう可能性が出て来る。

discourse.julialang.org/t/in-as-few-li...

discourse.julialang.org/t/in-as-few-li... pic.twitter.com/JsG6cuHTK3

タグ: Julia言語

posted at 22:05:32

むろ @nii_tsuku

21年5月16日

妻から勧められた『理系女性のライフプラン』ほぼ読了。研究者のライフワークバランスについて非常に優れた本だったので、以下にまとめとコメントを。メインの話者はラボ実験の理系だが、大多数は経済学にも当てはまる。また、女性に限らず別居婚や子育ての基礎知識として男性にも強くおすすめ(1/N)

タグ:

posted at 22:15:46

むろ @nii_tsuku

21年5月16日

この本が秀逸なのは、あとがきにあるように「ネットやSNSが有用な情報を提供する一方で細切れの情報を集める手間や不安から、まとめることの重要性(一部省略・改変)」を意識したことにある。(2/N)

タグ:

posted at 22:20:20

むろ @nii_tsuku

21年5月16日

例として、育児期の各執筆者のタイムスケジュールから、学振RPDのルール、学振の規定書類では保育園が入れない可能性、妊娠が分かったときの上司に相談のタイミング、などかゆいところに手が届く情報がまとめられている。(3/N)

タグ:

posted at 22:22:35

むろ @nii_tsuku

21年5月16日

研究者のライフワークバランスの入門書決定版ともいえる本。ただ他方で、実際に育児中の人にとっては9割以上は既知の内容とも思う。その意味で、この本を読む便益が一番高いのはこれから結婚を考える、研究者志望の院生や院進学希望の学部生だと思う。(4/N)

タグ:

posted at 22:25:37

むろ @nii_tsuku

21年5月16日

これからライフプランを考える経済学徒は、この本と「本当に伝えたい経済学の魅力(経セミ増刊)」の二冊を読めば入門は十分だと思う。他方で、結婚や育児の問題にいま直面している人は、配偶者の職業、親との距離、所属組織や地域の補助などで取れる手が大きく変わってくる。(5/N)

タグ:

posted at 22:29:13

ʇɥƃıluooɯ ǝıʇɐs @tsatie

21年5月16日

@genkuroki @hyuki やっと?何とか動くものを #Python で。なるべくシンプルにとか思うもののこんなんで良いのやら半信半疑ですが。しかもやっと最初の一歩。
github.com/tsatie/SatieGi...

タグ: Python

posted at 22:29:59

むろ @nii_tsuku

21年5月16日

その意味で、いま具体的なライフプランの問題に直面している人は、信頼できる同僚や近い分野の人との個人的なメンタリングが、研究よりも重要だと感じた。また適切な助言のためにはかなりプライバシーを聞かざるを得ないため、外部からのメンタリングも一般にはかなり限定的にならざるを得ないのでは。

タグ:

posted at 22:32:46

むろ @nii_tsuku

21年5月16日

なので今自分が後進に出来る一般的な助言としては、「結婚前など早いうちに上記2冊を読んでおくこと」と「配偶者や親との距離などを含めて話せる人を複数作るよう意識すること」くらいだろうか。(7/N)

タグ:

posted at 22:35:44

むろ @nii_tsuku

21年5月16日

前者に関連し、「経済学徒向けの、基礎的なライフワークバランス情報をまとめたサイト」などがあると有用とは思った(家庭内マネージャーから強く止められたため、自分がメインで作成しませんが、例えば下松さんのサイトが海外留学希望者に大きく影響を与えたように、作る価値はあると思います)(8/N)

タグ:

posted at 22:40:27

黒木玄 Gen Kuroki @genkuroki

21年5月16日

#Julia言語

julia> ]
pkg> add UnicodePlots
pkg> バックスペース
julia> using UnicodePlots

で使えるUnicodePlots.jlの使用例。

結構heatmapがきれいでした。

heatmapのオプションの指定の仕方が参考になると思います。 pic.twitter.com/JOkxY1CRy8

タグ: Julia言語

posted at 22:43:37

むろ @nii_tsuku

21年5月16日

(あの方とかきみとか作成を手伝ってくれないものか…)最後に、裁量労働制の研究者は、時間の柔軟性から日本の職業の中では相当子育てに向いている、ということはより広く周知されて良いと思います。生活や将来設計のために院進学やアカデミアを尻込みすることが減ることを、心から願います。(9/9)

タグ:

posted at 22:44:41

むろ @nii_tsuku

21年5月16日

蛇足ですが、「理系女性のライフプラン」で強調されていなかったが個人的に重要に思う点として、全自動洗濯乾燥機、食洗機、ロボット掃除機などの家電です。あと、突発的なトラブルに関してシッターと病児保育は(両親などにすぐに頼めない場合)極めて大切だと思います。(10/9)

タグ:

posted at 22:48:12

むろ @nii_tsuku

21年5月16日

この点、大阪大学はポピンズと提携しており、また市でも病児保育施設が充実しているので本当に本当に有り難いです。「日本に帰って良かったこと」は海外在住者からよく聞かれますが、自分は必ず真っ先に「保育の質と種類の多さ」を挙げています。(11/9)

タグ:

posted at 22:50:38

(「・ω・)「ガオー @bicycle1885

21年5月16日

1.7で入れて欲しい…

タグ:

posted at 23:07:10

(「・ω・)「ガオー @bicycle1885

21年5月16日

現状だとTaskがスレッド間を移動できないので、spawnマクロでTaskを作成するとき運悪く同じスレッドに複数タスクが割り振られちゃうと急にパフォーマンスが落ちたりしてアレというはなし。

タグ:

posted at 23:13:32

非公開

タグ:

posted at xx:xx:xx

黒木玄 Gen Kuroki @genkuroki

21年5月16日

#Julia言語 Juliaだと色々単純化されているので理解が楽。

Juliaでは、クラス、インスタンス、staticメソッド、インスタンスメソッド、などの用語に関わる諸々が全部無用になります(笑)。

「static使いまくるのはちょっと恥ずかしい」のようなことには最初からなりようがない。

タグ: Julia言語

posted at 23:40:35

黒木玄 Gen Kuroki @genkuroki

21年5月16日

#Julia言語

Juliaでのメソッドは「クラス」や「インスタンス」の所有物にならず、同名のメソッド達はその名前の函数に属することになります。

タグ: Julia言語

posted at 23:47:06

黒木玄 Gen Kuroki @genkuroki

21年5月16日

#Julia言語

同名のメソッド達は

①メソッドの定義域(引数達の型で指定される)の違い
②名前空間(module)の仕様

で区別され、どの「クラス」「インスタンス」に属すかで区別されたりしない。

しかし、①②による区別がかなり強力なので、むしろ複数のパッケージの複合的利用が易しくなっています。

タグ: Julia言語

posted at 23:47:07

黒木玄 Gen Kuroki @genkuroki

21年5月16日

#Julia言語 同名のメソッド達

double(x::Number) = 2x
double(x::AbstractString) = x*x
double(x::AbstractVector) = [x; x]

は引数xの型の指定の仕方の違いで区別されます。

xがNumber, AbstractString, AbstractVectorのどれに属しているかで、double(x)でどのメソッドが実行されるか決まる。

タグ: Julia言語

posted at 23:52:19

黒木玄 Gen Kuroki @genkuroki

21年5月16日

#Julia言語 1つ前のツイートでは引数が1つしかないメソッドの区別について説明しましたが、引数を複数持つメソッドの区別も同様です。例えば、

mult(x::Integer, y::Integer) = x*y
mult(x::Integer, y::AbstractString) = y^x

は異なるメソッドになります。

タグ: Julia言語

posted at 23:55:47

黒木玄 Gen Kuroki @genkuroki

21年5月16日

#Julia言語

double(x::Number) = 2x
double(x::AbstractString) = x*x
double(x::AbstractVector) = [x; x]

をそれぞれNumberクラス、AbstractStringクラス、AbstractVectorクラスのインスタンス x に属するメソッドとみなして、x.double() のように書くのがクラスベースのOOPのスタイルです。

タグ: Julia言語

posted at 23:59:57

@genkurokiホーム
スポンサーリンク
▲ページの先頭に戻る
ツイート  タグ  ユーザー

User

» More...

Tag

» More...

Recent

Archive

» More...

タグの編集

掛算 統計 超算数 Julia言語 数楽 JuliaLang 十分 と教 モルグリコ 掛け算

※タグはスペースで区切ってください

送信中

送信に失敗しました

タグを編集しました