Julia Juno Jupyter part1
1 :デフォルトの名無しさん :2016/02/12(金) 19:05:13.83 ID:zhNvVfnf.net LLVM で動く Julia のお勉強 Python に少し似てネイティブの速さで動く素敵な関数型言語 http://julialang.org/ http://junolab.org/ http://jupyter.org/ 関連 Pythonista のための Julia 100 問 100 答 http://bicycle1885.hatenablog.com/entry/2014/12/23/170745
2 :デフォルトの名無しさん :2016/02/12(金) 19:06:27.32 ID:zhNvVfnf.net みなさんの貢献が求められています http://pkg.julialang.org/ http://docs.julialang.org/en/release-0.4/manual/packages/
3 :デフォルトの名無しさん :2016/02/12(金) 19:11:52.52 ID:zhNvVfnf.net C の関数を呼ぶのも簡単 http://docs.julialang.org/en/release-0.4/manual/calling-c-and-fortran-code/ ツールが無くても可能ですが他にも便利なのがあるのでお好みで Clang.jl https://github.com/ihnorton/Clang.jl Cpp.jl https://github.com/timholy/Cpp.jl Cxx.jl https://github.com/Keno/Cxx.jl
4 :デフォルトの名無しさん :2016/02/12(金) 19:36:28.01 ID:zhNvVfnf.net 私が Julia を推す理由 (翻訳) http://d.hatena.ne.jp/isobe1978/20140330/1396201066 原文 http://www.evanmiller.org/why-im-betting-on-julia.html Julia の開発環境を構築してみる (IJulia) http://qiita.com/miiton@github/items/33c2b62c4911216d5fdb 科学計算が得意な言語 Julia を試してみた http://qiita.com/chezou/items/d090f26dcb31818d6964 Gadfly http://gadflyjl.org/ Plotly https://plot.ly/julia/
5 :デフォルトの名無しさん :2016/02/12(金) 23:29:57.13 ID:5fxI8DGs.net 実は数年前にここでjuliaスレ立てたんだが落ちたんだよなあ。。。。
6 :デフォルトの名無しさん :2016/02/13(土) 10:10:05.58 ID:3L3e3K/U.net 漏れもなんとなく見覚えがある気がするんだよなぁ・・・ 落ちる条件ってなんだっけ
7 :デフォルトの名無しさん :2016/02/13(土) 10:11:00.83 ID:3L3e3K/U.net という訳で保守がてら juliaからCの関数を呼んでみた julia> ccall(:printf, Void, (Ptr{Cchar}, Ptr{Cchar}), "%s", "abc") abc julia> ccall(:printf, Void, (Ptr{Cchar}, Ptr{Cchar}, Int), "%s%d", "abc", 9) abc9 引数の数が自由なのがいいねっ!
8 :デフォルトの名無しさん :2016/02/13(土) 10:12:28.35 ID:3L3e3K/U.net おれおれDLLだと呼び出し方がちょっと変わるみたい (最近仕様が変わったらしいので古いドキュソの通りやると動かない っていうか最新のドキュソもまだ動かないサンプルのままだぞω) julia> libcurl = Base.Libdl.dlopen_e("./libcurl.dll") Ptr{Void} @0x2c76e2c0 julia> curl_version = Base.Libdl.dlsym(libcurl, :curl_version) Ptr{Void} @0x6b25c740 julia> curl_getenv = Base.Libdl.dlsym(libcurl, :curl_getenv) Ptr{Void} @0x6b25c854 julia> curl_free = Base.Libdl.dlsym(libcurl, :curl_free) Ptr{Void} @0x6b25cbf8 julia> p = ccall(curl_version, Ptr{Cchar}, ()) Ptr{Int8} @0x6b29c060 julia> ccall(:printf, Void, (Ptr{Cchar}, Ptr{Cchar}), "%s", p) libcurl/7.30.0 OpenSSL/1.0.1e zlib/1.2.7 julia> q = ccall(curl_getenv, Ptr{Cchar}, (Ptr{Cchar}, ), "NUMBER_OF_PROCESSORS") Ptr{Int8} @0x2c76df10 julia> ccall(:printf, Void, (Ptr{Cchar}, Ptr{Cchar}), "%s", q) 8 julia> ccall(curl_free, Cuint, (Ptr{Void}, ), q) 0x00000001 julia> Base.Libdl.dlclose(libcurl) うっかり解放忘れそう
9 :デフォルトの名無しさん :2016/02/13(土) 10:14:00.39 ID:3L3e3K/U.net stdcallな関数だとさらにこんな感じだよ julia> user32 = Base.Libdl.dlopen_e("user32.dll") Ptr{Void} @0x2c767300 julia> MessageBoxA = Base.Libdl.dlsym(user32, :MessageBoxA) Ptr{Void} @0x76c6cf50 julia> err = ccall(MessageBoxA, stdcall, UInt, (Ptr{UInt}, Ptr{Cchar}, Ptr{Cchar}, UInt), 0, "Hello, work!", "Message", 0) 0x00000001 wchar_tはArray{UInt16,1}らしい(UTF8を表示したければ先にwchar_tへの変換が必要) julia> MessageBoxW = Base.Libdl.dlsym(user32, :MessageBoxW) Ptr{Void} @0x76c6d280 julia> err = ccall(MessageBoxW, stdcall, UInt, (Ptr{UInt}, Ptr{Cwchar_t}, Ptr{Cwchar_t}, UInt), 0, Array{UInt16,1}([0x304C,0x3063,0xFF01,0]), Array{UInt16,1}([0x306C,0x308B,0x307D,0]), 0) 0x00000001 julia> Base.Libdl.dlclose(user32) 解放解放 引数や戻り値の定義を呼び出しのたびに何度も書くの面倒なのでマクロを書くのが良いらしいよ
10 :デフォルトの名無しさん :2016/02/13(土) 10:17:20.41 ID:3L3e3K/U.net >っていうか最新のドキュソもまだ動かないサンプルのままだぞω ああごめん動くわ
11 :デフォルトの名無しさん :2016/02/13(土) 10:22:27.58 ID:3L3e3K/U.net ccall(:printf, Void, (Ptr{Cchar}, Ptr{Cchar}), "%s", ccall((:curl_version, :libcurl), Ptr{Cchar}, ())) err = ccall((:MessageBoxW, :user32), stdcall, UInt, (Ptr{UInt}, Ptr{Cwchar_t}, Ptr{Cwchar_t}, UInt), 0, Array{UInt16,1}([0x304C,0x3063,0xFF01,0]), Array{UInt16,1}([0x306C,0x308B,0x307D,0]), 0) Array{UInt16,1}のところはArray{Cwchar_t}とかVector{Cwchar_t}とも書ける err = ccall((:MessageBoxW, :user32), stdcall, UInt, (Ptr{UInt}, Ptr{Cwchar_t}, Ptr{Cwchar_t}, UInt), 0, Vector{Cwchar_t}([0x304C,0x3063,0xFF01,0]), Array{Cwchar_t}([0x306C,0x308B,0x307D,0]), 0) これでいいね loadは省けるけど毎回loadと解放してくれてるんだろうか
12 :デフォルトの名無しさん :2016/02/13(土) 10:31:38.04 ID:Qsay8O0p.net >>8 >OpenSSL/1.0.1e ワロス
13 :デフォルトの名無しさん :2016/02/13(土) 11:59:14.88 ID:3L3e3K/U.net もう少しちらうら julia> bytes2hex([65,97,66,98,0x5c]) ERROR: MethodError: `bytes2hex` has no method matching bytes2hex(::Array{Int32,1}) julia> bytes2hex(Array{UInt8,1}([65,97,66,98,0x5c])) "416142625c" julia> bytestring(Array{UInt8,1}([65,97,66,98,0x5c])) "AaBb\\" julia> hex2bytes("416142625c") 5-element Array{UInt8,1}: 0x41 0x61 0x42 0x62 0x5c julia> string2bytes("AaBb\\") ERROR: UndefVarError: string2bytes not defined julia> stringbytes("AaBb\\") ERROR: UndefVarError: stringbytes not defined julia> read(IOBuffer("AaBb\\")) ERROR: MethodError: `read` has no method matching read(::Base.AbstractIOBuffer{Array{UInt8,1}}) julia> read(IOBuffer("AaBb\\"), UInt8) 0x41 julia> read(IOBuffer("AaBb\\"), UInt8, length("AaBb\\")) 5-element Array{UInt8,1}: 0x41 0x61 0x42 0x62 0x5c んー マニュアルにはreaddim()があるって書いてあるのに・・・ 何かimport忘れてるとか? length省略できんのもなんだかな 勘違いならいいけど
14 :デフォルトの名無しさん :2016/02/13(土) 17:12:04.67 ID:AfSbfh5s.net ちょっと前から同名のAV女優が出てきて検索がちょっとアレになったよね 運が悪い
15 :デフォルトの名無しさん :2016/02/13(土) 17:45:27.64 ID:6qRaMcc6.net "どうすればPythonをJuliaと同じくらい速く動かせるのか? : 様々なやり方で計算の高速化を図る" http://postd.cc/python_meets_julia_micro_performance/
16 :デフォルトの名無しさん :2016/02/13(土) 22:04:46.56 ID:zoieo+tE.net フォートランっぽい文法狂おしいほど嫌い
17 :デフォルトの名無しさん :2016/02/14(日) 11:00:37.07 ID:7sraJ7/r.net パッケージがおれおれやってみたばっかりで まともなものが少ねーじゃねーか これ PyPI よりひでーぞ github っつーかオプソは害だな
18 :デフォルトの名無しさん :2016/02/14(日) 11:01:38.90 ID:7sraJ7/r.net >>16 21世紀にもなって添え字が 1 から始まるとかもうね
19 :デフォルトの名無しさん :2016/02/14(日) 11:11:08.67 ID:FXwepV/m.net おまいらなんだかんだ言って みんなそれなりにやってんだな ニヤニヤ
20 :デフォルトの名無しさん :2016/02/14(日) 19:24:28.30 ID:UnbFC5qc.net >1 乙 >14 前スレで見た覚えがある >16 それな
21 :デフォルトの名無しさん :2016/02/15(月) 10:16:09.06 ID:TvNTryet.net コンパイル中のエラーよりも実行時の型エラーの方が厄介な言語だなこいつは。 慣れれば問題ないが。
22 :デフォルトの名無しさん :2016/02/15(月) 10:20:41.18 ID:TvNTryet.net >>13 非推奨っぽいが、 これでいいらしい。 "AaBb\\".data 代入も出来るようだ。 s = "AaBb\\" s.data[2] = UInt8(64) s
23 :デフォルトの名無しさん :2016/02/15(月) 10:21:13.05 ID:TvNTryet.net これは割りと嬉しいかも。 julia> @sprintf "ab [%7s]" "xあx" "ab [ xあx]" julia> @sprintf "ab [%-7s]" "xあx" "ab [xあx ]" julia> @sprintf "ab [%7s]" "xxx" "ab [ xxx]" julia> @sprintf "ab [%-7s]" "xxx" "ab [xxx ]"
24 :デフォルトの名無しさん :2016/02/15(月) 10:31:07.93 ID:TvNTryet.net うむむ julia> @sprintf "ab [%-7s]" bytestring(hex2bytes("")) "ab [ ]" julia> @sprintf "ab [%-7s]" bytestring(hex2bytes("4141E381824141")) "ab [AAあAA ]" julia> @sprintf "ab [%-7s]" bytestring(hex2bytes("4141E981824141")) "ab [AA遂AA ]" julia> @sprintf "ab [%-7s]" bytestring(hex2bytes("4141Ee81824141")) "ab [AA\ue042AA ]" julia> @sprintf "ab [%-7s]" bytestring(hex2bytes("4141Ef81824141")) "ab [AA\uf042AA ]" julia> @sprintf "ab [%-7s]" bytestring(hex2bytes("4141E881824141")) "ab [AA聂AA ]" julia> @sprintf "ab [%-7s]" bytestring(hex2bytes("4141E8e8824141")) "ab [AA騂AA ]" julia> @sprintf "ab [%-7s]" bytestring(hex2bytes("4141E9e8824141")) "ab [AAꨂAA ]" julia> @sprintf "ab [%-7s]" bytestring(hex2bytes("414155aa554141")) ERROR: UnicodeError: invalid character index in next at unicode/utf8.jl:65 in strwidth at strings/basic.jl:205 [inlined code] from printf.jl:159 in anonymous at no file:0 julia> @sprintf "ab [%-7s]" hex2bytes("414155aa554141") "ab [UInt8[0x41,0x41,0x55,0xaa,0x55,0x41,0x41]]"
25 :デフォルトの名無しさん :2016/02/15(月) 11:19:37.91 ID:TvNTryet.net >>11 julia> ccall((:curl_version, :libcurl), Ptr{Cchar}, ()) Ptr{Int8} @0x6b29c060 julia> @sprintf "%s" ccall((:curl_version, :libcurl), Ptr{Cchar}, ()) "Ptr{Int8} @0x6b29c060" んーこれも期待した動作と違うなぁ。
26 :デフォルトの名無しさん :2016/02/15(月) 11:28:27.71 ID:TvNTryet.net >>16 ifに括弧なしは一見便利だけどend強制されるのはPythonに慣れてるとうざく感じる。 julia> Array{UInt8}([1:n;]) == map(a -> UInt8(a), 1:n) true ちょっと気持ち悪いところもある。
27 :デフォルトの名無しさん :2016/02/15(月) 11:32:12.26 ID:TvNTryet.net julia> Array{UInt8}([1:n;]) == map(a -> UInt8(a), (1:n)) true julia> Array{UInt8}([1:n]) == map(a -> UInt8(a), (1:n)) 警告出るが true (二回目からは警告出なくなる?) julia> Array{UInt8}((1:n)) == map(a -> UInt8(a), (1:n)) エラー
28 :デフォルトの名無しさん :2016/02/15(月) 11:45:55.52 ID:2YjvKDPc.net >>25 bytestring(ccall((:curl_version, :libcurl), Ptr{Cchar}, ()))
29 :デフォルトの名無しさん :2016/02/15(月) 11:49:21.03 ID:TvNTryet.net >>28 有賀d。 >>24 でも書いたけどbytestringってこんなデータ来ると死ぬから使いたくないなぁ。 julia> bytestring(hex2bytes("414155aa554141"))
30 :デフォルトの名無しさん :2016/02/15(月) 12:16:36.12 ID:TvNTryet.net julia> pointer_to_array(ccall((:curl_version, :libcurl), Ptr{Cchar}, ()), n) でnバイト分のArray{Int8}になるみたいだけどなぜかデフォでUInt8じゃないのが気に入らないなぁ。 julia> Array{UInt8}(pointer_to_array(ccall((:curl_version, :libcurl), Ptr{Cchar}, ()), n)) とかいちいち書くの面倒だなぁ。
31 :デフォルトの名無しさん :2016/02/15(月) 12:19:08.24 ID:2YjvKDPc.net >>30 Cchar == UInt8 # false Cchar == Int8 # true
32 :デフォルトの名無しさん :2016/02/15(月) 12:21:09.84 ID:TvNTryet.net >>31 julia> pointer_to_array(ccall((:curl_version, :libcurl), Ptr{UInt8}, ()), n) できました!! ありがとうございます!!!
33 :デフォルトの名無しさん :2016/02/15(月) 18:04:10.07 ID:0lvw83wi.net 意味わからずbytestring多用するのは危険
34 :デフォルトの名無しさん :2016/02/16(火) 11:03:22.23 ID:OHS4PN3k.net 今はまだ julia 0.3.2 対応みたいだけど web から試せるよ https://try.jupyter.org/ IJulia をインストールすれば自分のサイトでもできるよ https://github.com/JuliaLang/IJulia.jl
35 :デフォルトの名無しさん :2016/02/16(火) 11:49:26.30 ID:kTgVK006.net >>14 ちょっと前から声が大きいだけで連投するうざいのが住み着いて2ちゃんはちょっとアレになったよね 筋が悪い
36 :デフォルトの名無しさん :2016/02/16(火) 12:08:19.40 ID:OHS4PN3k.net 日本語サイトしか見ない病だ
37 :デフォルトの名無しさん :2016/02/16(火) 17:07:24.65 ID:ZLhr12yF.net ツイッターでjulia検索してもひどい 最悪だ
38 :デフォルトの名無しさん :2016/02/16(火) 17:38:07.56 ID:3nSqd4oT.net 英語だが Julia をつかった科学計算を丁寧に解説しているサイト ちなみに著者の一人 Sargent はノーベル経済学賞をとっている http://quant-econ.net/jl/
39 :デフォルトの名無しさん :2016/02/17(水) 08:55:28.12 ID:onBH4M/w.net Python版はこちら http://quant-econ.net/py/
40 :デフォルトの名無しさん :2016/02/18(木) 11:45:57.02 ID:S96kZ0X7.net >>38 GJ 勉強になります ありがとう
41 :デフォルトの名無しさん :2016/02/18(木) 15:58:36.56 ID:HBijeS9p.net exe 化してみたら dll いっぱい作られて 200MB 超えるな exe なのにロードして実行されるまで時間かかりすぎる 普通に julia --precompiled=yes hoge.jl で実行する方が速かった python の exe 化と大して変わらん
42 :デフォルトの名無しさん :2016/02/18(木) 19:42:32.50 ID:AuqopEbQ.net 想像以上にアホの子かもな julia> "あいう"[end:end] "う" julia> "あいう"[end-1:end] ERROR: UnicodeError: invalid character index julia> "あいう"[end-3:end] "いう" julia> "あいう"[1:end] "あいう" julia> "あいう"[2:end] ERROR: UnicodeError: invalid character index julia> "あいう"[2] ERROR: UnicodeError: invalid character index julia> "あいう"[3] ERROR: UnicodeError: invalid character index julia> "あいう"[4] 'い' julia> length("あいう") 3 julia> length("1いう") 3 julia> ("1いう")[2] 'い' julia> ("1いう")[end] 'う' julia> ("1いう")[3] ERROR: UnicodeError: invalid character index
43 :デフォルトの名無しさん :2016/02/19(金) 09:48:06.21 ID:hw/X0Y/j.net >>42 # 文字列は文字の配列のように添字アクセスできます "This is a string"[1] # => 'T' # Julia では添字は 1 から始まります # ただし、UTF8 文字列の場合は添字アクセスではうまくいかないので、 # イテレーションを行ってください(map 関数や for ループなど)
44 :デフォルトの名無しさん :2016/02/19(金) 09:52:08.93 ID:hw/X0Y/j.net Pythonの実行速度に満足できないあなたに http://www.mwsoft.jp/programming/julia/python_to_julia.html 正直なところ、まだ足りないところも多い言語なので、 今の時点で飛び込んでもそんなに良いことはないかもしれません。 個人的には分析するデータの整形をさせたり、簡単なシュミレータを書き捨てる用途などで使っています。 適当に書いてもそれなりに速度が出るし記法もシンプルで書きやすいので、 Pythonよりも便利だと感じていますが、 ライブラリの揃いや信頼性などの問題で、前処理だけはJuliaでやって 肝心なところはPythonやRで、といった流れになることもしばしばです。
45 :デフォルトの名無しさん :2016/02/19(金) 10:01:01.67 ID:hw/X0Y/j.net Pythonの実行速度に満足できないあなたに http://www.mwsoft.jp/programming/julia/python_to_julia.html これからJuliaを始める方へ これからJuliaを始めようという方は、まずは下記ページに書かれているサンプルコードを眺めてみると、 どんな言語か理解できると思います。 Julia By Example http://www.scolvin.com/juliabyexample/ 統計関連のライブラリがどの程度揃っているかは、下記にまとめられています。 ちゃんとDataFrame的なものもあって、そこそこ揃ってはいます。 Julia Statistics https://github.com/JuliaStats 入門書などの情報は出版されれば下記に掲載されると思う。(まだ入門書なんて存在しねーけどな) Learning Julia http://julialang.org/learning/ 公式サイトのドキュメントも充実しています。充実し過ぎてどこから読めばいいのかわからなくなります。 Julia Documentation http://docs.julialang.org/ あとは挙動でわからないことがあれば、ソースを読もう。 わかりやすいシンプルなコードなので、意外と簡単に読めます。 言語作者が書いたコードに触れておくと勉強になるしね。 JuliaLang/julia - GitHub https://github.com/JuliaLang/julia 本当はもっと初見向きなサイトを紹介したかったんだけど、あまり見当たらない。 今の調子ならそのうち増えてくると思うので、 その手の本を書店で見かけるようになった時が始めるタイミングとしては良いんじゃないだろうか。 ※本項は更新情報があれば適宜変更します
46 :デフォルトの名無しさん :2016/02/19(金) 10:02:23.04 ID:hw/X0Y/j.net >>43 引用元わすれてた https://learnxinyminutes.com/docs/ja-jp/julia-jp/
47 :デフォルトの名無しさん :2016/02/19(金) 10:04:44.54 ID:hw/X0Y/j.net julia> run(`cmd /c dir`) したときは日本語が UTF-8 に変換されてるのかな julia> open(`cmd /c dir`) do f for l in eachline(f) println(chomp(l)) end end すると結果が違うような気がするけど気のせいかな julia> open("test_out.txt", "w") do w open(`cmd /c dir`) do r for l in eachline(r) println(w, chomp(l)) # これだとSJISで書き込まれているな end end end
48 :デフォルトの名無しさん :2016/02/19(金) 10:19:38.04 ID:hw/X0Y/j.net julia> (3+2im)*(3-2im) 13 + 0im julia> 1//3 + 1//3 + 1//3 1//1 julia> 2π 6.283185307179586 julia> r = 4 4 julia> 2πr ERROR: UndefVarError: πr not defined julia> 2π*r 25.132741228718345 実におしい
49 :デフォルトの名無しさん :2016/02/19(金) 13:47:52.38 ID:5RH0Tfsb.net >>11 ccall((:MessageBoxW, :user32), stdcall, UInt, (Ptr{Void}, Ptr{Cwchar_t}, Ptr{Cwchar_t}, UInt), C_NULL, [0x304C,0x3063,0xFF01,0x0000], [0x306C,0x308B,0x307D,0x0000], 0) この方が良くね?
50 :デフォルトの名無しさん :2016/02/20(土) 11:05:53.32 ID:Z/BOfpky.net ccall((:MessageBoxW, :user32), stdcall, UInt, (Ptr{Void}, Ptr{Cwchar_t}, Ptr{Cwchar_t}, UInt), C_NULL, pointer("がっ!"), pointer("ぬるぽ"), 0) これだと化けるから、 ccall((:MessageBoxA, :user32), stdcall, UInt, (Ptr{Void}, Ptr{Cchar}, Ptr{Cchar}, UInt), C_NULL, pointer("がっ!"), pointer("ぬるぽ"), 0) にしたんだがやっぱり化ける。 原因はわかるんだが、wchar_t の文字列は作れない子なの?
51 :デフォルトの名無しさん :2016/02/20(土) 11:46:21.48 ID:Z/BOfpky.net >>41 こういうことらしい。 julia> "ぬるぽ"[nextind("ぬるぽ", 0):end] "ぬるぽ" julia> "ぬるぽ"[nextind("ぬるぽ", 1):end] "るぽ" julia> "ぬるぽ"[nextind("ぬるぽ", 2):end] "るぽ" julia> "ぬるぽ"[nextind("ぬるぽ", 3):end] "るぽ" julia> "ぬるぽ"[nextind("ぬるぽ", 4):end] "ぽ" julia> "ぬるぽ"[nextind("ぬるぽ", 5):end] "ぽ" julia> "ぬるぽ"[nextind("ぬるぽ", 6):end] "ぽ" julia> "ぬるぽ"[nextind("ぬるぽ", 7):end] "" julia> "ぬるぽ"[nextind("ぬるぽ", end-1):end] "ぽ"
52 :デフォルトの名無しさん :2016/02/20(土) 11:59:22.33 ID:Z/BOfpky.net "るぽ"をendの差分で取るのはループしないかぎりむりぽか
53 :デフォルトの名無しさん :2016/02/21(日) 10:29:39.26 ID:zmvsu5mb.net >>49-50 julia> ccall((:MessageBoxW, :user32), stdcall, UInt, (Ptr{Void}, Ptr{Cwchar_t}, Ptr{Cwchar_t}, UInt), C_NULL, pointer(utf16("がっ!")), pointer(utf16("ぬるぽ")), 0) julia> ccall((:MessageBoxW, :user32), stdcall, UInt, (Ptr{Void}, Ptr{Cwchar_t}, Ptr{Cwchar_t}, UInt), C_NULL, pointer(wstring("がっ!")), pointer(wstring("ぬるぽ")), 0) >>42-43 >>51-52 julia> utf16("ぬるぽ")[end-1:end] "るぽ" julia> wstring("ぬるぽ")[end-1:end] "るぽ" どうしても UTF-8 のままが良いなら julia> s[prevind(s, end):end] "るぽ" http://docs.julialang.org/en/release-0.4/stdlib/strings/ 読め 結論 >>42 がアホ
54 :デフォルトの名無しさん :2016/02/21(日) 11:33:03.42 ID:zmvsu5mb.net 地雷満載 julia> length(utf16("あいう")) 3 julia> sizeof(utf16("あいう")) 6 julia> endof(utf16("あいう")) 3 julia> sizeof(utf16("あいう").data) 8 julia> endof(utf16("あいう").data) 4
55 :デフォルトの名無しさん :2016/02/22(月) 12:14:35.86 ID:Y1bHL8fN.net PythonよりUnicodeの扱いが親切だと思うω
56 :デフォルトの名無しさん :2016/02/22(月) 17:04:35.55 ID:Y1bHL8fN.net if __name__ == "__main__": みたいなのは無いんかな
57 :デフォルトの名無しさん :2016/02/22(月) 17:23:08.96 ID:Y1bHL8fN.net 自己解決 thx! https://groups.google.com/forum/#!topic/julia-users/ufpi8tV7sk8
58 :デフォルトの名無しさん :2016/02/22(月) 18:32:57.93 ID:QLpZ1xcH.net 馬鹿には無理
59 :デフォルトの名無しさん :2016/02/23(火) 05:19:15.92 ID:I8nTY0JT.net DLL は作れるのかな?
60 :デフォルトの名無しさん :2016/02/23(火) 12:24:16.92 ID:SVaKsmEW.net open(hoge) do f fuga(f) end みたいな do end 出来る関数ってどうやって作るんですか?
61 :デフォルトの名無しさん :2016/02/23(火) 12:56:21.77 ID:I8nTY0JT.net julia> ASCIIString <: AbstractString true julia> Array{ASCIIString, 1} <: Array{AbstractString, 1} false julia> Array{ASCIIString, 1} <: Array{Union{ASCIIString, UTF8String}, 1} false julia> Array{Union{ASCIIString, UTF8String}, 1} <: Array{AbstractString, 1} false julia> typeof(["abc"]) <: Array{ASCIIString, 1} true julia> typeof(["abc"]) <: Array{AbstractString, 1} false julia> typeof(["abc"]) <: Array{Union{ASCIIString, UTF8String}, 1} false これなんとかならんか?
62 :デフォルトの名無しさん :2016/02/25(木) 11:01:35.11 ID:xnX4JkuY.net 糞認定です。 おめでとう。
63 :デフォルトの名無しさん :2016/02/26(金) 14:18:09.06 ID:VQGl6zaq.net 「XXX を削除できません。 ほかの人またはプログラムによって使用されています。 ファイルを使用している可能性があるプログラムをすべて閉じてから、やり直してください。」 が出る場合、そのファイルを使用しているプロセスを知る方法はありますでしょうか あるよ ただ、簡単ならいくらMicrosoftが能無しでもそこのダイアログに誰が開いているか表示するだろう そのくらい面倒くさくまともな方法じゃないってことは察しろ
64 :デフォルトの名無しさん :2016/03/20(日) 10:27:12.46 ID:0HfdLt5e.net 未完成感半端ない
65 :デフォルトの名無しさん :2016/04/02(土) 12:07:37.96 ID:thGUj6UI.net 未来の言語
66 :デフォルトの名無しさん :2016/04/20(水) 14:02:09.01 ID:KhdkVfqP.net 予知能力
67 :デフォルトの名無しさん :2016/04/21(木) 15:08:23.44 ID:Jg/FpCZZ.net >>61 言いたいことは分かるけど 継承関係にないジェネリッククラスに継承関係を認めたら それはそれで問題が起きるから 特に配列の場合はパフォーマンスが犠牲になるので受け入れがたいし C++とかだとバグの温床なので「できて当然」という考えは捨てた方がいい
68 : ◆q23lfZvn.g :2016/04/30(土) 09:02:37.09 ID:FuZy8SxD.net 勉強中
69 :デフォルトの名無しさん :2016/05/01(日) 13:10:40.52 ID:tKi6j9CT.net 匿名通信(Tor、i2p等)ができるファイル共有ソフトBitComet(ビットコメット)みたいな、 BitTorrentがオープンソースで開発されています 言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか? Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします https://twitter.com/Lyrise_al ちなみにオイラはCovenantの完成が待ち遠しいプログラミングできないアスペルガーw The Covenant Project 概要 Covenantは、純粋P2Pのファイル共有ソフトです 目的 インターネットにおける権力による抑圧を排除することが最終的な目標です。 そのためにCovenantでは、中央に依存しない、高効率で検索能力の高いファイル共有の機能をユーザーに提供します 特徴 Covenant = Bittorrent + Abstract Network + DHT + (Search = WoT + PoW) 接続は抽象化されているので、I2P, Tor, TCP, Proxy, その他を利用可能です DHTにはKademlia + コネクションプールを使用します UPnPによってポートを解放することができますが、Port0でも利用可能です(接続数は少なくなります) 検索リクエスト、アップロード、ダウンロードなどのすべての通信はDHT的に分散され、特定のサーバーに依存しません 6
70 :デフォルトの名無しさん :2016/05/02(月) 15:31:15.58 ID:aR8AOrvI.net うざっ
71 :デフォルトの名無しさん :2016/05/02(月) 19:04:53.82 ID:tya74GVe.net >>1 http://www.slideshare.net/ussopyon/2-46383560
72 :デフォルトの名無しさん :2016/05/14(土) 14:39:51.17 ID:r8zKr16p.net あと10年はかかるんじゃね
73 :デフォルトの名無しさん :2016/05/16(月) 18:05:31.33 ID:DkcwsRla.net T.K.
74 :デフォルトの名無しさん :2016/05/18(水) 13:16:34.04 ID:u7J2zmgl.net まともな開発者が使うなら何でもいいんだよ juliaユーザーは一概にレベルが低いから信頼性の低いライブラリと化学反応を起こして爆発するのだ ただしnodeよりマシか
75 :デフォルトの名無しさん :2016/05/31(火) 06:58:34.84 ID:p6bvKsCE.net こうして思うとmatlabの功罪は大きいな
76 :デフォルトの名無しさん :2016/05/31(火) 13:36:58.59 ID:yIUZknFd.net 初心者に Fortran 教えるくらいなら Julia の方がマシ
77 :デフォルトの名無しさん :2016/05/31(火) 17:49:10.36 ID:yIUZknFd.net めも http://marui.hatenablog.com/entry/20120221/1329823079
78 :デフォルトの名無しさん :2016/06/02(木) 08:32:20.78 ID:O7OWJX/G.net Jupyter Notebookで説明書きの通りのコードを入れても動きません。 terminals are unavailable と表示されてるのですが、これが動かない理由でしょうか。
79 :デフォルトの名無しさん :2016/06/10(金) 16:36:24.64 ID:8yNz9kCr.net C資産との連携を強調してるけど JuliaでC呼ぶのは苦痛でしかない Cで書いた方がまし
80 :デフォルトの名無しさん :2016/06/11(土) 15:43:11.34 ID:iSPIsEmM.net 馬鹿には無理
81 :デフォルトの名無しさん :2016/06/13(月) 14:44:15.88 ID:zgrawcOE.net 本家も放置?
82 :デフォルトの名無しさん :2016/07/04(月) 12:10:46.03 ID:bmDp8Deu.net 相変わらずだな 514 デフォルトの名無しさん sage 2016/07/04(月) 01:22:47.14 a5Gl8mUE Juliaの開発、俺が引き受けるから科研費くれ という主張をしてみるか悩んでる 515 デフォルトの名無しさん sage 2016/07/04(月) 01:35:22.05 WZmggq2i Julia で検索したら、AV 動画見たばかりでワロタ w 516 デフォルトの名無しさん sage 2016/07/04(月) 01:36:38.53 WZmggq2i ありゃ、 AV 動画ばかりって書きたかったの… 517 デフォルトの名無しさん sage 2016/07/04(月) 01:44:34.13 Jqw/8rJ7 私も今まさにそれ思ってた>AVばっかり
83 :デフォルトの名無しさん :2016/07/05(火) 13:25:11.27 ID:3gyxqmIo.net Juliaってデータ分析というより数値計算じゃないの 全部インメモリの固定長配列にブチ込んでループぶん回す昔ながらのやつだよね
84 :デフォルトの名無しさん :2016/07/06(水) 12:37:52.43 ID:T23wVNy/.net 別にデータ分析以外の数値計算が出来ないと言っている訳じゃないし 昔ながらのやつを現代的に書けるというだけでも有意義だろう
85 :デフォルトの名無しさん :2016/07/06(水) 14:28:27.41 ID:X105+0ra.net なんで >>83 へのレスが >>84 みたいなことになるんだろ 文盲かな?
86 :デフォルトの名無しさん :2016/07/07(木) 11:04:48.07 ID:bjxB4lA1.net なんで >>84 へのレスが >>85 みたいなことになるんだろ 文盲かな?
87 :デフォルトの名無しさん :2016/07/13(水) 17:16:46.46 ID:Zm0ukFfg.net 文盲乙 A Summary of Features https://www.youtube.com/watch?v=B9moDuSYzGo Calling C Code http://docs.julialang.org/en/release-0.4/manual/calling-c-and-fortran-code/
88 :デフォルトの名無しさん :2016/07/15(金) 17:01:44.97 ID:8P+uiz2j.net 誤解されてるようなので >実際コード書いてても Python や C++ と比べて julia のコードって汚いんだよな 特定の条件がそろったときだけど 綺麗に描けることもある
89 :デフォルトの名無しさん :2016/07/15(金) 22:38:04.14 ID:3IYjBgbR.net 誤爆か 言語内DSLを別言語とみなすなら C++で綺麗に書けるものがjuliaで書くと汚いってことは考えにくいんだが? C++は数値を表す抽象型が標準にないのが致命的 そのくせ最近までサイズ固定の整数型がなかった pythonについてはラムダ式が好きになれない(汚いとは別だが) まぁjuliaに求めるものは綺麗さじゃなく実用性なんだ おっぱい的な意味で
90 :デフォルトの名無しさん :2016/07/18(月) 12:18:17.33 ID:DeXLreOM.net やっと気付いた 漏れはきっと end が嫌いなんだ
91 :デフォルトの名無しさん :2016/07/19(火) 12:43:59.43 ID:3sf6xm4M.net julia> reinterpret(Bool, 1) true julia> reinterpret(Bool, 2) false julia> reinterpret(Bool, 3) true julia> reinterpret(Bool, 4) false julia> reinterpret(Bool, 0) false julia> reinterpret(Bool, -1) true julia> reinterpret(Bool, -2) false ワロス
92 :デフォルトの名無しさん :2016/07/20(水) 12:33:08.99 ID:IKGpFUMW.net 笑いどころがわからない 配列用でないreinterpretはconvertと違って慎重に使うべきもの julia> reinterpret(Bool, 256) false これは気持ち悪い ……と開発者も思ったらしくv0.5ではエラーになる見込み
93 :デフォルトの名無しさん :2016/07/20(水) 21:10:41.79 ID:AXsJLLhK.net 間にscheme入ってるならpythonに近い文法に変換するのも簡単に出来るのでは?
94 :デフォルトの名無しさん :2016/07/20(水) 22:23:38.39 ID:IKGpFUMW.net pythonに近い文法を求めているならpython使えばいいんでは? てかschemeに何の関係が?
95 :デフォルトの名無しさん :2016/07/21(木) 18:47:37.68 ID:Vj/xPVWN.net S式でなんでもできるのは面白いな
96 :デフォルトの名無しさん :2016/07/21(木) 18:53:51.10 ID:IyjPITzN.net マクロで真っ黒
97 :デフォルトの名無しさん :2016/07/22(金) 11:45:49.87 ID:f6dSUOKk.net >>7-11 >>25 >>28 >>30-32 定義はmacro使うと楽 macro c(restype, fnc, argtypes) local args = [symbol("a", n) for n in 1:length(argtypes.args)] quote $(esc(fnc))($(args...)) = ccall($(string(fnc)), $restype, $argtypes, $(args...)) end end @c UInt32 printf (Ptr{Cchar},) @c UInt32 printf (Ptr{Cchar}, UInt32,) printf(pointer(Array{UInt8,1}([65,66,0,67,68,0,0]))) printf("%s\n", pointer(Array{UInt8,1}([65,66,0,67,68,0,0]))) macro m(lib, restype, fnc, argtypes) local args = [symbol("a", n) for n in 1:length(argtypes.args)] quote $(esc(fnc))($(args...)) = ccall(($(string(fnc)), $(Expr(:quote, lib))), $restype, $argtypes, $(args...)) end end @m libcurl Cint curl_free (Ptr{Void},) @m libcurl Ptr{Cchar} curl_getenv (Ptr{Cchar},) @m libcurl Ptr{Cchar} curl_version () v = curl_getenv("TZ") printf(v) curl_free(v) printf(curl_version())
98 :デフォルトの名無しさん :2016/07/22(金) 11:49:20.02 ID:f6dSUOKk.net >>9 macro w(lib, restype, fnc, argtypes) local args = [symbol("a", n) for n in 1:length(argtypes.args)] quote $(esc(fnc))($(args...)) = ccall(($(string(fnc)), $(Expr(:quote, lib))), stdcall, $restype, $argtypes, $(args...)) end end @w user32 UInt32 MessageBoxA (UInt32, Ptr{Cchar}, Ptr{Cchar}, UInt32,) MessageBoxA(C_NULL, "hage", "title", 1)
99 :デフォルトの名無しさん :2016/07/22(金) 13:42:42.08 ID:hQsD+JBa.net >>97-98 32bit 限定のコードを書くべきじゃないな
100 :デフォルトの名無しさん :2016/07/22(金) 15:31:36.78 ID:TotCshYe.net 呼び出すライブラリの仕様は確定しているのだから実用上問題ないのでは?
169 KB
新着レスの表示
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★
本文 スレッドタイトル 投稿者