【Lua】組み込み系言語総合 その6【Squirrel】
■ このスレッドは過去ログ倉庫に格納されています
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/
0710デフォルトの名無しさん
2015/10/21(水) 01:29:46.09ID:+L1p2dWm0711デフォルトの名無しさん
2015/11/02(月) 08:39:42.03ID:LHJrrN+c0712デフォルトの名無しさん
2015/12/07(月) 06:26:50.82ID:sv1H4v2t使ってる人いる?
0713デフォルトの名無しさん
2015/12/08(火) 17:05:55.06ID:yVFhtqC/命令としてはタップ、待機、タップの繰り返しなんだけども10回目くらいで目に見えて遅れてる
usleep自体正確じゃなく、1回ズレると以後ズレた地点から待機時間が計算されるからその繰り返しになっていると思う
os.clockで開始時間計って目的のタップまでの待機時間を計算していくしかないかなと思ってるんだけどいかんせん700回以上を計算して行くのは心が折れるので何か方法があれば教えて下さい
0714デフォルトの名無しさん
2015/12/08(火) 17:52:14.14ID:V92FzyIAluaに限った話じゃないが
次に目を覚ましたい時刻までの差分だけ寝れば?
0715デフォルトの名無しさん
2015/12/08(火) 18:05:12.63ID:yVFhtqC/os.clockでタップさせたいタイミング全ての時間を取得するって事ですか?
0716デフォルトの名無しさん
2015/12/08(火) 18:45:35.86ID:V92FzyIA「全ての時間」ってのがよくわからないな。キリのいい間隔ではだめなのか?
例えば 200ms おきにタップしたいなら、
ベース時刻から 0, 200, 400, 600ms …の経過で処理するんでしょ?
で、200ms の処理の際に時計を見て、実際には 205ms の時刻なら、次は 400 - 205 = 195ms だけ寝る。
何かしら負荷がかかって 400ms の時刻に近すぎたり過ぎたりしたら
スキップするなり、数回間隔を狭めて調整する処理も要るかも。
0717デフォルトの名無しさん
2015/12/08(火) 23:00:53.20ID:yVFhtqC/一定間隔ではないんですよね
止める時間はだいたい4パターンのうちどれか
タップした時の時間と目的の時間を比較する方法があれば良いんですが
一定間隔ズレているなら良いですが徐々に少しずつ遅れているなら結局700回を全て調整していくしかないわけですよね…
コツコツ頑張ります
0718デフォルトの名無しさん
2015/12/09(水) 01:20:52.01ID:uEc6NdFXデュエル・マスターズ的な非電源TCGの 《 オンライン化ツクール系ソフト 》 制作の企画。
例えば、ガチンコ・ジャッジを直ぐにでも導入できる機能を持っておりながら、
当面それを扱わず単純化させておいて、事後的に導入拡張する際に当該システムを
ブロック構造の組み合わせで後付け挿入できるように予めシステム化してあるソフト(エディター)。
既存の非電源TCGを劣らずに再現できるならば大概のニーズに応えられる筈。
バトスピ、ヴァンガ、ウィクロス、ポケカ、デジモン、ゼクス、モンコレ、ガンダム・ウォー、ライブオン、ディメンション・ゼロ、カードヒーロー、シャーマン・キングなど
のシステムを完全再現できるように設計するけど、他に此のTCGの此のシステムは再現希望とか有ったら書いて。
マジック:ザ・ギャザリングの全システムを完全に再現するのは無理だから、此れだけは必用だ!って部分のみリクエストして。
WEB通信での対戦は、個vs個、多数乱戦、チームvsチーム、個vsチームを可能な仕様とする方針。
設計思想は 《 RPGツクール 》 が良いかな? 他に、優れたエディター有ったら挙げてみて。
個人や企業などのベンダーが提示する開発費(見積もり)で折り合えば、発注する。
↓
エディター群から基本コンセプトを絞り込む(もちろんオリジナルで優れた新ネタが有れば導入する)。
↓
遊戯王OCGに関しては、タッグフォース、ADS、デュエルオンラインを発注先ベンダーに研究させる。
なるべく前述3つで可能な再現は全て実装させる方向を目指す。 まぁ努力する・・・
バトスピ、ヴァンガ、バディ、デュエマなど発売済みゲームソフトが存在してるケースはベンダーに研究させる。
↓
各社TCGを再現するテストプレイ ⇒ 更に改良や修正。
↓
機能制限した下位版を5万円以上で発売 + デュエリ−グ用に改造した上位版でサーバー稼動=営業開始。
↑
下位版の改造および商用利用には、別途で当社との契約が必要。
さ〜て、製作ベンダー見つけよっと!ww(クス
http://wc2014.2ch.net/test/read.cgi/entrance2/1449039272/-18
0719デフォルトの名無しさん
2015/12/30(水) 01:11:18.19ID:TU1EcnmSインストール出来ません
アドバイスを御願いします(´・ω・`)
0720デフォルトの名無しさん
2015/12/30(水) 01:46:15.47ID:LbvdgCkvhttp://luabinaries.sourceforge.net/
0721デフォルトの名無しさん
2015/12/30(水) 05:57:27.20ID:47mVpj3Elocal start_usec = sysyem_usec();
〜色々やる〜
usleep(sleep_time - (sysyem_usec() - start_usec));
これだけの話じゃないの?
ちなみにos.clockはprogramが使用したCPU時間だからCPUが寝てる間は増えないよ
0722デフォルトの名無しさん
2015/12/30(水) 18:30:13.07ID:Sj5i/aUtOSがワカランけど
ソースをコンパイルするなら
tar zxvf lua-5.3.2_Sources.tar.gz
cd lua53
make linux or
make macosx or
make mingw or
make posix or
make solaris or
make install
0723デフォルトの名無しさん
2016/01/07(木) 20:02:10.72ID:lAIllFG+Javaの呼び出しAPI使う方がずっと簡単じゃん
Javaなら書くのにEclipseとか使えるし
0724デフォルトの名無しさん
2016/01/07(木) 21:06:07.28ID:YzB9fcaP0725デフォルトの名無しさん
2016/01/08(金) 08:07:50.80ID:QEjOaegz0726デフォルトの名無しさん
2016/01/11(月) 03:28:28.16ID:Va0MVjV00727デフォルトの名無しさん
2016/01/11(月) 04:05:21.99ID:Va0MVjV0http://lua-users.org/wiki/BindingCodeToLua
それ使うとJNIが面倒と思えるぐらい便利なのあるよ
0728デフォルトの名無しさん
2016/01/11(月) 04:14:11.05ID:0EvHa66G実行時コンパイルできるやつ
0729デフォルトの名無しさん
2016/01/11(月) 04:27:46.70ID:Va0MVjV0それってエラーになるの結局実行時だしIDEがサポートしないとメリットなくない?
0730デフォルトの名無しさん
2016/01/11(月) 05:37:06.41ID:0EvHa66Gそうじゃなくて、実行時コンパイル「も」できるやつと言いたかった。つまり実質Evalを捨ててない静的型付き言語。
というかIDEサポートなくたってメリットあるだろ・・・コンパイル時に型エラー出るじゃん
0731デフォルトの名無しさん
2016/01/11(月) 07:27:44.99ID:H4zd5jav0732デフォルトの名無しさん
2016/01/11(月) 07:39:28.66ID:H4zd5jav0733デフォルトの名無しさん
2016/01/11(月) 09:54:45.69ID:EOECSf3MJavaScriptを組み込んでTypeScriptで書く
IDEサポートも VisualStudio なり VisualStudio Code なりがある
v8なりJsRTが使える環境なら性能面でもかなり良い選択だと思う
0734デフォルトの名無しさん
2016/01/11(月) 17:05:44.51ID:if9kJcKPv8をアプリに組み込むのは手間だし(クロスプラットフォームを考えると尚更)
altJs系の言語はeval出来るって要件満たしてない
0735デフォルトの名無しさん
2016/01/12(火) 15:56:16.83ID:pvMT9PCjcommonjsのnode組み合わせたり必要なんだよね?
v8意外にもあるみたいだけど。
http://mattn.kaoriya.net/software/lang/c/20150815003033.htm
0736デフォルトの名無しさん
2016/01/12(火) 15:58:08.09ID:pvMT9PCj0737デフォルトの名無しさん
2016/01/15(金) 01:33:01.12ID:9hWfybeUAngelScript|Д`)ノ<静的型付き言語と聞いて。Anyもあるよ!
0738デフォルトの名無しさん
2016/01/19(火) 20:51:03.31ID:0e0GcKQy俺はスクリプト言語に静的型はそれ程魅力無いと思ってるし実績あるからLuaでいいやってなってるけど
0739デフォルトの名無しさん
2016/01/24(日) 13:23:45.64ID:xtpCszE9Lua の文法って簡単なんだなーと思って試しにパーサを書いてみてたんだけど、
マニュアルの BNF 通りだと左再帰になってるから無限ループに陥ってしまった。
間接的な左再帰だから俺のへぼい知識では除去できなかった。
実際に Lua の実装では再帰下降してるっぽいからなんとかしてるんだとは思うけど、
左再帰を除去した文法規則の表とかってどっかにないかな?
ソースコード読むしかない?
0740デフォルトの名無しさん
2016/01/31(日) 02:54:56.98ID:kn/5LVuqそんなもん要らん!標準のstack APIで充分だ!って人もどれくらい居るんかな
0741デフォルトの名無しさん
2016/01/31(日) 11:34:52.69ID:Pw2nI7hG0742デフォルトの名無しさん
2016/01/31(日) 23:47:27.75ID:kn/5LVuqC++のオブジェクトをLuaから使えるようにするだけでもやりたくなくなる
0743デフォルトの名無しさん
2016/02/02(火) 07:57:29.11ID:lmUWOHWt0744デフォルトの名無しさん
2016/02/03(水) 23:36:18.56ID:8yWl5BHB21世紀にもなってなんでや。
0745デフォルトの名無しさん
2016/02/04(木) 00:44:14.34ID:lRklN/w3utf8ならそれなりに使える
21世紀にもなってSJISは使ってないんだろ?
とはいえファイル名はOSネイティブの文字コードが要るとか
幾つか注意点や手を入れたくなる所はあるが
0746デフォルトの名無しさん
2016/02/04(木) 01:00:10.15ID:Jx1/Vtha使えるけど?
0747デフォルトの名無しさん
2016/02/04(木) 23:42:25.61ID:wmCOjGkSWinだと何しても所詮SJISから逃れることはできん。
むしろSJISに対応してないプログラムの方が大問題だ。
0748デフォルトの名無しさん
2016/02/04(木) 23:52:14.71ID:wmCOjGkS今の言語だと、ソースをマルチバイトで記述しようが、utf8で記述しようが、
マルチバイト書いたソースから、utf8で書いたクラス呼ぼうが、
変換などソースのどこを探しても1行たりとも表れないのが常識なんだけれども
Luaは変換だらけ。
0749デフォルトの名無しさん
2016/02/05(金) 00:44:16.88ID:FMLvAXOG0750デフォルトの名無しさん
2016/02/05(金) 01:33:38.19ID:XGMa0UOYtypedef struct {
int a;
int b[4];
}hoge_t;
int hogehoge(hoge_t * test);
と書いて swig -lua sample.i 実行で吐き出されるグルー関数を使う場合
luaの記述は
test = require "xxx"
test_t = hoge_t()
test. a =10
result = hogehoge(test_t )
とかすればよいのですが、
test.b[1]=3とか
test.b[2]=4とかするとグルー関数でパラメータチェックで弾かれます。
構造体のポインタ渡しで構造体の中に配列がある場合は
LUA側でどんな記述をすればいいのだろう?
0751デフォルトの名無しさん
2016/02/05(金) 01:35:33.28ID:XGMa0UOYtest_t = hoge_t()
test_t. a =10
result = hogehoge(test_t )
とかすればよいのですが、
test_t.b[1]=3とか
test_t.b[2]=4とかするとグルー関数でパラメータチェックで弾かれます。
構造体のポインタ渡しで構造体の中に配列がある場合は
LUA側でどんな記述をすればいいのだろう?
0752デフォルトの名無しさん
2016/02/05(金) 06:22:46.35ID:pWou2QhoANSI 版の API を使ってるやつこそクソ。
正直言って A 付きの Windows API は全部廃止してもいいくらいだ。
UNICODE 版の API 使えよ。
0753デフォルトの名無しさん
2016/02/05(金) 08:17:19.47ID:ToPlCIrzLuaの話ならstringはchar固定でwchar_t等に変更するのは本体の改造が要る。
Luaのstringは、byte-arrayという名前のほうが適切だと言える。
不適切な変換はしないが、「UTF8として解釈するならutfモジュールを使え」というスタンス。
同様に、SJISに対応したいなら自分でsjisモジュールを作ることになる。
Windowsがsetlocale("UTF8")をサポートしていないのが面倒の原因なんだよな。
他のOSならできるから、もうみんなUTF8に統一して満足しちゃってる。
0754デフォルトの名無しさん
2016/02/05(金) 15:39:47.51ID:brMGa4PB他のプラットフォームは軒並みUTF-8になってしまって孤立してしまったが互換性のためにSJISを捨てられないWindowsさん
MSVCで設定とかでUTF-8版のCライブラリ(中でUTF-16に変換するような)を使えるようにしてくれたらいいような気もするんだけど何か問題あるんだろうか
0755デフォルトの名無しさん
2016/02/05(金) 16:03:19.95ID:TvHQKkN90756デフォルトの名無しさん
2016/02/05(金) 19:16:06.06ID:brMGa4PBRubyのWindowsでの日本語対応がマトモだったと思ってる?
0757デフォルトの名無しさん
2016/02/05(金) 19:54:12.16ID:Jcxd0Fsw0758デフォルトの名無しさん
2016/02/05(金) 20:10:36.21ID:pWou2QhoUTF-8 を基本にしてしまうと ASCII コードの範囲内で使う分には対応してようがいまいが使えちゃうから、
対応してない部分が顕在化し難いまま混在してわけわからんようになるのが見えてる。
その点、 UTF-16 と ASCII (ANSI) が混ざったらすぐ発覚する。
0759デフォルトの名無しさん
2016/02/05(金) 20:32:40.84ID:brMGa4PBへぇ
Windows以外はわけわからんようになってるという主張でございますか?
0760デフォルトの名無しさん
2016/02/05(金) 21:00:24.37ID:I7CO4PTNいうような利点はないってことでしょ。
utf8にしても、実際の運営としてはASCIIのような運営範囲なんでしょ?w
0761デフォルトの名無しさん
2016/02/05(金) 21:04:55.16ID:ToPlCIrzchar (1 byte) にしか対応していないコードや製品が氾濫するのは困るが
wchar_t (2 byte) にしか対応していないものなら許容できるってニュアンスか?
それもサロゲートペアができて破綻したけどな。
絵文字のせいで目にする機会も無いではないし。
0762デフォルトの名無しさん
2016/02/05(金) 21:28:04.79ID:brMGa4PB何言ってるのかよくわからんけど
>>UTF8にしても世界の文字の一部しか対応できないので
表現できる範囲はUTF-16も同じなんだが、それもダメって言ってるんだよね?
ってことはつまりSJISとかそれぞれのエンコーディングで適切な処理を行えってこと?
俺はUTF-8のコードポイントの区切りかたは知ってるけど、
他の言語の専用エンコーディングどころか
SJISのコードポイントの区切り方すら知らないわ、
それをプログラミング言語作る人にしかも日本語とかまったく使わない海外の作者に強いるとかできないっすわ。
0763デフォルトの名無しさん
2016/02/05(金) 21:36:38.36ID:TvHQKkN90764デフォルトの名無しさん
2016/02/05(金) 21:53:39.03ID:brMGa4PB0765デフォルトの名無しさん
2016/02/05(金) 23:17:47.52ID:AF25xcuE表現するという無謀な目標を掲げた10646と合流してごみ溜めのようになった。
そんなのに付き合って苦労するのはバカらしいから、基本多言語面だけサポートしてサロゲートペアは
トーフ扱いするのが現実的。どうせろくにフォントも無いし。
0766デフォルトの名無しさん
2016/02/05(金) 23:26:52.29ID:pWou2Qhoコードページの概念を捨てられないという主張。 そりゃ全部 UTF-8 に出来ればベストだとは思うよ。
でも捨てられない以上、下手に混ざってわけわからんようになるよりは混ざったらすぐわかる方がマシって話。
0767デフォルトの名無しさん
2016/02/05(金) 23:56:37.35ID:wLhOEYBg日本語もまともに表示できないわけで。
逆にプログラミング言語ごときが数十億人が使ってる現実的な各文字コードを押しのけて
utf8に全文書統一しろ、今すぐしろとか言っても、相手にされんよ。
0768デフォルトの名無しさん
2016/02/06(土) 00:27:48.85ID:/BZKOehd数十億人とか盛りすぎ
0769デフォルトの名無しさん
2016/02/06(土) 00:47:56.49ID:/BZKOehd>>765
最近の携帯電話使ったことないのかい?
>>767
Windows内部はUnicodeで扱ってるからコンソールもUnicodeで表現できない文字は表示できませんよ
WindowsのコンソールをCP65001にしてもまともに表示できないのは実装がタコなだけ
あとメジャーな携帯電話のOSはどちらもUnicodeですけどこれは本当に数十億人が使ってますよ
0770デフォルトの名無しさん
2016/02/06(土) 02:13:32.99ID:bnndf23C実装がカスとかいったところで、モノ生産してるデスクトップ85%から占めてるてるものを
否定して見ない振りしてもしょうがない。
逆にビューワー(携帯)なんか資産性がないからどうでもいいよ。
0771デフォルトの名無しさん
2016/02/06(土) 03:04:06.56ID:/BZKOehdWindowsがUTF-8をまともにサポートすべきかっての論点だと思ってたけど。だからいまの実装を見ないふりもなにもないよ。
MicrosoftがWindowsでUTF-8をちゃんとサポートししようとしても今と変わらずクソ実装になるって主張じゃないよね?
>逆にビューワー(携帯)なんか資産性がないからどうでもいいよ。
プログラムを動かすのは大多数が持ってるビューワーなわけで、それこそ否定して見ないふりしてどうすんのよ。
今はサーバーはLinuxで携帯はiOS or Androidなわけで、プログラムを実行する環境全体を見るとWindowsなんて少数派だよ。
0772デフォルトの名無しさん
2016/02/06(土) 08:26:37.09ID:X7qr0C1S今主流の言語 (Java, C#, Swift/Obj-C, JavaScript) のレベルでは
ほぼ UTF-16 に統一された印象があるんだが、この認識は間違っているだろうか?
ファイル入出力では文字コード変換をするのは前提として。
OSうんぬんより、むしろ文字列型がUTF-16でない言語が問題な気がする。
0773デフォルトの名無しさん
2016/02/06(土) 12:03:30.10ID:BlYk2woR0774デフォルトの名無しさん
2016/02/06(土) 14:43:17.15ID:8fDg9LDUその辺の言語はUTF-8が産まれる前からある言語だからな
SwiftはUTF-16じゃないし(もちろん扱えるけど)、goは基本UTF-8
0775デフォルトの名無しさん
2016/02/06(土) 15:15:51.79ID:su9E+X74python 内部表現はデフォルトucs4(WindowsだけUTF-16)
php よく知らんけどググってみる限り統一されてなさそう
というわけでUTF-16に統一されてるわけじゃないよ。
0776デフォルトの名無しさん
2016/02/06(土) 15:22:16.66ID:22sNDRQRwchar_t をいまさら統一とは言わないけど、なんか統一した別枠の仕様を標準化してほしい
0777デフォルトの名無しさん
2016/02/06(土) 15:44:17.53ID:22sNDRQRchar16 _t がutf-16、char32_tがutf-32で固定の組み込み型。u"" U"" でそれぞれリテラル指定も可能
ただし全部これに対応したライブラリーは整備されてないので、
実情はあんまかわらん模様
0778デフォルトの名無しさん
2016/02/06(土) 15:52:48.40ID:22sNDRQROS依存処理は分離した上で、winはwchar_t がutf-16だからそのままワイド系の関数やapi使って、
unix系はwchar_tは信頼できないから、c16rtomb かc32rtomb でmbに変換して対応、が、C11以降の正しい書き方ってことかな
0779デフォルトの名無しさん
2016/02/06(土) 22:02:21.26ID:iW4Rvogm0780デフォルトの名無しさん
2016/02/06(土) 22:11:19.39ID:+jWWiLZa0781デフォルトの名無しさん
2016/02/07(日) 00:18:29.86ID:LSSjhAu+だからUTF-8に統一すりゃいいのにって話に戻るわけだ
0782デフォルトの名無しさん
2016/02/07(日) 00:48:50.94ID:4QXOAnIu0783デフォルトの名無しさん
2016/02/07(日) 03:59:45.36ID:LSSjhAu+それに誰もそんな話してないよね?
0784デフォルトの名無しさん
2016/02/07(日) 20:56:40.56ID:8pvMtac5以前(5.1/5.2)はsjisパッチがあったりしたので、そっちの話も出てたのかとおもった。
0785デフォルトの名無しさん
2016/02/07(日) 23:13:24.81ID:vQROT1hb今でもマルチバイトのソースコードは山盛りだよ。
最も使用頻度が多いVSがデフォルトSJISだぞ。
そんな現実すら知らずにプログラマやってて
本気で言ってるな、周りが全く見えてない能無し。
0786デフォルトの名無しさん
2016/02/07(日) 23:15:09.52ID:jiomZ/W60787デフォルトの名無しさん
2016/02/07(日) 23:22:01.52ID:vQROT1hb0788デフォルトの名無しさん
2016/02/07(日) 23:44:00.61ID:LSSjhAu+それはWindowsでしか動かないプログラムを書くお前の環境特有の話
それに気が付いてないなら
>周りが全く見えてない能無し。
自己紹介おつ
>>787
組み込み言語なら現実的な選択でしょ
多種多様なエンコーディングに対応するためにOSとか巨大な外部ライブラリに依存するほうが糞
0789デフォルトの名無しさん
2016/02/08(月) 00:07:53.29ID:0XuKQtD5日本語ユーザー名だとエラーになるっていう体たらくだよ。
完全にSJISがMicrosoft自身の足も引っ張ってる
0790デフォルトの名無しさん
2016/02/08(月) 00:20:53.72ID:+/8cbHLDなかったという類の問題でしょ。UTF-8だったとしてもやらかす奴はやらかす。
0791デフォルトの名無しさん
2016/02/08(月) 00:48:05.85ID:0XuKQtD5違うよ。日本語表示も(他の言語の表示も)できてる。予想だけど内部ではUTF-8で処理してんだろうよ。
ここまで書けば多数の人は何を指してるのかわかるだろうから具体的なゲーム名は言わないけど
そのゲームは
PC版(Java) → スマートフォンへの移植版(ネイティブアプリ版) → Windows10アプリ版
と移植されていったわけ、スマートフォンではUTF-8がデファクトスタンダードだから当然の結果だね。
で、Windows10版もUTF-8文字列をそのままファイル操作のAPIへ渡してしまったんだろうね
>>UTF-8だったとしてもやらかす奴はやらかす。
とはいってもSJISを"適切に扱う"ということと比べたら屁みたいなもん
それにこのゲームでの問題の適切な解決策はSJISを適切に使うではなくWindowsのみUTF-16へ変換してwide版のAPIを呼び出すだ。
0792デフォルトの名無しさん
2016/02/08(月) 01:08:11.78ID:B1wV/kIthttp://peace.2ch.net/test/read.cgi/tech/1444822140/
どうしてもここで語りたいなら言語と処理系を限定しろ
話が発散する
0793デフォルトの名無しさん
2016/02/08(月) 03:55:04.72ID:9ZhGg5zu半角英数字のみを使う
外人は日本語でのテストなどをやっていないから、
日本語などを使ったら、バグる
SEの常識だろ。日本語など、
誰もメンテナンス・テストしていないものを、
システムで使うのはおかしい
Linux・Macなんか、ファイル名に半角スペースがあっても、バグる
0794デフォルトの名無しさん
2016/02/08(月) 07:43:55.20ID:stcXIyTr0795デフォルトの名無しさん
2016/02/08(月) 08:08:27.71ID:+/8cbHLDiOSやAndroidのプログラミングしたことないのかね?
0796デフォルトの名無しさん
2016/02/08(月) 09:04:21.92ID:rq38tdFU0797デフォルトの名無しさん
2016/02/08(月) 09:17:28.34ID:5blmn2mR1. プログラム中の文字列型
2. OSのAPI
3. ソースコード
4. 入出力ファイル
4については、対応が必要なぶんの変換モジュールを用意すればよいだけ。
3については、1に決め打ちするのが楽だが、4があるなら変換して読み込めばいい。
で、Windows対応を謳うには以下のどちらかが必須。
・setlocale で 1=2 という環境に限定し、1に対してmblen等の適切な処理をする
・1=ユニコード (UTF-8/16/32は問わない) として 2=W系API を使う
Luaの実装はどちらでもないので、「Windows対応が完全ではない」と評価するのが妥当。
Squirrelなら後者になるようコンパイルできるので、この件に関しては問題ない。
他の環境はわからないが 1=ユニコード なら後者を満たしていると期待できそう。
0798デフォルトの名無しさん
2016/02/08(月) 11:43:28.74ID:M0j0fnEJ0799デフォルトの名無しさん
2016/02/08(月) 11:52:01.97ID:5blmn2mRそう。だから「この件に関しては」と書いた
他の要素、将来性などは……
0800デフォルトの名無しさん
2016/02/08(月) 14:05:07.38ID:rq38tdFUwindowsの cランタイムのsetlocale が utf-8 に対応さえしてくれれば悩む必要無いのにねぇ
0801デフォルトの名無しさん
2016/02/08(月) 22:35:54.46ID:jpNGf5dG>>796
上に載っかってるJavaとObjective-Cしか使ったことないの?
NSStringはUTF8Stringで、JNIではGetStringUTFCharsでUTF8の文字列を取れるけどUTF1 文字列で直接取得する方法ないぞ。
クロスプラットフォームの為にCやC++を扱うならUTF8にするのが常識
0802デフォルトの名無しさん
2016/02/09(火) 00:41:57.31ID:W9OWY02zデファクトって言うなら主要開発環境でみないと駄目じゃろ
0803デフォルトの名無しさん
2016/02/09(火) 07:41:05.80ID:Wb20B9c6UTF-16のtypoだろうが、NSStringならcharacterAtIndexとか、JNIならGetStringCharsとか。
0804デフォルトの名無しさん
2016/02/09(火) 07:54:13.04ID:OaLyyuyLNSStringはそのままUTF16だからgetCharactersでunicharでとれるな
UTF8用の処理は低層のUnixとのやりとりのためのものだし、その層ではutf-8が必要なのはもちろんだけど、それをAndroidやiOSの標準かのように言うのはおかしいと思うな
0805デフォルトの名無しさん
2016/02/09(火) 08:14:07.29ID:DpNg1xio外人は多いよ。
0806デフォルトの名無しさん
2016/02/09(火) 10:53:46.23ID:dd4nRHCaユニコードでさえあれば、内部のUTF表現まで気にする必要はないんじゃ?
特に文字列型がimmutableなら、複数の表現をキャッシュしても問題なさそうだし
>>805
日本人でも多くないか?
新しく言語を設計できるなら、CharはUTF-32であるべきだとは思う
0807デフォルトの名無しさん
2016/02/09(火) 12:19:21.81ID:+sr/gpA9それにluaがpythonに近づけばpythonを使う
0808デフォルトの名無しさん
2016/02/09(火) 12:28:04.23ID:OaLyyuyL話の流れはutf8がデファクトかどうか、です
実際にはutf16のが主流だろって指摘
外部はutf8でいいとして、内部で使うなら今後はやっぱ32だな。少なくともサロゲートペアの罠は回避できるし
0809デフォルトの名無しさん
2016/02/09(火) 14:09:36.45ID:+sr/gpA9■ このスレッドは過去ログ倉庫に格納されています