自動更新

並べ替え:新着順

ベストポスト
メニューを開く

返信先:@cfg17771855わかりました。関数a呼び出しと関数b呼び出しを連続でこの順で書いたら、とします。 そもそもdeferとfinallyで比較しているので、そこで関係ない関数やラムダの事例をひっぱってくる必要はないです。Whataboutismやっても意味がないです。

きしだൠ(K1S)@kis

メニューを開く

返信先:@cfg17771855いえ、関数は、関数aと関数bの順で書けば関数aの実装は関数bの実装よりも先に実行されますが、deferの場合はそうなりません。 また、「やりたいことがカバーできる」ではなく、確実性の高い記述で表現できることが大切です。処理のトポロジーの再現ができればいいという話ではありません。

きしだൠ(K1S)@kis

メニューを開く

返信先:@cfg17771855deferってreturn時に呼ばれるんですよね?そうするとfinallyの代用にならないように思います。finallyを抜けたあと処理を続けれません。処理を続けるにはなんらかのパターンが必要です。 また、記述位置と実行位置が違い、誤りが発生しやすいです。 「やろうと思えばできる」レベルかと。

きしだൠ(K1S)@kis

メニューを開く

返信先:@namnium_01というか終わったからこれ処理してーってまんまメッセージングのような気もするのでdropとか関数の終わりでmpscをsendするのが割と正攻法なのかも?何かしらマクロとかライブラリで糖衣構文が出たらそれがdeferなのでは、、?

yu-ichiro@s3i7h

メニューを開く

返信先:@s3i7htokio使っておきながら横着してstd::threadも使ってしまってたので、ちょっと試してみます! (それはそれとしてマルチスレッドになっただけで思うように動かない現状はやはり他言語のdeferより不便と思っちゃうよなとも…)

メニューを開く

ところでこのブロック引数の構文の提案、かっこいいし、ネスト減るの便利だし、良いと思うんだけど、どうですか?deferでやりたいのって概ねLoan Patternだと思うんだけど、これだとスッキリかけそうな気が

さっきつくった / Hiroya Fujinami@make_now_just

I experimentally implemented a new syntax to Ruby by modifying Prism. `|foo| = bar.baz; ...` is parsed as `bar.baz { |foo| ... }` under this modification. It seems good to reduce the problem of deep block nesting. (I believe it is better than some `defer` syntax ;) #rubykaigi

藤村 | CTO@STORES@ffu_

メニューを開く

Dropトレイトベタ褒めしてきたけど、雲行きが怪しい現象に当たりdeferが欲しいかもなぁと思ったり… いやなんか勘違いしてるだけだと信じたい

メニューを開く

ちょうどdefer使ってAPIのエラー情報作成する方法考えてたから結構参考になった speakerdeck.com/kuro_kurorrr/g…

Iwaseshi@470_aaa

メニューを開く

Markdown All in One で出力した HTML を見て分かったんだけど 拡張機能 bierner.markdown-mermaid をインストールすると得られる "C:\Users\user\.vscode\extensions\bierner.markdown-mermaid-1.23.0\dist-preview\index.bundle.js" を使って表示させているみたい defer って指定して読み込むとok pic.twitter.com/E0WwACRsXw

くろえいさん🍀@kuroyei

メニューを開く

返信先:@aqyuki21sdeferを使わず file := file.Open() _, err := file.Write("some text") if err != nil { return err } // 他の処理 file.Close() みたいなコード書くとエラー時にfile.Close()してないからリソースリークが起きます

メニューを開く

返信先:@aqyuki21sdeferの本質って遅延実行ではなく「エラーが起きようが正常終了しようが確実に後始末する」じゃないですか? (続く

メニューを開く

返信先:@mirror_ktなんだろう Dropは、リソースの開放っていうのが目的であってその過程でファイルクローズしたりする印象があって、それに対してdeferは、関数を遅延実行すること自体に意味があるみたいな… 言語化するのが難しいし、ほとんど変わらないような気もしますけど

メニューを開く

返信先:@aqyuki21sPythonのwithとかJavaのtry-with-resourceを「deferと似たようなもの」とするのなら、RustのDropも似たようなものなのではと思ってるんだけど、どう違うと考えているんだろう

メニューを開く

結構リプとか引用もらって似たようなことができたり、ライブラリ側が提供してる言語は有るんだなっていう学びを得た。 でもあれやな 言語機能として組み込んであるのは割と最近の言語からなのかな?(RustはDropトレイトでまたdeferとはちょっと違う気がするけど)

aqyuki@aqyuki21s

そう言えばGo以外で似たような機能を提供してる言語って結構少ないのか…

メニューを開く

deferとかgoroutineとかsyncパッケージとかの理解をしたわよ paiza.io/projects/baWJk… #paizaIO @paizaIO_jp

こーが@M4338_nami

メニューを開く

現状のどうにかしたいポイント: ・キャンセル時に呼ばれる処理が書けないので、RAIIになってないライブラリとの相互運用がしにくい。Goのdefer的な感じで処理を書けるようにしたい(ただ、C++はデストラクタで例外吐くとプログラムごと落ちるので何からの工夫が必要)…

masaka / まさかけー@masaka_k

メニューを開く

Blueskyの埋め込みのDefer.js対応及び中央寄せのコードを追加しました。

ふじやん@fujiyanx

メニューを開く

リソース解放時に呼ばれるDropとGoのdeferは少し目的が違うよなぁって顔 Dropはどちらかというと適切にリソースを解放するためのものでdeferは関数終了時に確実に呼ぶべき処理をその処理を必要とする場所の近くに書くためのもの(openとcloseとかlockとunlockとか)だと思ってる

メニューを開く

deferって値は返すけど処理は続くみたいなものかな

YTOK_cp@CpYtok

メニューを開く

Go の defer を無理矢理 C++ で再現するとこんな感じかの。 [C++] gcc HEAD 15.0.0 20240516 (experimental) - Wandbox wandbox.org/permlink/suoWi…

メニューを開く

あと、 defer ってオブジェクトにくっつくものではなく関数スコープで制御されるだけのものだし。 C++風疑似コードだとこんな感じ。 void f() { // defer_list のデストラクタで追加と逆順に関数を呼ぶ defer_list l; auto a = open_a(); l.add_defer([&]{ a.close(); }); ... }

メニューを開く

コピコンが無いのでリソースが複製されてもdefer文が増えないからという説がなるほどという感じだ(´・ω・`)

てらモス🌻@termoshtt

メニューを開く

これに相当するようなやつだと、 ド直球でコピーしたつもりが抜け殻で抜け殻を Colse することはない? → Go にはコピーコンストラクタがないのであり得ない んじゃ defer v.Close() 書いた後、途中で v = nil とかしたら? → それは破滅の可能性があるけど本当にそんなの書きたい?

メニューを開く

`defer` が実際発動するのは `function exit` の時ってのが最初『?』になった所(C++ 脳)

mattn@mattn_jp

マジ引用レスすると a := xxx.OpenHandle() defer a.Close() b := xxx.OpenHandle() defer b.Close() c := xxx.OpenHandle() defer c.Close() // a や b や c を使う と書いておくと関数終了時に c.Close() b.Close() a.Close() の順で呼び出してくれる賢いやつです。

眼力 玉壱號@objectxplosive

メニューを開く

Goまったく書かないので分かってないんだけど、deferってC++のauto_ptrと同じ問題起こらないん(´・ω・`)?

てらモス🌻@termoshtt

メニューを開く

RustはDropトレイトがあり、開放時をきちんとコンパイラとプログラマで面倒見ているので開放処理はDropトレイトの実装だけでいいから最初「そういやRustにはdeferないな……」となった

AHOXA/ライガー@ahoxa1rx

メニューを開く

Swiftにもあるよ、defer

κねこせん@necocen

メニューを開く

defer、うまくハマるとかなり便利

こまもか🦊@Comamoca_

Goのdeferすき

メニューを開く

返信先:@Comamoca_JSのusingもdeferのような使い方できます! zenn.dev/ventus/article…

🍣maguro@yusuktan

メニューを開く

【gaizao set】 5/17 池袋EDGE EDGE Ikebukuro presents “祭“ MADE//❤︎ 溺れる魚 令和2年4月24日、19時アルタ前 エレベーター 混沌&セックス  MC Pā Pā Pā[ご挨拶EDGE] ラスト・ダンス ありがとうございました! 次回、25日はdefer 企画とDEBUdanceの2ステご予約は↓ gaizao.jp/reserve

gaizao official@gaizao_official

メニューを開く

自分が知ってる言語だと ・Nim(defer) ・Zig(defer) ・Python(with) くらいしかないかも

aqyuki@aqyuki21s

そう言えばGo以外で似たような機能を提供してる言語って結構少ないのか…

こまもか🦊@Comamoca_

メニューを開く

Javaだとtry-with-resourceとかよね deferほど汎用的なものはあんまりないかも

メニューを開く

Go のあれってブロックで defer したかったら即時関数使えばいいからって事だと思うんだけど、それを見越したコード生成してるって事かな?(生成コード見たことない…

かりやみつらない 3042798775655@kariya_mitsuru

メニューを開く

そういや Vim script の defer ってどうなんだっけ(defer 使ってるプラグインを見たことはないw

mattn@mattn_jp

zig にも defer があるけど、あちらは関数スコープでなくブロックスコープな点がアレ。

heavenshell@heavenshell

メニューを開く

アレな点1「zig の defer はキャプチャしない」 twitter.com/mattn_jp/statu…

mattn@mattn_jp

zig の defer は Go と違って変数をキャプチャしないので var a = foo.init(); defer a.deinit(); a = foo.init(); defer a.deinit(); すると死ぬ定期。(またやってしまった)

メニューを開く

zig にも defer があるけど、あちらは関数スコープでなくブロックスコープな点がアレ。

aqyuki@aqyuki21s

そう言えばGo以外で似たような機能を提供してる言語って結構少ないのか…

メニューを開く

defer(&block) で、ブロックをensure内で実行すれば良いだけなので、メタプロを駆使すればRubyだけで実現できそうな気もする。 #rubykaigi

メニューを開く

Nim書いてるとdefer最高すぎるので全言語で使いたい

メニューを開く

んー、deferの機能は分かったけどユースケースがいまいち想像できないな #rubykaigi

expa / Shu Oogawara@expajp

トレンド18:30更新

  1. 1

    アニメ・ゲーム

    梅津秀行さん

    • 声優・梅津秀行さん
    • 機動戦士ガンダム00
    • 梅津さん
    • 間質性肺炎
    • 死去 68歳
    • レイズナー
    • 武内駿輔
    • 所属事務所
    • ナレーション
    • 御冥福をお祈り
    • 68歳
    • ご冥福をお祈り
    • ガンダム
    • イアン
    • 梅津秀行
    • NOTE
  2. 2

    ニュース

    Mastercard

    • Visa
    • ファンティア
    • JCBのカード
    • クレジットカード決済
    • クレカ決済
    • 2024年
    • ニコニコ動画
  3. 3

    名古屋地検

    • メ〜テレ
    • 不起訴処分
    • 名古屋テレビ
    • 在留カード
    • 逮捕された
  4. 4

    ニュース

    ウズベキスタン人

    • ひき逃げ
    • ウズベキスタン
    • 19歳
  5. 5

    ITビジネス

    民衆が火の中

    • 追放すべき
    • 基本的に同意する
    • 中国大使
    • 日本の民衆
    • 駐日大使
    • 日本の民衆が火の中に
    • 中国分裂を企てる戦車
    • 台湾独立
    • 鳩山由紀夫
    • 鳩山元首相
    • 日本の首相
  6. 6

    ひうらさとる

  7. 7

    ニュース

    横浜市教委

    • 横浜市教育委員会
    • わいせつ
    • 外部から
    • 就職できない
    • 50人
    • 隠蔽体質
    • 読売新聞
  8. 8

    エンタメ

    村瀬歩

    • 梶裕貴
    • 石川界人
    • 中村悠一
  9. 9

    スポーツ

    上林誠知

    • 牧秀悟
    • 馬場皐輔
    • 出場選手登録
    • 立岡宗一郎
    • 知野
    • 登録抹消
  10. 10

    スポーツ

    西川愛也

    • 田村龍弘
    • 鈴木博志
    • 水谷瞬
    • 出場選手登録
    • 愛也
    • 柿沼
    • 登録抹消
20位まで見る

人気ポスト

よく使う路線を登録すると遅延情報をお知らせ Yahoo!リアルタイム検索アプリ
Yahoo!リアルタイム検索アプリ