【Lua】組み込み系言語総合 その6【Squirrel】
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001デフォルトの名無しさん
2013/03/10(日) 15:10:32.28使われるプログラミング言語についてのスレッドです
まとめwiki(なにか質問する前に必ずみること!)
http://wikiwiki.jp/lua/
その他の参考URLは>2から
■前スレ
【Lua】組み込み系言語総合 その5【Squirrel】
http://toro.2ch.net/test/read.cgi/tech/1321063450/
■過去スレ
その4 http://hibari.2ch.net/test/read.cgi/tech/1301414458/
その3 http://hibari.2ch.net/test/read.cgi/tech/1272643397/
その2 http://pc12.2ch.net/test/read.cgi/tech/1243210301/
その1 http://pc12.2ch.net/test/read.cgi/tech/1205208141/
プログラミング言語 Lua
その3 http://pc11.2ch.net/test/read.cgi/tech/1160799232/
0878デフォルトの名無しさん
2016/04/08(金) 18:15:07.93ID:QKtAKDZQif err ~= nil then return err end
これを参照渡しのように f(seterr) と書くのは合理的だと思う
人間がみんな合理的に行動すればコミュ力は重要ではないかも
0879デフォルトの名無しさん
2016/04/08(金) 21:19:50.62ID:ZsT2Hxo0どう合理的なんだ?
seterrのエラーチェックしてないからイコールなコードでもないしどういう利点が有るのか説明してよ。
r=assert(f());
のような書き方出来なくなるし
0880デフォルトの名無しさん
2016/04/08(金) 21:32:21.04ID:QKtAKDZQ0881デフォルトの名無しさん
2016/04/08(金) 22:34:01.66ID:NMv2dsC8日本語でおk
JavaScript でいう Promise の reject ハンドラのような意図か?
Luaは例外処理 (try-catch) が書き難いから、その手の用途なら必要性は理解できる。
0882デフォルトの名無しさん
2016/04/09(土) 01:02:16.06ID:EFL/mBbR何もしないで続行するのは自由だからそれでいいけど
後で念のため再度エラーチェックする自由も欲しい
0883デフォルトの名無しさん
2016/04/09(土) 02:22:04.50ID:u1ofpue+0884デフォルトの名無しさん
2016/04/09(土) 07:21:19.22ID:FoBfIIvs0885デフォルトの名無しさん
2016/04/09(土) 07:34:56.67ID:u1ofpue+そうかもな、どういう場面か具体的なコードで示してくれるとありがたい
合理的なコードならありふれてるよね?
あと例外は複雑になりやすいからGoとかでも例外は排除して多値でエラー返すようにしてる
0886デフォルトの名無しさん
2016/04/09(土) 08:25:05.90ID:WDrzc2WmむしろLuaもGoも複数の返値を持てることがポイントだと思う。
{ 本来の返値, エラー? } のペアを返すという発想で、合理的。
「例外」という別口をわざわざ用意しなくて良くなった。
ただ、All or Nothing のトランザクション等、処理事にエラー値の確認が面倒というのも想像できる。
その場合、Luaの流儀なら >>879 の assert のように、エラー値を例外ジャンプに変換する関数で包むべきなんだろうな。
0887デフォルトの名無しさん
2016/04/09(土) 08:38:40.76ID:FoBfIIvs関数が関数テーブルに構造化されている場合、多値を返すと他の関数と戻り値の仕様がごちゃごちゃになってくるので、引数のレベルで疎結合にしておきたい。
0888デフォルトの名無しさん
2016/04/09(土) 08:50:59.47ID:EFL/mBbR嘘だとわかる場面に出くわした
0889デフォルトの名無しさん
2016/04/09(土) 09:01:44.19ID:WDrzc2Wm関数テーブルに構造化されていると言うなら、
引数や返値含め、全ての関数は同じ型であるべきだろう。
それぞれが違うなら、それは構造化ではなく寄せ集めだ。動的型言語に甘えてる。
0890デフォルトの名無しさん
2016/04/09(土) 09:19:31.93ID:l8xjVqJCしなくていいという理由が大きいと思うが。
タプルを返せるのはステータスを参照型の引数に返すよりは合理的だとは思うが
例外の代用になるかというとそれはちょっと違うと思う。
0891デフォルトの名無しさん
2016/04/09(土) 09:23:54.21ID:WCRIlqKIいずれにせよtry-catch-fainalyは標準で欲しいな
0892デフォルトの名無しさん
2016/04/09(土) 09:43:40.75ID:EFL/mBbR失敗時の記述が不要というのはexitでもできる
スレッドがあるならスレッドを止めてもいい
なので本当の理由は、プロセスやスレッドの起動・再起動が遅すぎるからじゃないか
0893デフォルトの名無しさん
2016/04/09(土) 11:18:07.50ID:8JT9QS2Iというかオプソなんだし気に入らないなら修正すりゃええやん
他と互換性なくていいならやりたい放題なんだし、
その修正を公開してメジャーになったとしたらバックポートしてくれるかも知れんでよ
0894デフォルトの名無しさん
2016/04/09(土) 11:28:03.33ID:WDrzc2Wm旧来の書き方がしたいならばその通りなんだが、
非同期処理が一般的になってきた昨今では、最良かどうかは分からない。
tryブロック内で処理が同期的に完了するとは限らないから。
タプル返しも、error/pcallも、rejectハンドラ渡しもできるから、現状のLuaで十分汎用性はある。
せいぜい構文糖のためにパーサを改造したくなるくらい。
0895デフォルトの名無しさん
2016/04/09(土) 12:43:02.89ID:FoBfIIvsただのトレードオフ。
どこを重視するかは自由。
0896デフォルトの名無しさん
2016/04/09(土) 13:38:58.58ID:u1ofpue+引数にしたら引数の仕様がごちゃごちゃになってくると思うんだけど。
引数を受け取るだけの関数を渡せとなるなら尚更
0897デフォルトの名無しさん
2016/04/09(土) 14:08:41.76ID:u1ofpue+別にluaに限定する必要ないよ
引数で返すのが合理的に見えるコードであれば
C言語みたいに返値を一つしか返せないからって理由なのは無意味だから外して欲しいけど。
>>890
何もしなかったらそのままアプリが終了するだけじゃん
個人的にはtry catchは要らないかな。Goが例外無くしたのと同じ理由で
0898デフォルトの名無しさん
2016/04/11(月) 08:27:07.88ID:k7zVs+aP確かにGo的なのでいいかもな。
ttp://www.geocities.jp/m_hiroi/golang/abcgo15.html
足りないのはdeferとrecoverかな?
deferは__gcメタテーブル使えばできそうだけど標準で欲しいな。
recover はわからん。
0899デフォルトの名無しさん
2016/04/11(月) 08:58:49.07ID:WTwt1caFdeferのようなものは例外とは関係無いところが理由で欲しいね
途中returnでclose書くの面倒とかそういう所で
gcに任せてたらいつ実行されるかわからんし
recoverはpcallでいいんじゃないかな
0900デフォルトの名無しさん
2016/04/11(月) 09:29:17.60ID:AFQC7gKw0901デフォルトの名無しさん
2016/04/11(月) 10:19:40.88ID:UaC8pXHzLuaのソースを読んでると
スコープを抜けるタイミングでクロージャのupvalueを閉じる処理があるから
その辺りを改造すると、スコープ終了時に何かする機能が追加できる気がした。
0902デフォルトの名無しさん
2016/04/12(火) 00:55:24.80ID:JDMXFvBX0903デフォルトの名無しさん
2016/04/12(火) 01:26:42.97ID:fKt10c2M0904デフォルトの名無しさん
2016/04/13(水) 22:16:47.11ID:PD+aqUpV負荷が高いものはCやC++で書けばいいしやっぱ速度はそれ程重要じゃないのな
0905デフォルトの名無しさん
2016/04/13(水) 22:23:51.85ID:7YNUgm8C例えば、メッセージテーブルみたいなのをloadfileで読み込んで使いたいです。
MSG.PLEASE_INPUT_ANY_KEY
0906デフォルトの名無しさん
2016/04/14(木) 08:00:44.86ID:PaNxRcDiスコープというのはブロック単位のことだと思うんだけど
確かにブロック単位でdeferができれば便利ですな。
個人的にはdeferという単語はイマイチだけど
0907デフォルトの名無しさん
2016/04/14(木) 08:31:22.32ID:PaNxRcDi0908デフォルトの名無しさん
2016/04/14(木) 12:08:10.65ID:z7Vrjvws何か勘違いしてない?
0909デフォルトの名無しさん
2016/04/14(木) 17:46:31.38ID:PaNxRcDiなぜ勘違いしてると感じたの?
0910デフォルトの名無しさん
2016/04/15(金) 00:30:26.65ID:MuKGbCph突然gotoが出てきたから
0911デフォルトの名無しさん
2016/04/15(金) 04:18:23.81ID:+t9YcmSiでも思ったことをそのまま喋ったら明らかな失言や暴言や嘘も増える
脅迫や詐欺みたいな発言を連発するよりは、少し意味不明な方がマシじゃないか
0912デフォルトの名無しさん
2016/04/15(金) 07:45:58.29ID:Hp4CXrU7だってさ、たとえば ::finally:: というラベルを作って、
if エラー発生 then goto finaly end とかやればいっしょじゃね?
0913デフォルトの名無しさん
2016/04/15(金) 08:24:11.24ID:uS8f5f96全然違う。それだと途中でreturn出来ないし、しないように注意しなければいけない。
コーデイング規約でreturnはfinallyラベルの後の一つだけにするって定めるつもり?
それに後処理が必要になるものはそのすぐ近くにそれを書きたいもの。
0914デフォルトの名無しさん
2016/04/15(金) 08:41:49.74ID:+t9YcmSi2. 行きたくない人などいるはずがないからreturn出来ない
0915デフォルトの名無しさん
2016/04/15(金) 09:10:31.83ID:9cTSD0EJ「エラー処理をどうするか」なら良いのだけれど、話の流れは
「エラー処理を忘れないようどうするか」だったと思うんだ。
Luaに限れば、必ず後始末したい場合は pcall が必須なのがメンドイ。
0916デフォルトの名無しさん
2016/04/15(金) 09:56:06.34ID:Hp4CXrU7ただそういうのは織り込み済みの上で gotoで足りると中の人は考えてるのかもしれないなぁ、ということ。
これって勘違いというほどのもの?
0917デフォルトの名無しさん
2016/04/16(土) 15:05:29.04ID:ls9rc/e1例えばホスト側が「文字列を丸ごとファイルに書き出す」機能を公開すれば
スクリプト側で「失敗したらファイルを閉じて削除して〜」などと考えず済む。
汎用言語なら細かい粒度のAPIのほうが小回りが利くけど
所詮組み込み言語なんだから「どのように」ではなく「何をしたい」単位で記述させたほうが良い。
0918デフォルトの名無しさん
2016/05/01(日) 13:23:19.66ID:tKi6j9CTBitTorrentがオープンソースで開発されています
言語は何でも大丈夫だそうなので、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的に分散され、特定のサーバーに依存しません
0
0919デフォルトの名無しさん
2016/05/15(日) 09:01:08.96ID:WYUaDR6g0920デフォルトの名無しさん
2016/05/15(日) 12:38:52.61ID:llz61aSC車輪の再発明?知らんな!
0921デフォルトの名無しさん
2016/05/15(日) 12:41:10.00ID:WYUaDR6gそれだと意味が無いんですよ
0922デフォルトの名無しさん
2016/05/15(日) 12:42:54.01ID:ZVMufeYJ結局リファクタリングしたなんてこともあったな
効率はともかく他人のコードのリファクタリングも結構勉強になるし
とりあえず無難そうなのを選んで落としてデッドコピーしてみたら?
0923デフォルトの名無しさん
2016/05/15(日) 13:13:01.22ID:WYUaDR6gなので、ぱっと見修正量多いから自分で修正したくないしメンテもしたくないから何処かから引っ張ってこれるのが理想なんですけど
欲を言えば5.1以降全部に対応してたらいいんですが…
0924デフォルトの名無しさん
2016/05/15(日) 13:30:11.07ID:iV9cVQst0925デフォルトの名無しさん
2016/05/17(火) 15:46:15.62ID:WJtZW0Wvタップからタップまでをusleepで停止させると後半になるにつれ目的の時間から遅れてしまいます
もちろん処理にかかる時間をはusleepから引いています
処理を停止させる命令はusleepの他にはないでしょうか
遅れる原因が何故だか分かりますか?
0926デフォルトの名無しさん
2016/05/17(火) 16:16:50.99ID:awF8sDTJとりあえず >>713 に似たような質問があるな。
「目的の時間」と「処理にかかる時間はusleepから引いて」あたりを
詳しく説明してもらわないとコメントのしようがないと思う。
現状の処理が適切かわからないし、むしろ音ゲー側の時間がずれている恐れも。
0927デフォルトの名無しさん
2016/05/17(火) 16:37:01.75ID:WJtZW0Wv過去にあったんですね、遡ってみます
os.clockでタップ処理にかかる時間を計ってusleepの停止時間からマイナスしてます
0928デフォルトの名無しさん
2016/05/17(火) 17:11:06.80ID:aW8j1xwW前にも書いたけどos.clockは実際の経過時間ではなくプログラムが使ったCPUの時間を返す
sleepとかで待ってる間は増えないし、例えばそのプログラムで二つのコアが100%使われてる場合は実時間の二倍増える
Cのclock関数で実装されていて、それはLinuxだとclock_gettimeのCLOCK_PROCESS_CPUTIME_IDの返す値が使われてる。
0929デフォルトの名無しさん
2016/05/17(火) 17:24:24.06ID:WJtZW0Wvタップ処理ににかかる時間を計るのに使ってます
問題の待機時間には使ってないです
コアが2つ使われてたら2倍っていうのは気になりますが前半は目的のタイミングでタップされているので問題ないですかね…
0930デフォルトの名無しさん
2016/05/17(火) 17:54:24.20ID:awF8sDTJタップ処理にかかった実時間とCPU時間が等しい保証が無いという意味。
君が欲しいのは「実時間」だが、os.clockは「CPU時間」だから加減算できない。
身長と体重の値を足すようなもの。
(Luaからデフォルトで使える) 標準Cだけだと1秒より良い精度は無理と言われてる。
http://stackoverflow.com/questions/361363/how-to-measure-time-in-milliseconds-using-ansi-c
| There is no ANSI C function that provides better than 1 second time resolution
autotouch APIに高精度タイマーは用意されてないかな?
Lua から clock_gettime 等を呼ぶモジュールを加えるのも難しいか?
なお、Windowsのclockは(あえて)実時間を返すようだ。誤解が多い原因かもしれない。
https://msdn.microsoft.com/library/4e2ess30.aspx
| The elapsed wall-clock time since the start of the process
| Note that this is not strictly conformant with ISO C99
0931デフォルトの名無しさん
2016/05/17(火) 20:04:41.45ID:aW8j1xwW補足サンキュー
しかしCPU時間返されてもベンチマークぐらいしか使い道ないよね。
でも文句はそれしか用意してない標準Cに言うんだ。Luaは高い移植性のために標準Cから外れる物は極力実装しないんだ
0932デフォルトの名無しさん
2016/05/18(水) 08:00:35.07ID:6L3zAH6bコア毎に記録する機能でも積んでなきゃ、
目安になりそうな計測をして加算し続けるくらいしか現実的な手段ないからね
マルチメディアタイマ動かすスレッドを裏側に置いてポーリングするか
別のコンテキストでタイマのタイムアウト毎にスクリプト起動するとかしかないんじゃないかな
(メインのスレッドと同じコンテキストで実行しちゃダメだよ)
0933デフォルトの名無しさん
2016/05/18(水) 09:46:49.35ID:k2SHVqf6名前に騙されて、古代の課金処理を現代のプログラムで使うからおかしくなるんだよ
0934デフォルトの名無しさん
2016/05/18(水) 15:47:48.90ID:bch1M3Ro皆さんありがとうございます
autotouchのAPIになさそうです
autotouchでclock_gettime使ってみます
0935デフォルトの名無しさん
2016/05/25(水) 01:28:46.05ID:PQF3VaRVあーだこーだ探したり高いライセンスを払うより
1から自分で作ったほうが速い場合も多々ある
0936デフォルトの名無しさん
2016/05/26(木) 10:31:37.40ID:lpov0tDn組み込みを意識してVM自体をなるべくROMにおいやったり
定数になるべくデータを追いやったりしてRAMやスタックの消費量抑えたりみたいな細工をする事無く
素直でわかりやすく、高速なコード書き放題だもんな
0937デフォルトの名無しさん
2016/05/26(木) 10:49:26.89ID:LqK2D4Ix自分で作ったほうが早い場合はありそうだな
0938デフォルトの名無しさん
2016/05/26(木) 18:41:47.35ID:iZpcR2mhなかなかそうはいかないよね
0939デフォルトの名無しさん
2016/05/26(木) 22:46:21.63ID:kkdzC4Pz0940デフォルトの名無しさん
2016/05/27(金) 03:25:00.38ID:fvoGjXwU0941デフォルトの名無しさん
2016/05/31(火) 20:56:31.07ID:J6Jy3eBOgr-sakura2ボードが新たに発売されたんでmrubyやろうと思ったら、ライブラリとかv2なっててどうしようかと。
mruby入りスケッチビルド通ったんで焼いてもだんまりだわ。デバッグする方法あるのかな(汗
0942デフォルトの名無しさん
2016/06/01(水) 22:16:27.31ID:ItE+il1Rgr-sakuraは別の意味の組み込みじゃなかろうか
0943デフォルトの名無しさん
2016/06/07(火) 13:17:30.66ID:Cceun6yBLuaのメンテナンス・ポリシーだと最新版しかバグ修正されないのね
最近見つかった昔からあるバグでも5.3しか修正版が出ない
diff形式で公開されているから自分でどうにかしろってことか
0944デフォルトの名無しさん
2016/06/07(火) 15:13:34.60ID:1jTwDXeQ0945デフォルトの名無しさん
2016/06/11(土) 10:50:09.10ID:8vn3zKAGfunction Hoge
return{
Foo=function end
};
end
みたいなクラスです
0946デフォルトの名無しさん
2016/06/11(土) 10:50:57.07ID:8vn3zKAG0947デフォルトの名無しさん
2016/06/11(土) 17:55:08.38ID:XziS+43Hvar foo = ...
foo["Foo"]();
とかでいけるんじゃない?
0948デフォルトの名無しさん
2016/06/11(土) 18:00:29.69ID:8vn3zKAGキャストしてCall呼び出したらいけました
0949デフォルトの名無しさん
2016/07/16(土) 14:37:12.17ID:ClCwwHutひとまずデバッグ用にバイナリ文字列をHexダンプするコードを書いてみる
Lua5.3.3(UPX圧縮後で250,064 Byte)
path = "C:/Windows/system32/calc.exe"
f = io.open(path, "rb")
f:seek("set", 0)
b = f:read(512)
f:close()
io.write("\"" .. path .. "\" / " .. string.len(b).."Byte Dump...\n")
i = 1
l = ""
repeat
w = string.sub(b, i, i + 15)
for c in string.gmatch(w, ".") do
l = l .. string.format("%02X ", string.unpack("B", c))
end
l = l .. string.rep(" ", 3 * (16 - string.len(w)))
l = l .. " "
l = l .. string.gsub(w, "[^\x20-\x7e]", ".")
l = l .. "\n"
i = i + 16
until string.len(b) + 16 < i
io.write(l)
0950デフォルトの名無しさん
2016/07/16(土) 14:41:48.88ID:ClCwwHut0951デフォルトの名無しさん
2016/07/19(火) 21:09:20.86ID:5Ru68Qwwfunc=function()end;
と
hoge={
func=function()end
};
の違いって何ですか?
0952デフォルトの名無しさん
2016/07/19(火) 22:10:30.90ID:Uci7C8fw上
hogeというモジュールを読み込む
funcというグローバル変数に何もしない関数を代入する
下
funcという何もしない関数をもつテーブルを作成しhogeというグローバル変数に代入する
0953デフォルトの名無しさん
2016/07/19(火) 22:35:55.44ID:5Ru68Qwwfunc=function()end;
hoge={func=func};
をするって事?
0954デフォルトの名無しさん
2016/07/19(火) 22:51:15.91ID:Uci7C8fw最近のものはグローバル環境を汚すのを嫌って勝手に代入せずテーブルを返すのが推奨されているから
module=require(’modname’)
って書く
0955デフォルトの名無しさん
2016/07/19(火) 22:54:48.00ID:5Ru68Qww何となく分かった気がする
ありがとう
0956デフォルトの名無しさん
2016/08/02(火) 15:28:41.79ID:vpqNpIG1local self=BaseClass.new();
self.hoge=0;
return setmetatable( self, { __index = Class } );
でいいんでしょうか?
色々な方法が書いてあってどれをすればいいか分かりません
0957デフォルトの名無しさん
2016/08/02(火) 21:42:21.39ID:rXn2IC8I色々な方法があるから、使うフレームワークが推奨する方式に従うべき
特にそういう縛りがなければ自分で考えてみてもいいが
汎用性が高いのはJavaScriptと同じ方式だとは思う
0958デフォルトの名無しさん
2016/08/02(火) 22:00:37.77ID:qJ2YHFft一つの言語で色々やってるのは珍しいが効率は良い
0959デフォルトの名無しさん
2016/08/03(水) 08:06:53.16ID:8fjgpLNnまぁLuaだと組み込み環境ごとに全く別の言語だと思ったほうが良いんだろうけど
0960デフォルトの名無しさん
2016/08/04(木) 09:23:50.33ID:Mm46IUtm本家に書いてあるやん
0961デフォルトの名無しさん
2016/08/04(木) 20:01:15.52ID:aMt1KCpEお手本を作ってクローンさせる方式だね
一般的なクラスとインスタンス方式にこだわりがなければLuaらしいやり方だ
0962デフォルトの名無しさん
2016/08/05(金) 22:47:51.66ID:K6ts8EaKありがとうございます
もう一つあるんですが、動的に引数を指定したり複数の戻り値を返したりすることは出来ますか?
hoge(1,2,3)と通常は呼び出す物をhoge({1,2,3})と呼び出したり、
return 1,2,3;
を
return {1,2,3}
のように配列を使って動的に指定したいです
0963デフォルトの名無しさん
2016/08/05(金) 23:10:53.81ID:K6ts8EaKすみません
0964デフォルトの名無しさん
2016/08/26(金) 15:28:57.81ID:BDiBxktHの次にlua_pop(L, 1) を入れるのはなぜですか?
0965デフォルトの名無しさん
2016/08/26(金) 17:19:18.70ID:LCNVy+4GluaL_requirefはロードしたモジュールをスタックに残すから
それをスタックから取り除いている
LuaのC APIはスタックを意識する必要がある
マニュアルにある [-0, +1, e] のような箇所で説明されている
0966デフォルトの名無しさん
2016/08/28(日) 07:51:02.13ID:O603KyWmありがとうございます。
スタックから取り除いても大丈夫(モジュールは使える)ということなのでしょうか?
もしそうならスタックに積まれるのはなぜなのですか?
0967デフォルトの名無しさん
2016/08/28(日) 14:07:28.83ID:A/8rNEYuLuaの疑似コードだと
local m = require("module")
m = nil
のような動作だと考えてくれ。
moduleが何かを返すタイプならスタックに積まれた m を使うことになるだろうし
グローバル変数を追加するタイプなら取り除いても(グローバル経由で)使えるだろう。
0968デフォルトの名無しさん
2016/08/29(月) 18:22:57.78ID:9ixLGi86よく分かりました。ありがとうございました。
0969デフォルトの名無しさん
2016/09/08(木) 18:19:09.71ID:GHpvw+VU今まではメモ帳(付属のじゃないよ)だけで一つか複数のファイル開いてシコシコ書いてたんだけど、
数百から千くらいのファイル群のゲームの解析というか関数なんかの検索に、メモ帳では太刀打ちできなくて困ってます
出来たら沢山開けるメモ帳的な簡易的な物が良いんだけど、OSにインスコして、関連付けもしてくれちゃって・・・っていうのはむしろ要らない、アーカイブ展開したらすぐ使えるのがいいです
よろしくお願いします。
0970デフォルトの名無しさん
2016/09/08(木) 18:46:36.03ID:2gFs3OWYOS非依存だからwin以外でも使える
0971デフォルトの名無しさん
2016/09/08(木) 19:45:27.86ID:oP5NpzJh0972デフォルトの名無しさん
2016/09/08(木) 21:07:48.97ID:GHpvw+VU0973デフォルトの名無しさん
2016/09/09(金) 21:43:20.24ID:++lP9HIx0974デフォルトの名無しさん
2016/09/10(土) 00:03:26.44ID:mCfQwN8m0975デフォルトの名無しさん
2016/09/10(土) 01:31:15.83ID:1lwBEIiLFlashAirでPHPを実行できないかなーとか考えた
0976デフォルトの名無しさん
2016/09/10(土) 06:33:19.86ID:URrhv4S0レス数が950を超えています。1000を超えると書き込みができなくなります。