nim
1 :デフォルトの名無しさん :2018/03/01(木) 18:32:18.16 ID:vh/yy2VS.net https://nim-lang.org/
196 :デフォルトの名無しさん :2022/09/13(火) 12:06:13.19 ID:0kBS+x4w.net 言語仕様としてはモダンな言語の中で1番わかりやすいし Rustで書くほどでもない軽いスクリプトとかならNimで良いんだけど流行らんなあ やはり個人開発者の言語が流行ることはもうないのか
197 :デフォルトの名無しさん :2022/09/13(火) 15:06:32.01 ID:EXK746Ox.net >>192 >>195 ありがとうございました
198 :デフォルトの名無しさん :2022/09/13(火) 16:00:02.06 ID:EXK746Ox.net アク禁?
199 :デフォルトの名無しさん :2022/09/13(火) 16:03:11.36 ID:EXK746Ox.net var ws = newWideCString(8) # ws.len == 0 for n in 0..7: ws[n] = Utf16Char(65 + n) # ws.len == 8 ws[7] = Utf16Char(0) # ws.len == 7 echo ws # ABCDEFG と比べて
200 :デフォルトの名無しさん :2022/09/13(火) 16:05:36.05 ID:EXK746Ox.net なぜ拒否られる?
201 :デフォルトの名無しさん :2022/09/13(火) 16:06:26.54 ID:EXK746Ox.net 驚き最小の法則ですね var s = newString(8) # s.len == 8 for n in 0..7: s[n] = char(65 + n) # s.len == 8 s[7] = '\0' # s.len == 8 echo s # ABCDEFG
202 :デフォルトの名無しさん :2022/09/13(火) 16:07:15.32 ID:EXK746Ox.net 判った char だけダメなんね
203 :デフォルトの名無しさん :2022/09/13(火) 16:09:20.44 ID:EXK746Ox.net 驚き最小の法則 var ws = newWideCString(8) echo ws.len # -> 0 for n in 0..7: ws[n] = Utf16Char(65 + n) echo ws.len # -> 8 ws[7] = Utf16Char(0) echo ws.len # -> 7 echo ws # ABCDEFG と比べて var s = newString(8) echo s.len # -> 8 for n in 0..7: s[n] = char(65 + n) echo s.len # -> 8 s[7] = '\0' echo s.len # -> 8 echo s # ABCDEFG
204 :デフォルトの名無しさん :2022/09/13(火) 16:11:32.87 ID:EXK746Ox.net インド人もびっくり
205 :デフォルトの名無しさん :2022/09/13(火) 19:05:39.59 ID:ketgm+4i.net Win土人 Nim土人
206 :デフォルトの名無しさん :2022/09/16(金) 10:37:25.88 ID:8/QLgRNp.net proc testfunc(x: cint): cint {.exportc, cdecl, dynlib.} = return x と描かれたソースを nim c --app:lib -d:release hoge.nim でコンパイルするとカレントディレクトリに hoge.dll が生成されて import ctypes ctypes.cdll.LoadLibrary('./hoge.dll').testfunc(123) と実行出来たのですが nim cpp --app:lib -d:release hoge.nim でコンパイルするとカレントディレクトリに hoge.dll が生成されているはずなのに LoadLibrary のところで FileNotFoundError: Could not find module '(fullpath)\hoge.dll' (or one of its dependencies). Try using the full path with constructor syntax. と言われてしまいます 多分 or one of its dependencies が引っ掛かっているのではないかと思うのですが 何が足りないのでしょう? stdc++ の shared library ?
207 :デフォルトの名無しさん :2022/09/16(金) 10:57:11.84 ID:8/QLgRNp.net libstdc++-6.dll をコピーしてみましたがだめでした
208 :デフォルトの名無しさん :2022/09/16(金) 11:30:30.18 ID:lbCTEBn9.net nimpy nimodule
209 :デフォルトの名無しさん :2022/09/16(金) 13:53:03.44 ID:kdRP0PjD.net >>206 objdumpっていうプログラムを使えばどのdllを使っているか見れるよ。 使い方忘れたからググってね。 Nimをインストールしたときにgccもインストールしてればそのときにobjdumpも一緒にインストールされる。 他にも依存しているdllを見れるツールは色々あるけど
210 :デフォルトの名無しさん :[ここ壊れてます] .net >>209 windows用にもobjdumpあんの?
211 :デフォルトの名無しさん :2022/09/16(金) 16:24:53.42 ID:8/QLgRNp.net windows で nim 入れるときに一緒に入った mingw64 の中に objdump がありました
212 :デフォルトの名無しさん :2022/09/16(金) 16:34:58.81 ID:8/QLgRNp.net >>209 objdump -p hoge.dll | findstr "dll" で出て来たのが libgcc_s_seh-1.dll libstdc++-6.dll kernel32.dll msvcrt.dll でした libstdc++-6.dll だけではなく libgcc_s_seh-1.dll も必要でした 無事動作しましたありがとう
213 :デフォルトの名無しさん :2022/09/18(日) 09:51:11.78 ID:KpBP36NG.net >>203 https://github.com/tauplus/nim_doc_ja/blob/master/nim-meory_ja.md#%E6%96%87%E5%AD%97%E5%88%97%E3%81%A8%E3%82%B7%E3%83%BC%E3%82%B1%E3%83%B3%E3%82%B9Strings-and-seqs
214 :デフォルトの名無しさん :2022/09/22(木) 10:36:47.71 ID:u9/ouAZs.net import nimpy import nimpy/py_lib as lib initPyLibIfNeeded() let wx = pyImport("wx") let app = wx.App() let frm = wx.Frame(nil, -1, "Hello, work!") discard frm.Show() discard app.MainLoop() 簡単杉感嘆
215 :デフォルトの名無しさん :2022/09/22(木) 15:46:35.23 ID:zq3yyQIu.net こんなのや https://github.com/khchen/wNim こんなのも https://github.com/simonkrauter/NiGui
216 :デフォルトの名無しさん :2022/09/23(金) 15:49:32.66 ID:9eaiNZZz.net セルフホスティングくらいでけるのか?
217 :デフォルトの名無しさん :2022/09/23(金) 16:54:42.46 ID:COcKyTVz.net >>216 セルフホストってどういう意味で言ってるかは知らないけど Nim forum自体がNimで実装されてるよ。 https://github.com/nim-lang/nimforum
218 :デフォルトの名無しさん :2022/09/23(金) 20:37:31.28 ID:vOu7CdIL.net プログラミング言語でセルフホスティングっていったらコンパイラが自身の言語で実装できることだろうよ しかしできたとしてトランスパイラをセルフホスティングと呼んでいいのか
219 :デフォルトの名無しさん :2022/09/23(金) 22:00:58.25 ID:U9mPo3hK.net 出力がC言語か機械語かの違いぐらいだしトランスパイラだとしても普通にセルフホスティングって呼ぶよ
220 :デフォルトの名無しさん :2022/09/23(金) 22:27:48.78 ID:COcKyTVz.net https://github.com/nim-lang/Nim ここにNim言語のコンパイラがあるけどソースコードはNim言語で書かれている。 gccなどのCコンパイラとgitがあればソースコードからビルドできる。 ソースコードからビルドするときはまず古いバージョンのNimコンパイラをC言語に変換したものをダウンロードしてCコンパイラでビルドする。 それでビルドしたNimコンパイラで最新のNimコンパイラをビルドする。
221 :デフォルトの名無しさん :2022/09/24(土) 20:13:52.60 ID:7pBAspe1.net わりとどうでもいいな
222 :デフォルトの名無しさん :2022/09/25(日) 02:56:32.67 ID:z6wPsTgH.net Cコンパイラは一般的にC言語で実装されているが、どうやってCコンパイラをビルドするのか あらかじめビルド済みのCコンパイラを持ってきてビルドする ではそのビルド済みのCコンパイラはどうやってビルドされたというのか
223 :デフォルトの名無しさん :2022/09/25(日) 08:27:58.95 ID:bk7Mey46.net たぶん世界で最初のC言語はアセンブリかB言語かフォートランか何か別の言語で書かれていたんじゃないの?
224 :デフォルトの名無しさん :2022/09/26(月) 14:35:28.98 ID:heiSJ5NK.net BigBangは未だ仮説だ
225 :デフォルトの名無しさん :2022/09/28(水) 12:46:44.72 ID:bM9/UxvQ.net toSeq(0..360|24).map(rad) と描くと Error: type mismatch: got <SteppedSlice> と言われて怒られたので toSeq(0..360).filter(x => x mod 24 == 0).map(rad) で描き治したら一応動く訳だが 0..360|24 観たいに描く方法は?
226 :デフォルトの名無しさん :2022/09/28(水) 13:40:07.41 ID:tqdPdMIm.net iterator `|`(x: HSlice; y: int): int = みたいな演算子のイテレータを定義すればいいじゃん。
227 :デフォルトの名無しさん :2022/09/28(水) 17:12:46.81 ID:XnHyDYU1.net nim 1.6.8 出た
228 :デフォルトの名無しさん :2022/09/29(木) 21:45:04.30 ID:9HIV6ABQ.net ウィ
229 :デフォルトの名無しさん :[ここ壊れてます] .net >>226 iterator items(s: SteppedSlice): int = var c = s.a while c <= s.b: yield c c += s.step を定義したらイケました 有賀豚
230 :デフォルトの名無しさん :[ここ壊れてます] .net ニンニン
231 :デフォルトの名無しさん :2022/10/22(土) 14:42:48.48 ID:Q+2x5vm1.net 本日のNimConf2022期待age
232 :デフォルトの名無しさん :2022/11/02(水) 12:51:11.01 ID:VT3BATxp.net 1,2ヶ月くらい前に Nim言語のマニュアル日本語訳がOSDNのページにアップされていて これで5年後には結構人気が出るかもと喜んでいたら 突然ページが消滅してショックだった キャッシュを探したけど発見できないので コピー持ってる人がいたらどこかにアップしてもらえらばありがたいです (ライセンス上問題が無ければですが)
233 :デフォルトの名無しさん :2022/11/02(水) 22:26:34.03 ID:AEY2Eek1.net 古いキャッシュならInternet Archiveにあった https://web.archive.org/web/20201128232605/http://nim-lang-081.osdn.jp/ https://web.archive.org/web/20200928154858/http://nim-lang-081.osdn.jp/docs/manual.html まあキャッシュ古すぎて更新追いついてないけど
234 :デフォルトの名無しさん :2022/11/02(水) 22:33:40.08 ID:AEY2Eek1.net https://ja.osdn.net/users/megumi_engines/projects/ このひとがオーナーになってるプロジェクトの1つみたいだけど、Twitterのアカウントも消えちゃってるね プライベートが忙しくなったのかな
235 :デフォルトの名無しさん :2022/11/03(木) 15:08:48.38 ID:lETVCa2o.net Last Update: 2022-09-21 01:12 Nim プログラミング言語 - 非公式日本語版 (翻訳活動終了)に関する活動はすべて終了しました。リポジトリの再公開予定はありません。 理由はよう判らん githubにfork無かったかな
236 :デフォルトの名無しさん :2022/11/04(金) 07:27:29.10 ID:7DKhUjkg.net 日本語訳マニュアルの代わりになるかどうかはわからんけど amazonで日本語のNim言語の書籍が売られてるよ。
237 :デフォルトの名無しさん :2022/11/05(土) 00:35:21.38 ID:mvfmSa9B.net 当時高校生の描いたやつか CやC++との連携について 一行しか描かれてなかったな
238 :デフォルトの名無しさん :2022/11/06(日) 13:47:02.47 ID:4CeLTSQg.net c2nim にがっかり感なんだけど こんなもん? それとも使い方間違ってる? 期待し過ぎ?
239 :デフォルトの名無しさん :2022/11/06(日) 16:29:46.57 ID:zKDylNc8.net 単純化した具体例がないとなんとも
240 :デフォルトの名無しさん :2022/11/06(日) 16:42:07.10 ID:06z0Icrt.net わかっているのかもしれないけど、c2nimはどんなC言語のコードもNim言語に変換するものではない。C言語ライブラリをNim言語から使うためのバインディングをCのヘッダーファイルから生成するツールみたいなものだ。 c2nimに似たことができるこんなツールもあるよ。 https://github.com/PMunch/futhark
241 :デフォルトの名無しさん :2022/11/07(月) 12:40:52.04 ID:1sAmX+SP.net >>233 全く使えないキャッシュだな
242 :デフォルトの名無しさん :2022/11/07(月) 12:44:41.58 ID:1sAmX+SP.net >>232 3年前の nim 1.4.0だけど Nim日本語マニュアル https://github.com/tauplus/nim_doc_ja
243 :デフォルトの名無しさん :2022/11/07(月) 13:21:56.37 ID:V8od12Ai.net ダメだこりゃ みんなでzigに移動しよう
244 :デフォルトの名無しさん :2022/11/07(月) 14:15:04.63 ID:xn4jxoWB.net いーんだよ グリーンだよ
245 :デフォルトの名無しさん :2022/11/08(火) 12:57:20.87 ID:CnIxTlte.net template hoge(fuga: string): string = fmt"{fuga}" 観たいなときに fuga が undeclared になるんだけどなんで?
246 :デフォルトの名無しさん :2022/11/08(火) 13:05:00.14 ID:CnIxTlte.net >>240 なるほど良さげ Sounds great, what's the catch? Futhark is currently in an alpha state. It currently doesn't support C++, and it doesn't understand things like function-style macros. It might also mess up on definition types I haven't seen yet in the small handful of libraries I've tested it against. All of these things are things I hope to get fixed up.
247 :デフォルトの名無しさん :2022/11/08(火) 13:15:11.71 ID:CnIxTlte.net >>245 自己レス 出来ました本当にありがとうございました template hoge(fuga: string): string = block: let injectedfuga {.inject.} = fuga fmt"{injected_fuga}" https://qiita.com/momeemt/items/000d1f6c384f4f00e103
248 :デフォルトの名無しさん :2022/11/08(火) 18:53:20.46 ID:nCLZIP1Q.net >>247 それは公式ドキュメントのここに書いてあるじゃないですか。 https://nim-lang.org/docs/strformat.html#limitations
249 :デフォルトの名無しさん :2022/11/08(火) 19:07:14.22 ID:2BJbmpY0.net Pythonスレでテンプレになってる内容をNim用に変更したので 次スレからはテンプレにしてください -----ここから Nimの★ソースコードをそのまま5ちゃんに貼るとインデントが崩れてチヌ★ 【【【複数の連続半角スペースはなにもなかったことにされる&タブは普通には入れられない】】】掲示板の仕様なので、 プログラム文は↓等の、いわゆるコードうp用サイトに貼ってこいください。 ttps://glot.io/new/nim 結構使える。 ttps://play.nim-lang.org/ 本家。 ttp://ideone.com/ デフォ設定はC用のため、言語選択ボタン押下がピコ手間かも。 ttp://pastebin.com/ まずまずシンプル。 -----ここまで
250 :デフォルトの名無しさん :2022/11/09(水) 22:27:24.03 ID:5vHWfdFN.net 判り初めた my Revolution
251 :デフォルトの名無しさん :2022/11/10(木) 13:14:50.85 ID:JZ2iIpp8.net 試してみた 本家 https://play.nim-lang.org/#ix=4ftO スッキリ https://glot.io/snippets/gf9x33imvc ダメぽよ(実行時エラー?) https://ideone.com/9BYjHA (たまに死ぬよねこのサイト) 貼るだけ? https://pastebin.com/07h9Zjrx ideoneがダメなのはバージョンの問題?
252 :デフォルトの名無しさん :2022/11/10(木) 13:25:08.92 ID:JZ2iIpp8.net これで逝けました https://ideone.com/HBEKZu pragmaのNimNodeを指定出来なかったらしい ideone の Nim は (nim 0.19.4)
253 :デフォルトの名無しさん :2022/11/10(木) 14:16:57.58 ID:JDmtuJFO.net https://wandbox.org/
254 :デフォルトの名無しさん :2022/11/10(木) 15:04:27.30 ID:JDmtuJFO.net ↑のWandboxでも最新の安定版Nimを使えるしコードを共有できる。
255 :デフォルトの名無しさん :2022/11/10(木) 15:55:36.21 ID:hnXF7Xx/.net ここまでのまとめ ttps://glot.io/new/nim 結構使える ttps://wandbox.org/ 最新のNim使える ttps://play.nim-lang.org/ 本家 ttp://pastebin.com/ ソース貼り付けのみ
256 :デフォルトの名無しさん :2022/11/10(木) 16:23:45.65 ID:j+QMfGd1.net やっぱオフサイドスタイルはクソかよ。
257 :デフォルトの名無しさん :2022/11/10(木) 16:52:41.86 ID:JZ2iIpp8.net >>253 wandboxだと(っていうかそれ以外でもかもだけど) 実行ボタンの上に $ nim c ./prog.nim って表示されてて c を cpp に変更したくても出来ない 左上の「コンパイルオプション」らしい枠に cpp を入れると $ nim c ./prog.nim cpp になったわ
258 :デフォルトの名無しさん :2022/11/10(木) 20:00:36.53 ID:JDmtuJFO.net >>257 確かにwandboxだとnim cppでコンパイルできないっぽいね もしかしたらgithubのwandboxリポジトリに要望を出せば対応してくれるかもしれない。もしくは自分で機能を実装してpull requestを出すか
259 :デフォルトの名無しさん :2022/11/11(金) 10:16:18.33 ID:8dOB0zbX.net ここは未完成なのかな 日本語マニュアルっぽいけど https://2vg.github.io/Nim-World/
260 :デフォルトの名無しさん :2022/11/12(土) 14:40:51.16 ID:OIoQvXCU.net 自分で育てる感覚楽しいですね
261 :デフォルトの名無しさん :2022/11/15(火) 13:26:12.68 ID:QGmQMBHU.net type Hoge* = object fuga*: int としないで type HogeObj* = object fuga*: int Hoge* = ref HogeObj とするのは必須?習慣? 前者のデメリットは DeepCopy だというのは判るのですが 毎回後者を使った方が良い?
262 :デフォルトの名無しさん :2022/11/16(水) 09:07:52.80 ID:qCq9+PtI.net {.byref.} じゃね?
263 :sage :2022/11/16(水) 13:30:51.35 ID:4BSq9VuL.net 横からだが >>262 のbyrefと >>261 は完全に等価?
264 :デフォルトの名無しさん :2022/11/16(水) 15:57:06.50 ID:z+sJwdsY.net proc 読んだとき ref のフリをする fake が 259
265 :デフォルトの名無しさん :2022/11/16(水) 18:16:18.08 ID:kOxph/zs.net ref objectは一つのオブジェクトを複数のオブジェクトから参照したいときや継承使ってオブジェクト指向なコードを書くときに必要となる。 それ以外の場合はrefのついていないobjectのほうが速くなることが多い。 ref型は常にヒープに確保されポインタ経由でアクセスされるけどobjectだとスタックに確保できるしポインタで間接的に参照する必要もない。 object型のseqだとメモリ上に連続して確保されるけどref object型のseqにするとメモリ上に連続して確保されるとは限らないからキャッシュミスが起きやすくなる。 ある程度大きなobjectはプロシージャに渡すときに自動的にポインタ経由で渡されるからコピーのコストが問題になることがあんまりないと思うよ。 C++で言えばobjectはstructをそのまま使っている感じでref objectはstructをstd::shared_ptrごしに使っている感じ。
266 :デフォルトの名無しさん :2022/11/17(木) 09:41:27.60 ID:V4QZv0Fq.net proc incx(i: int): int = let j = i {.emit: "++j;".} result = j echo incx(5) https://glot.io/snippets/gfgq0p65a6 let で定義された変数も書き換え可能なんですね素敵ですね
267 :デフォルトの名無しさん :2022/11/17(木) 09:41:55.68 ID:V4QZv0Fq.net >>262-263 全く別物
268 :デフォルトの名無しさん :2022/11/17(木) 09:45:16.34 ID:V4QZv0Fq.net >それ以外の場合はrefのついていないobjectのほうが速くなることが多い。 これはどうかなぁ 遅くなることの方が多いと思うが
269 :デフォルトの名無しさん :2022/11/17(木) 10:53:32.89 ID:hYmfXxMP.net >>268 どうしてrefのついてないobjectのほうが遅くなる場合が多いの?
270 :デフォルトの名無しさん :2022/11/17(木) 14:28:18.19 ID:hYmfXxMP.net >>266 emit pragma使っているんだからNimの安全性は無効になる。 rustでunsafeを使うようなもの。
271 :デフォルトの名無しさん :2022/11/17(木) 15:18:49.83 ID:fBlcqeZM.net >>265 >ある程度大きなobjectはプロシージャに渡すときに自動的にポインタ経由で渡されるから ってことは {.byref.} 描く必要無い?
272 :デフォルトの名無しさん :2022/11/17(木) 17:33:28.89 ID:7oSKGzG8.net >>271 自動でやるのは関数の引数にオブジェとを渡した時だから それ以外にコピーが頻繁に発生しないなら byrefいらないんじゃね?
273 :デフォルトの名無しさん :2022/11/17(木) 18:51:38.00 ID:hYmfXxMP.net >>271 https://nim-lang.org/docs/manual.html#procedures-var-parameters に var parameters are never necessary for efficient parameter passing. Since non-var parameters cannot be modified the compiler is always free to pass arguments by reference if it considers it can speed up execution. って書いてあります。
274 :デフォルトの名無しさん :2022/11/17(木) 19:03:15.70 ID:hYmfXxMP.net >>271 https://nim-lang.org/docs/manual.html#foreign-function-interface-byref-pragma Nim manualではbyref pragmaがForeign function interfaceの章の下にある。 つまりbyref pragmaはC/C++の関数に引数をポインタ渡ししなきゃいけないときに使うもの。 それ以外のときに使う必要性はほぼ無いってこと。
275 :デフォルトの名無しさん :2022/11/17(木) 21:39:23.14 ID:ArWNCDPA.net >>268 そんな速度差気付くことある?
276 :デフォルトの名無しさん :2022/11/18(金) 05:58:57.10 ID:AmxJEdx7.net 君らスタックの消費は気にならんのけ?
277 :デフォルトの名無しさん :2022/11/18(金) 06:16:37.43 ID:IYaGyAsl.net >>276 10kバイト以上のでかいobjectをたくさん使うとかならスタックを使わないようにref objectにしてヒープに確保してもいいと思う。 けどそんなにでかいobject型のローカル変数をたくさん使うことってあんまりないきがするけど。
278 :デフォルトの名無しさん :2022/11/18(金) 09:39:59.23 ID:IJuokuF8.net たとえば https://qiita.com/dumblepy/items/8d13592d6760d0155d89 >オブジェクトの宣言にはref objectを使います。 >Nimでは関数の引数に入れられた変数の容量に応じてコンパイラが自動で値渡し/参照渡しを調節しますが、 >これは挙動の予測が付かずバグの原因になりえます。 >ref objectでオブジェクトを宣言していれば必ず参照渡しになるので、 >アプリケーション開発ではこちらに統一しましょう。 みたいなことが
279 :デフォルトの名無しさん :2022/11/18(金) 10:17:44.40 ID:IJuokuF8.net 問題無い訳ではないとも https://flat-leon. はてぶろ.com/entry/nim_arg_pass バージョンや記事の年代に気を付けないといかんのかね
280 :デフォルトの名無しさん :2022/11/18(金) 11:42:20.25 ID:IJuokuF8.net 古いけどここの議論は判り易い https://forum.nim-lang.org/t/1207
281 :デフォルトの名無しさん :2022/11/18(金) 11:48:22.19 ID:ygRIcUIa.net >>273 それは var の説明であって ref の説明ではないですね
282 :デフォルトの名無しさん :2022/11/18(金) 12:02:19.50 ID:IYaGyAsl.net >>278 >>281 refのついた型またはvar引数は常に引数を参照渡し(ポインタのコピー)する。 refやvarがついてない場合は引数のサイズにあわせてコピー渡しか参照渡しになるが、どちらにせよプロシージャ内で引数を変更するのは禁止
283 :デフォルトの名無しさん :2022/11/18(金) 12:10:00.28 ID:IYaGyAsl.net だからデフォルトの引数の渡し方でそれがコピー渡しになろうが参照渡しになろうがそれで挙動が変わったりバグの温床になることはない。 ただしaddrとかemit, Assembler statementなどのNimが安全性を保証してない機能を使う場合は例外だ。
284 :デフォルトの名無しさん :2022/11/18(金) 12:24:09.04 ID:IJuokuF8.net 参照とか reference とか同じ名前だから混同してるのかも知れないが Nim の参照型と C++ の参照型は全く別物 C++ の引数で使う参照型 & は Nim では var の方が近い Nim の ref は C++ ではポインタ * と思った方が良い Nim では GC で管理されるポインタが ref GC で管理されないポインタが ptr
285 :デフォルトの名無しさん :2022/11/18(金) 17:46:16.11 ID:PNsYUFFf.net これ使うか使わないかでも全然違うのよね --gc:arc
286 :デフォルトの名無しさん :2022/11/18(金) 18:35:09.65 ID:yVVkBIHa.net 最近は --mm:arc
287 :デフォルトの名無しさん :2022/11/19(土) 16:28:59.40 ID:F8GIHVyH.net --mm:orc 推奨
288 :デフォルトの名無しさん :2022/11/19(土) 17:55:05.22 ID:lavOlnrp.net Nim2では--mm:orcがデフォルトになるらしいぞ。 みんな知ってると思うけど--mm:arcだともし循環参照があったときにメモリリークするぞ。
289 :デフォルトの名無しさん :2022/11/19(土) 19:05:39.54 ID:7QNjN12J.net Nim2なんて10年以上先
290 :デフォルトの名無しさん :2022/11/20(日) 10:26:07.81 ID:MUgzJmMj.net >>278 のリンク先なんか 「Nimでアプリケーション開発をするための設計のベストプラクティス」 みたいにイキってるけど 信用していいの?
291 :デフォルトの名無しさん :2022/11/20(日) 11:36:46.79 ID:h2bm0L4T.net object type 全部 ref 付けろ教のひと たまにいるよね 迷惑
292 :デフォルトの名無しさん :2022/11/21(月) 13:35:10.22 ID:LzW8OiBh.net 割と実用になるわね https://pastebin.com/Ry2wTRHi
293 :デフォルトの名無しさん :2022/11/22(火) 09:38:49.09 ID:E0zMoWY7.net 理由を示さないお作法は無視していい
294 :デフォルトの名無しさん :2022/11/24(木) 09:24:22.39 ID:qRYWlPaY.net なんでもかんでもref付けろと しつこく強要してる人は あたまおかしい 大抵は{.byref.}で用足りる
295 :デフォルトの名無しさん :2022/11/24(木) 15:02:15.10 ID:7i9tpoXw.net {.byref.}はnimからC/C++の関数を使うときに引数をポインタで渡しているときに使うもの。 それ以外では使う意味はないよ。 Nimはちゃんと最適な方法で引数を渡すから必要でもないのに{.byref.}とかvarとかつける必要はない。
111 KB
新着レスの表示
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver.24052200
本文 スレッドタイトル 投稿者