Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    callmekohei
    @callmekohei
    できなさそう・・・
    あ、もしかして、さゆりんさんの言ってらっしゃることと逆のことやってるかも。。。。
    callmekohei
    @callmekohei
    失礼しました〜
    できました〜
    さゆりんさんの意図をきちんと汲みっとって
    できました〜
    Screen Shot 2019-07-12 at 7.51.00.png
    さゆりんさん!ありがとうございます!!!!!!
    ほんと、なんで僕は言われたことと逆のことを無意識にやってしまうのだろうwww
    欧米人の考えと日本人の考え方みたくやで(問題発言wwww
    cannorin
    @cannorin
    今 GitHub の fsugjp ってどなたが管理されてますか GitHub Pages 使って日本語の総合サイト的なものを作りたくなってきました
    cannorin
    @cannorin
    個人レポジトリでできなくもないんですが色んな人に書いてもらいたくて、勝手に新しく作るよりは fsugjp でやったほうがいい感じがした次第です
    Yukitoshi Suzuki
    @yukitos
    実質放置状態になっちゃってますね…
    Yukitoshi Suzuki
    @yukitos
    https://github.com/fsugjp/fsugjp/tree/master/docs
    ここって見えるんでしたっけ?docs下を公開するよう設定してみたのでPR貰えれば更新出来ると思います。
    cannorin
    @cannorin
    更新するたびに PR 送るのも大変なのでもしよければ RW アクセス頂けませんか><
    Yukitoshi Suzuki
    @yukitos
    いろんな人に書いて貰えるようにwikiのほうがよかったりしますか?
    cannorin
    @cannorin
    そうですね、それ用の repo 作って wiki を使うほうがいいかもしれません
    fsugjp/fsugjp の wiki でもいいかもですが
    あっ invite 確認しました、ありがとうございます
    cannorin
    @cannorin
    @yukitos ちまちま書き始めてます〜 https://github.com/fsugjp/fsugjp/wiki
    Yukitoshi Suzuki
    @yukitos
    いいですね! :+1:
    callmekohei
    @callmekohei_twitter
    すごいです!
    Kosei ABE
    @kos59125
    F# Advent Calendar 2019 https://qiita.com/advent-calendar/2019/fsharp まだ参加者がほとんどいないのでぜひ。
    Kosei ABE
    @kos59125
    let append : string list -> string = List.fold (fun (builder:StringBuilder) -> builder.Append) (StringBuilder()) >> fun b -> b.ToString()
    みたいな定義で最後の StringBuilder インスタンスが毎回生成されずに使いまわされるのって正しい挙動ですか?
    vain0x
    @vain0x
    StringBuilder の生成が特に遅延されていない (fun や lazy の中にはない) ので、1個しか生成されない (使いまわされる) ようにみえますが
    omanuke
    @omanuke_twitter
    一度生成したものを渡してるだけなので正しい挙動ですね
    Kosei ABE
    @kos59125
    やっぱりそうですよね。 let append x = ... という定義だと期待通りに動いて、なにも考えずに fun x -> f x |> g と f >> g が等価だと思って変換したら上記のようになってしまったけど、 mutable の場合は注意が必要と理解しました。
    Kosei ABE
    @kos59125
    × fun x -> f x |> g と f >> g が等価だと思ってた ○ let func x = f x |> g と let func = f >> g が等価だと思ってた
    omanuke
    @omanuke_twitter
    ああごめんなさい。
    foldがらみの話かと思ってその先の>>見てませんでした。
    そのStringBuilderの生成がいつ行われてるかで引数なしで>>だとその定義時点で生成される(であってますよね)。評価がいつされるかの話かなと
    Printfか何かしてみると確認早そう
    callmekohei
    @callmekohei
    ーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
    すいません。質問させてください。
    CSVProviderでサンプルCSVのファイルパスを相対パスで指定してます。
    callmekohei
    @callmekohei
    どのパソコンでも動作するのですが、
    昨日、遠隔でリモートPCにビルドした分を置いて実行するとエラーが出ます。
    コードもしくはビルドコマンドでなにか設定等があるのでしょうか?
    お知恵を拝借できればありがたいです。。。
    該当のコードは下記になります
    open System.IO
    open System.Text
    open FSharp.Data
    open Callmekohei.MyCsv.CsvUtil
    
    [<LiteralAttribute>]
    let path = __SOURCE_DIRECTORY__ + "./../csv/"
    
    type AAA = CsvProvider<Sample="foo.csv",Schema="請求先番号=string",ResolutionFolder=path>
    let aaa () =
      query{
        for v in AAA.GetSample().Rows do
          select (v.請求先番号)
      }
      |> DumpQuery
    
    [<EntryPoint>]
    let main argv =
      aaa ()
      printfn "こんにちは!"
      0
    ビルドコマンドは下記になります
    dotnet publish -c Release -r win10-x86 --self-contained true -p:PublishDir=.\publish
    エラー内容は下記になります
    callmekohei
    @callmekohei
    C:\Users\callmekohei\Documents\一時避難\★実験app>実験だよー.bat
    Unhandled exception. System.IO.DirectoryNotFoundException:
    Could not find a part of the path 'C:\Users\callmekohei\Desktop\templatefsharp2\csv\smart.csv'.
    at System.IO.FileStream.ValidateFileHandle(SafeFileHandle fileHandle)
    
    // C:\Users\callmekohei\Desktop\templatefsharp2
    // ⇒ ビルドしたパソコンのパス
    ちなみにビルドしたパソコンでは、どの場所においても正常に動作します
    omanuke
    @omanuke_twitter
    リモートデスクトップだとパスやら何やら元の環境が影響するとか何かあるのでは?
    よく知らんですが。
    いや昨日リモートデスクトップして動画再生したらこっちのPCで再生されてなるほどー色々モニョモニョいい感じにするのかーと思った次第
    vain0x
    @vain0x
    CsvProviderの詳細を確認していないので間違っているかもしれませんが、 __SOURCE_DIRECTORY__ はコンパイル時に文字列リテラル ("C:/Users/...") に展開されるので、path (ResolutionFolder) が絶対パスになっていると思います
    callmekohei
    @callmekohei
    おはようございます!
    path (ResolutionFolder) が絶対パスになっていると思います
    おっしゃる通りでした!
    内部的に相対パスに変換されてると勘違いしてました・・・
    確認コード