【Lua】組み込み系言語総合 その5【Squirrel】 at TECH
[2ch|▼Menu]
[前50を表示]
450:デフォルトの名無しさん
12/04/16 01:22:26.86
Luaの文法がCと違うのは混乱しないために良いのかもしれないけど
どうせならifとかforとかCの予約語とも重複しないで欲しかったな

451:デフォルトの名無しさん
12/04/16 01:47:42.83
配列が1から始まることを忘れちゃってつい0番に値を入れちゃう
動くから気づかないし

452:デフォルトの名無しさん
12/04/16 07:47:23.79
欲しいなら
作るとよいよ
オナニー言語

453:デフォルトの名無しさん
12/04/17 22:37:42.93
0番に入れるのは間違いとは限らないし
-1から始まる可能性も忘れてはいけない

local i = -1
local t = {[0] = "zeroth", "first", "second"}
local function f() i = i+1; return t[i] end
for x in f do print(x) end

454:デフォルトの名無しさん
12/04/18 18:18:02.76
ぅあTシャツ
URLリンク(www.fibers.com)

455:デフォルトの名無しさん
12/04/18 22:43:48.98
冗談かと思ったらあるのかよw
しかも種類が多いな

456:デフォルトの名無しさん
12/04/19 18:52:30.20
これの収益がメンテナーに還元されるんだっけ?

457:デフォルトの名無しさん
12/04/20 00:41:59.02
>>454
欲しいけど、英語がわからないのと申し込む方法がわからないんだけど

458:デフォルトの名無しさん
12/04/20 00:57:10.25
just choose then buy then checkout then confirm then wait then wear

459:デフォルトの名無しさん
12/04/20 08:16:19.57
if/forの代替になるキーワードって何があるのさ
俺は全く思いつかん
こいつらはCの予約語どうのって以前に殆どの言語で共通のキーワードなんだから
変えたら混乱以前に誰も使う気しなくなるだろ

460:デフォルトの名無しさん
12/04/20 08:36:24.47
英語が分からんから記号的にしか捉えられないのだろう。
すなわち if 〜 then でなく if () { のがいいというC脳の発想。そこにユーザーへの愛はない。

461:デフォルトの名無しさん
12/04/20 23:56:05.31
 Windowsアプリにtolua++を使ってLuaを組み込んで、スクリプト動作をさせようと目論んでいます。
コンソールアプリに組み込む事は成功したのですが、ダイアログアプリからスクリプトを呼び出し、
スクリプトからCの関数を呼び出すところで上手くいかずに悩んでいます。

処理としては単純に指定の文字列のメッセージボックスを表示させるもので、
void MessageBox(LPCTSTR lpszMessage){
 ::MessageBox(NULL, lpszMessage, NULL, 0);
}
こういう関数を用意してLua側から呼び出す、というものです。
 グルーコードの作成、ビルド等は上手くいくのですが、「MessageBox("あいうえお")」のように
スクリプトを書いたところ、
error : test.lua:5: error in function 'MessageBox'.
argument #1 is 'string'; 'LPCTSTR' expected.
と言うエラーがデバッグウインドウに表示されると言う状態になっています。
「LPCTSTR」を「char *」におきかえて、関数内でUNICODE変換すると上手くいくのは分かったのですが、
このやり方が正しいのか自信がありません。

このような状態について、どのように対処すればよいのでしょうか?


462:デフォルトの名無しさん
12/04/21 01:27:33.69
>>460
英語でif〜thenなんて文法は存在しない


463:デフォルトの名無しさん
12/04/21 08:53:28.79
>>462
そんなこと誰も問題にしてないぞ。どうした?

464:デフォルトの名無しさん
12/04/21 09:07:45.32
>>461
他のOSに移植すると自信を持てる
けどMessageBoxを直接呼び出すようなグルーコードは使わない。
巨大なフレームワークと直結するようなグルーコードを使うと自信がなくなる。

465:デフォルトの名無しさん
12/04/21 10:34:22.31
>>462
FORTRANの創始者ジョン・バッカスをバカにしてんのか?

466:デフォルトの名無しさん
12/04/21 10:42:31.67
if と then はそれぞれ独立して使うもので同時に使うことは英語の文法上ないんだよ
if 〜 then なんて用法はプログラム的文法にすぎない
日本語に例えてみると
「もし」「じゃあ」みたいなもんだ
「もし」フラグが立ったら「じゃあ」実行しよう
ほらおかしいだろ?

467:デフォルトの名無しさん
12/04/21 11:51:40.64
>>466
If you want a friend then get out of here

468:デフォルトの名無しさん
12/04/21 12:06:23.90
「If you don't think you can do it, then you can't.」とか普通にあるな。



469:デフォルトの名無しさん
12/04/21 13:54:06.23
>>466
英語わかんないのに何でこんなに自信たっぷりなの?

470:デフォルトの名無しさん
12/04/21 13:59:33.76
>>467
ないない
通じない

>>468
ないない
通じない

受験英語覚えて英語覚えた気になってる馬鹿だな

471:デフォルトの名無しさん
12/04/21 15:05:32.33
英語の文法で正しいかどうかなんて関係ない
他のプログラミング言語で事実if 〜 then ... という文法が
広く採用されているってのがポイント
分岐はプログラムの論理構造の根幹なんだから
そこにオリジナリティを持つだけ無駄だろ

お前が英語に詳しいのはわかったから
それを正しい方向へ生かす努力をしろ

472:デフォルトの名無しさん
12/04/21 16:06:21.59
>>466
どこがおかしいかまったくわからんのだが。
曲解して無理やりおかしくしてるだけでは。
「それぞれ独立して使うもの」ではあるが「同時に使ってはならないもの」ではないのだろう?
そもそも「Luaは英語文法に沿って設計されてます」なんて誰も言ってないぜ?
仮に文法どおりの究極的な言語できたとしても遅くて実用に耐えないだろうよ


473:デフォルトの名無しさん
12/04/21 16:21:32.31
then よりもまず for が英語的には意味不明だな

もともとは while / until / repeat などのキーワードを含む、ALGOL の繰り返し文の
パラメータ指定用のキーワードだったんだけど、後の言語では繰り返しを意味する
単語は姿を消して for だけが回数指定繰り返しのキーワードとして残り、
最終的には foreach というさらに謎の単語が派生して今に至る


474:デフォルトの名無しさん
12/04/21 17:57:16.34
もし A=0 そのとき 書け("0になりました") そのほか 書け("まだです")

何にもおかしくないじゃん

475:デフォルトの名無しさん
12/04/21 18:01:18.89
スクリプト言語“Lua”で拡張可能。Unixライクなコマンドラインシェル「NYAOS」
URLリンク(www.forest.impress.co.jp)

476:デフォルトの名無しさん
12/04/22 08:05:42.46
すごいなーこれも受験英語なのかー
If a city has a 30% Negro population, then it is logical to assume
that Negroes should have at least 30% of the jobs in any particular
company, and jobs in all categories rather than only in menial areas.
(Martin Luther King, Jr.)

問題にするなら else のほうだろうに。






477:デフォルトの名無しさん
12/04/22 09:49:18.16
そもそも言語に正しいも糞もないからな。
国が何が正しいかを決めてるわけでもなく、
自称言語学者が自説を述べてるだけだから。

478:デフォルトの名無しさん
12/04/22 10:16:13.66
みんなが欲しがっているのは正しい言語じゃなくて小さい言語
正しさの定義が何であろうと、正しくない部分を切り捨てて小さくなりさえすればいい
逆に大きくしたいなら、正しいも何も関係なくすべて取り入れるはず

479:デフォルトの名無しさん
12/04/22 11:37:01.20
言語など相手に通じさえすればいい。
翻って、どんなクソ文法でもコンパイラ様が言葉認定してくれればオールオッケーなのだ。

480:デフォルトの名無しさん
12/04/22 12:47:57.48
おや、Xtalが息を吹き返したようだ

481:デフォルトの名無しさん
12/04/22 13:00:47.53
>>461
void MessageBox(const char* lpszMessage){
 ::MessageBoxA(NULL, lpszMessage, NULL, 0);
}
とか?
(未テスト)

ダイアログボックスつかってるなら、それのウィンドウハンドルをどここかに保存しといて、
MessageBoxに渡した方がいいんではないか?

482:デフォルトの名無しさん
12/04/22 13:02:41.85
>>476
あほだな
それは
If a city has a 30% Negro population, then it is logical to assume
が1つの文章じゃなくて
○○ If a city has a 30% Negro population,
then it is logical to assume
で分離してるんだよな
それにそれちょっと変な言い回しだな
演説用の思わせぶりな言い方ッて感じ
決して日常会話では使わない


483:デフォルトの名無しさん
12/04/22 14:40:02.68
その日常会話自体がどんどん変化するからね。
おっさんが若者言葉を知らないだけという可能性も高い

484:デフォルトの名無しさん
12/04/22 15:02:23.22
>>482
> で分離してるんだよな
してない。

> それにそれちょっと変な言い回しだな
> 演説用の思わせぶりな言い方ッて感じ
そうですねー(あなたの中では)
> 決して日常会話では使わない
そうですねー(あなたの日常では)

485:デフォルトの名無しさん
12/04/22 15:10:16.31
普通日常会話ではthenは文末に使うもんだからね
特に若者会話ではw
if ** then go
じゃなく
if you say **, go then
って感じ


486:デフォルトの名無しさん
12/04/22 16:29:02.33
まあ2chの自称言語学者とFORTRAN設計者のアメリカ人の
どちらを信用するかというだけのハナシだわな

487:デフォルトの名無しさん
12/04/22 20:42:38.80
>特に若者会話では

てことは、日本の若者会話を慮るに
英語の文法上正しくない根拠にはならないわけだね

488:デフォルトの名無しさん
12/04/22 20:57:12.28
末尾に草を生やした時点でお前の負け
読む価値が無い

489:デフォルトの名無しさん
12/04/22 21:21:58.46
英語でif〜thenなんて文法は存在しない

使われない

日常会話では使われない

若者の日常会話では使われない ← いまここ

俺は使わない

490:デフォルトの名無しさん
12/04/22 21:34:14.74
>>489
最初の使われないから何もかわってないよ
if〜thenという形の熟語は存在しない
if, thenで分離してるのが普通
その証拠としてthenは文末にくるのが一般的だと言ってる
何故なら独立した2つの分だからthenの位置はifに依存しない

491:デフォルトの名無しさん
12/04/22 21:53:18.94
プログラミング言語の if then を熟語だって誰か言ったの? else のこと考えてもあきらかに分離してるわけで問題ないじゃん

492:デフォルトの名無しさん
12/04/22 22:47:34.55
>>490
結局、何が不満なの?

英語と文法が違うから?
それとも"if","then"という単語のチョイス?

493:デフォルトの名無しさん
12/04/23 07:36:46.13
if 〜 then 〜 else はもはや世界の共通語。
英語の文法がどうとかそういう問題ではない。
英語の文法君は明らかに外してる

494:デフォルトの名無しさん
12/04/23 17:28:22.89
ifがいやならsnobol使えばいんじゃね?

495:デフォルトの名無しさん
12/04/24 00:54:50.87
なんかのスクリプトにeven if構文ってあったよね

496:デフォルトの名無しさん
12/04/24 01:10:56.17
Nyarukoで手を打とう
URLリンク(github.com)

497:デフォルトの名無しさん
12/04/24 01:44:46.01
ステマに踊らされてるのか

498:デフォルトの名無しさん
12/04/24 07:45:40.60
>>496がBrain*uckで実用プログラムを作ると聞いて飛んできました

499:デフォルトの名無しさん
12/04/24 12:35:25.55
>>496
長くなってくるとSAN値がごりごり削れていくぞ

500:デフォルトの名無しさん
12/04/28 17:44:23.10
VSと連携できるluaデバッガ教えてくだしあ

501:デフォルトの名無しさん
12/05/01 12:36:24.08
IntelliJ

502:デフォルトの名無しさん
12/05/01 21:24:17.07
AngelScript2.23.1記念カキコ

503:デフォルトの名無しさん
12/05/02 14:34:23.92
プログラミング言語と英語を直接結びつけるのは違和感ありまくり
プログラミング言語は英語圏の人間が全員理解できるわけでもない無理矢理英語っぽくしてあるだけのシロモノなのに
なんで日本人が必死こいて英語じゃああだこうだ言って勝手に盛り上がってんの
AppleScriptでも使ってろばかー

504:デフォルトの名無しさん
12/05/03 00:02:36.73
こぼる

505:デフォルトの名無しさん
12/05/03 00:23:55.87
ひまわり

506:デフォルトの名無しさん
12/05/03 12:42:41.53
特定の文化圏に依存する文字を使ってるからそんな議論が生じる

ほわいとすぺーす

507:デフォルトの名無しさん
12/05/03 14:23:53.25
そういえば、外来語としてそのまま使える名詞とか動詞は文化圏に依存しないね
形容詞は微妙
それ以外は駄目っぽい

508:デフォルトの名無しさん
12/05/05 01:18:19.17
ちょっと見逃してたが

軽量rubyソースコード公開
URLリンク(el.jibun.atmarkit.co.jp)

509:デフォルトの名無しさん
12/05/05 02:35:48.44
公開時点だと組み込みに適したような口が全然はえてなかったけど、その後なんか追加実装されたりしてる? > mruby
fopen とかしょんぼりだぜ

510:デフォルトの名無しさん
12/05/05 11:18:17.94
とりあえず日本語

511:デフォルトの名無しさん
12/05/06 19:13:56.84
LLでの静的型チェックの論理的基礎が充実してきて、実装するのが流行りそう
URLリンク(cseweb.ucsd.edu)
system d :: nested refinement types
- dependent types for dynamic language
- dependent javascript
URLリンク(github.com)
typed clojure
- Final Draft Project Proposal
- Early Draft Literary Review
言語によっては、scalaの型推論あたりに近づけるのかな?

512:デフォルトの名無しさん
12/05/08 23:19:09.56
それなら静的型付言語に何でも入る型用意すればいいんじゃね?


513:デフォルトの名無しさん
12/05/09 05:22:08.31
それってどこのバリアント型

514:デフォルトの名無しさん
12/05/09 07:57:21.81
そんな言語ではチェックできないから書き直せという話ばかりで
チェックできたって話は聞いたことがない

515:デフォルトの名無しさん
12/05/09 10:37:25.50
コマンドラインシェル「NYAOS」が内蔵“Lua”言語でCOMオブジェクトを制御可能に
URLリンク(www.forest.impress.co.jp)

516:デフォルトの名無しさん
12/05/12 03:29:37.84
LuaJIT 2.0.0-beta10 has been released

517:デフォルトの名無しさん
12/05/13 13:43:35.87
#include <iostream>
#include <lua.hpp>
using namespace System;
int main(array<System::String ^> ^args)
{
double z;
int ret;
for(int aa = 0; aa < 1000000; ++aa){
lua_State *L = luaL_newstate();
L = lua_open();
luaL_openlibs(L); // これで以下の個別のライブラリを一度に使えるようにする
ret = luaL_dofile(L, "add.lua"); // Lua scipt 読み込む
if(ret != 0){
printf("Failed");//読み込み失敗
return -1;
}
lua_pushstring(L, "add");
lua_gettable(L, LUA_GLOBALSINDEX);
lua_pushnumber(L, 100); // 引数数値"100"をスタックに
lua_pushnumber(L, 5); // 引数数値"5"をスタックに
lua_call(L, 2, 1);
z = lua_tonumber(L, -1) ;
printf("%d-%f\n", aa, z);
lua_close(L);
}
return 0;
}

//add.lua
function add(a, b)
return a+b
end

518:デフォルトの名無しさん
12/05/13 13:44:00.64

↑動かすとどんどんメモリー増えていく
どこ修正すれば解消される?

(lua5.1使用)

519:デフォルトの名無しさん
12/05/13 13:45:18.32
まさかのc++cli

520:デフォルトの名無しさん
12/05/13 13:48:18.68
> lua_State *L = luaL_newstate();
> L = lua_open();

ここだね、かぶってる。消し忘れ?

521:デフォルトの名無しさん
12/05/13 13:52:33.50
c++cliです

//L = lua_open();

で、増えなくなった

ありがとう

522:デフォルトの名無しさん
12/05/17 11:13:05.10
WindowsでLuaの勉強をはじめたんですが
Shift_JIS対応版Luaを使ったほうがいいのでしょうか?
スクリプトファイルはUTF-8で保存してcygwinのターミナルで実行すれば日本語も表示できるし
SJISでファイルを保存すればコマンドプロンプトでも日本語は表示できるので不便を感じません
いまいちよくわかってないのですがShift_JIS対応版を使うメリットはなんでしょうか?

523:デフォルトの名無しさん
12/05/17 11:19:04.86
>>522
Shift_JIS でスクリプトを持ちたければ、これの回避が要るんじゃないの?
Wikipedia項目リンク

524:デフォルトの名無しさん
12/05/17 15:07:11.90
>>523
イーモバイル使ってませんか?

525:デフォルトの名無しさん
12/05/17 21:54:06.89
文字列に「ソ」とか入ってると文字列がおかしくなっちゃうんじゃないの?

526:デフォルトの名無しさん
12/05/17 22:45:02.36
カギ括弧でくくればエスケープされないから、大丈夫じゃない?

> a = "ソ表";
stdin:1: unfinished string near '"・;'

> a = [[ソ表]];
> print( a );
ソ表


527:デフォルトの名無しさん
12/05/17 22:48:23.90
もしsjisをやめてもWindowsは "C:\" だけでおかしくなる
だからsjisをやめるメリットが少ない

528:デフォルトの名無しさん
12/05/17 23:07:35.04
mrubyがでてきたから、今後はもうluaはジリ貧だな

529:デフォルトの名無しさん
12/05/17 23:08:12.11
他人が打ち込んだ文字列を取り入れる可能性ないならSJIS無視してOK

530:デフォルトの名無しさん
12/05/17 23:35:17.32
mrubyの「組み込みシステム」ってそういう意味じゃないんじゃないの?

531:デフォルトの名無しさん
12/05/17 23:42:05.67
すまん、勘違いだった

532:デフォルトの名無しさん
12/05/18 00:14:16.28
とりあえずウォッチしてるけどLuaの影響がだいぶでかい感があるな
まだまだ開発中だけどやっぱりRubyで書けるようになるのは嬉しい

533:デフォルトの名無しさん
12/05/18 01:13:09.15
>>527
それ Windows は、じゃなくて、C言語的に普通にえらーだべ

534:デフォルトの名無しさん
12/05/18 10:00:13.72
>>526
Win環境でなくて申し訳ないけど

> s="ソ\r表"
> for i=1,#s do io.write(s:byte(i,i).." ") end print("")
227 130 189 13 232 161 168
> print(s)

> s=[[ソ^M表]]
> for i=1,#s do io.write(s:byte(i,i).." ") end print("")
227 130 189 10 232 161 168
> print(s)



別の問題が出て来る気がする

535:デフォルトの名無しさん
12/05/19 02:58:32.03
mrubyのミドルウェアへの組み込みは思いつかなかったな

536:デフォルトの名無しさん
12/05/19 15:20:02.78
単体で使うならrubyの方がいいけど
組み込み処理系がLuaほどいじりやすいかどうか。
MatzがやってるならC++でのコンパイルも通らないだろうし orz

537:デフォルトの名無しさん
12/05/20 21:47:23.56
>>534

どんな問題?



最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4952日前に更新/120 KB
担当:undef