トップページlinux
246コメント92KB

Valaについて語りませんか

■ このスレッドは過去ログ倉庫に格納されています
0001login:Penguin2009/07/05(日) 14:31:59ID:IdyQQEIy
C#ライクなGNOMEのプログラミング言語Valaについて語り合いましょう

【GNOME Live!】
Vala
http://live.gnome.org/Vala

Tutorial
http://live.gnome.org/Vala/Tutorial

【SourceForge】
ValaによるGNOMEアプリケーションのプログラミング
http://sourceforge.jp/magazine/08/12/15/0143207
0002login:Penguin2009/07/05(日) 14:49:00ID:IdyQQEIy
【Valaについて - wikipediaより引用】
Vala is a programming language that tries to bring modern language features to C,
without additional runtime requirements and with little overhead,
by targeting the GObject object system.
It was developed by J rg Billeter and Raffaele Sandrini.
The syntax borrows heavily from C#.
Rather than being compiled directly to assembler or to an intermediate language,
Vala is compiled to C which is then compiled with the platform's standard C compiler.
0003login:Penguin2009/07/05(日) 16:00:26ID:4QqhX6g7
板違うだろうが

プログラム
http://pc12.2ch.net/tech/
0004デムパゆんゆん2009/07/05(日) 18:00:02ID:1wMfbkcM
薔薇
愛 それは
マライヒマライヒ
0005login:Penguin2009/07/05(日) 18:15:49ID:Tt3flXt7
gobjectとかgnomeと相性がいいんだっけか
でもそれならpython使うしなあ
0006login:Penguin2009/07/05(日) 18:46:25ID:wTWUZzTz
Cに変換してコンパイルするから、速度と依存関係の少なさが魅力かな?
0007login:Penguin2009/07/05(日) 18:54:45ID:wTWUZzTz
あ、後他の言語に移植するとき楽になるかもしれない。
0008login:Penguin2009/07/05(日) 19:06:42ID:vWjFkdbk
Cで無理やり作ったオブジェクトシステムを扱うのは煩雑だから
専用の言語を作ったというのが、GNOMEらしいというか何というか。

エンドユーザーとしてはMonoアプリよりはVM抜きのGtk+アプリを使いたいが
開発者としてはMonoのほうが楽チンかもしれない
0009login:Penguin2009/07/07(火) 03:24:44ID:DTLYWLxn
デバッガもgdbにはパッチ当てないといけないしな。
でも、cのソースと協調しやすいから、今までの資産がある人には良いんじゃないかな?
0010login:Penguin2009/07/08(水) 02:41:01ID:O/hFomNV
PythonライクなGenieってのもあるんだな
ValaにしてもGenieにしてもドキュメントが少ないのはなんとかならんのかね?
ちょっとやってみたがGtkのメニューバーの作り方がわからん
まぁライブラリのソース嫁ってことか?
0011login:Penguin2009/07/11(土) 23:55:26ID:laBaTLCT
>10
メニューバーのAPI自体は用意されてるみたいだよ。
ttp://valadoc.org/?pkg=gtk+-2.0&element=Gtk.MenuBar
ただ、使い方については一切説明が無いので、
gtkリファレンスを参照しなきゃいけないけど。
ttp://library.gnome.org/devel/gtk/unstable/
他にvalaで使えるapiを知りたければ、
ttp://valadoc.orgを見れば大丈夫なのかな?
0012login:Penguin2009/07/14(火) 20:32:25ID:sdMMjO+h
vala用IDEの一つであるvalide( ttp://www.valaide.org)だけど、
valaが0.7.4以上だとコンパイルできないみたい。
svnの最新バージョンならとりあえず動くよ。
0013login:Penguin2009/07/15(水) 00:08:28ID:zyweEBSH
>>11
ありがとうございます。参考になりました。

ところで
RADツールでなんかオススメないですかね?
今のところgladeを使うのが一番簡単?
0014login:Penguin2009/07/16(木) 02:06:50ID:F4aDnD2e
gladeしかないだろうね、今のところ。uiファイルの読み込みどうするかっていう問題はあるけど
0015login:Penguin2009/07/16(木) 02:45:34ID:Hnv0jSIK
確か本家サイトのサンプルコードにuiファイルを読み込む方法があったような
今日はもう寝るので後日確認します
0016login:Penguin2009/07/16(木) 18:06:11ID:F4aDnD2e
GtkBuilderには対応してるみたいだね。
俺はいつもuiファイルの置き場所に悩むよ。てvalaあんまり関係ないけど。
0017login:Penguin2009/07/16(木) 21:40:58ID:SQsoT81g
過疎ってるからとりあえずできた物投下するよ。
ttp://itn2002.sakura.ne.jp/archive/validesample/validetest.tar.gz
GtkBuilderを使うには--pkg=gmodule-2.0が必要だったんだね。
これに気づかないで大分悩んだ。
まあほとんどsampleと同じだけど。
ところで[CCode (instance_pos=-1)]の意味って何?
0018login:Penguin2009/07/17(金) 01:40:49ID:AJJQRc+R
ありましたGtk+サンプルコード
http://live.gnome.org/Vala/GTKSample
これの5番め
Loading User Interface from XML File
ってやつですね
0019login:Penguin2009/07/17(金) 01:54:46ID:AJJQRc+R
>>17
補足
18で示したサンプルコードとあわせて参考にさせていただきました

>>18リンク先の説明を参照すると
コールバックメソッドをスタティックメソッドのかわりにインスタンスメソッドに
したいときに[CCode(instance_pos=-1)] を書けってかいてありますね
0020login:Penguin2009/07/21(火) 02:52:10ID:0neMEWmQ
valideが0.5.1に更新されてるね。valaが0.7.4の場合にコンパイルできない問題が修正されてる。
ttp://valaide.org

後、勉強用プログラムを更新したんでまた投下するよ。
ttp://itn2002.sakura.ne.jp/archive/validesample/validetest.tar.gz
今度はlibsoupを使ってbbsmenu.htmlを取得して解析するっていうことをしてみた。
本当はGLib.Nodeを使った方が色々と嬉しかったんだけど、
APIが他のと比べて整備されてないから見送った。残念。
0021login:Penguin2009/07/21(火) 03:01:12ID:PGci44zy
>>20
APIとかどこみてるんですか?
valadoc.org?
0022login:Penguin2009/07/21(火) 03:23:39ID:z0/0mtfh
>21
基本的にvaladocだよ。で、ちょっと使い方がわからない部分があったらglibのリファレンス見てる。
#ownedとかの概念が難しいなぁ…
0023login:Penguin2009/07/23(木) 01:31:28ID:ijmAepso
うーんスレのカキコ見てると今んとこはMonoでいいや
0024login:Penguin2009/07/23(木) 23:15:09ID:KpnabxAG
素のGObjectは扱いたくないし、monoっていうでかいのに依存したくないっつー
場合だけだろうね、今のところの需要は。
そういえばvaladocがなんか急に賑やかになってた。特にglib-2.0あたり。
0025login:Penguin2009/07/25(土) 15:58:58ID:4ZhJtHFF
今度はタイマーアプリを作ってみた。UIが適当なのと、
ちょっとカウント終了間際の処理が怪しいのは勘弁な。
もうちょっとスレッドとか駆使すれば正確な計測もできそうだけどね。
ttp://itn2002.sakura.ne.jp/archive/validesample/valagtktimer.tar.gz
0026login:Penguin2009/07/26(日) 18:39:40ID:zOq9gcf3
>>25
Vala関係ないけどちゃんとドキュメントコメントとか使って偉いな
0027login:Penguin2009/07/26(日) 22:15:01ID:9sVzuMoj
まあ癖つけとかないと泣きを見るのは自分だからね。
0028login:Penguin2009/08/04(火) 20:28:21ID:JNFmjrAP
vala-0.7.5あげ。基本的にはバグフィックスだね。
でもいくつか機能追加があるけど。
これはstaticなプロパティが作れて、
プロパティにdelegateが使えるってことなのか。
自分で書いててよく理解してないけど。
0029login:Penguin2009/08/07(金) 23:16:28ID:YTRt07A3
前回作った2chのbbsmenu解析を、ツリービューに表示できるようにしたよ。
結構突貫作業だけどね。
ttp://itn2002.sakura.ne.jp/archive/validesample/validetest.tar.gz

そういえばValaって"""で囲んだ中をそのまま文字列で使えるみたいだね。
Glade3で作ったUIファイルも、この仕組みを使えば楽にプログラム自体に
内包できるかもしんないね
0030login:Penguin2009/09/11(金) 02:51:30ID:tsm8+8Iw
GObject をそのまま使うなんて感動的過ぎる。。
これは大化けしそうな予感
0031login:Penguin2009/09/11(金) 13:24:30ID:HQvxmAmH
vala0.7.5 で valide をビルドしたいけど
ctags-vala.hがどうのこうの言って止まってしまいまする
0032login:Penguin2009/09/15(火) 02:11:48ID:Yjjhu7nI
ttp://live.gnome.org/Vala/GTKSample
の一番最初のサンプルの gtkmm 版を作って Vala 版と比較してみた。(Fedora11)

バイナリサイズ
gtkmm: 7.5 KB, Vala: 4.9 KB

実行時の使用メモリ
gtkmm: 2.2 MB, Vala: 1.7 MB

依存ライブラリの差
275668 libatkmm-1.6.so
126452 libcairomm-1.0.so
285552 libgdkmm-2.4.so
445116 libgiomm-2.4.so
343012 libglibmm-2.4.so
3547140 libgtkmm-2.4.so
176024 libpangomm-1.4.so
合計 約 5 MB

ソースの可読性
Vala の方がだいぶ(?)読み易い (シグナルの設定なんか特に)

結論としては、GTK+ アプリを作る場合は Vala はかなりのアドバンテージ
があると思われる。
0033login:Penguin2009/09/15(火) 15:55:41ID:/etepYv4
gtkmmじゃなくてGtkで比較してほしいです!
0034login:Penguin2009/09/16(水) 02:13:52ID:AuFz8a5t
なんとなく意味ない気がするけど比較してみたよ。
C 版と Vala 版の比較です。

バイナリサイズ (-Os でビルド)
C: 5060, Vala: 5036 (なんか小さい!)

実行時の使用メモリ
C: 1.8 MB, Vala: 1.8 MB (前回より多いけど状況に依存するもんなんで)

依存ライブラリの差
なし

ソースの可読性
Vala の方がかなり読み易い (まぁ当然だけど)

結論としては、Vala を使いこなせるスキルがあるならば、あえて C で
組む必要はないと思われる。
0035login:Penguin2009/09/18(金) 01:58:57ID:gwrFBs2X
かなりC#と似てるけど、むしろ違う所がどこなのか知りたい。
どっかまとまってるとこないかなぁ?
0036login:Penguin2009/09/19(土) 12:56:49ID:8ZFOHBpR
探してみたけどC#との違いについてまとめてあるページは無かった
ところで上の方で専ブラっぽいの作ってる人、できた?
0037login:Penguin2009/09/20(日) 20:32:37ID:cbNtEzLr
0.7.6リリース上げ
0038login:Penguin2009/09/21(月) 02:57:39ID:cvq5tUYO
早速新機能のクロージャを-Cで見てみたけど、GObjectのクロージャ(GClosure)は
使ってないな。MLとか見てないから分からないけど、何か問題でもあったのかな。
まぁ、Valaを使うレベルでは内部の実装は何でもいいんだけど。
0039login:Penguin2009/09/22(火) 03:42:57ID:TQt+zioE
>36
別に専ブラ作ろうと思ってるわけじゃなく、ちょうど良い解析対象かなって思っただけだよ。
気が向いたら一つのソフトとして作ってみても良いけど、結構大変そう。
>38
クロージャの目的が、"ラムダ関数から外部にある関数のローカル変数を使用したい"
らしいんで、GClosureだと実現方法が難しいのかも。GClosure知らないで言ってるけど。
0040login:Penguin2009/09/22(火) 13:00:28ID:ZlR/5QA5
しかし相変わらずドキュメントが少ないな。まぁその辺りは1.0が見えてきたらやるんだろうけど。
ちなみに今度はスレッド一覧を見るものを作ってみたよ。
注意としては、エンコーディングには"Shift-JIS"じゃなくて、
"CP932"を指定しないとエラーが出るっていうこと。
後、取ってくるスレッド一覧のURLはコンパイル時点で固定。
ttp://itn2002.sakura.ne.jp/archive/validesample/subjectreader.tar.gz

後はレス一覧でとりあえず一段落かな
0041login:Penguin2009/09/23(水) 01:50:14ID:PVYSnV44
>>31 に自己レス
PKG_CONFIG_PATH を設定してなかっただけでした。お恥ずかしい。
ここまで実用的なのを作れて、ソースは見渡しいいし、これは革命ですね。
個人的な好みを言えば case は break 無しで落下しないようにしてほしい
0042login:Penguin2009/09/23(水) 03:00:28ID:VWWmJzDx
GClosure は、変数一つ一つに GValue を作成する必要がありそうなんで、
オーバーヘッドが大きそう。
クロージャは散々検討された上での実装だと思うけど、現状だとCのソースが
すごく読みづらく(汚なく)なるのが玉にキズだな。
0043login:Penguin2009/09/28(月) 11:31:16ID:QBgwh8yM
http://www.murga-linux.com/puppy/viewtopic.php?t=39560&start=420

微妙に検索バーあたりの動作がおかしい
ような…というか素で結構いいかんじだた
0044login:Penguin2009/09/28(月) 22:26:13ID:NdrHdWkN
>42
Cソースに関しては、valacデバッグとかやる人が
読めれば良いんじゃね?っていう勢いだよな。まあ個人的にはそれで良いと思うけど。
>43のが結構良いね。しかし95k近くのソース一つってある意味すごいな。
0045login:Penguin2009/09/29(火) 16:01:43ID:CY4vCafL
0.7.7きてたのでage
>>43のはgenie?
0046login:Penguin2009/09/29(火) 22:52:48ID:c2TJLmFo
"string marshalling"っていうことは、stringがバイト列にできるっていうことだよな。
これってstring.to_utf8で良いんだろうか?もうちょっとリリースなりチュートリアルに
説明が欲しいな…
0047login:Penguin2009/10/13(火) 01:56:06ID:b5FSfBoW
タブレットの筆圧の取得おしえてくれ

Gdk.EventMotion の axes フィールドや
Gdk.Event.get_axis か Gdk.Device.get_axis が使えそうだけど
どうにも使い方が解らない
0048login:Penguin2009/10/14(水) 02:02:11ID:Evvplg3O
ttp://live.gnome.org/Vala/QuickIntroForCSharpProgrammers
いつの間にかC#との比較ページが出来てた。
ただ、Not Availableの項目を見ると結構色々実装されてないな…
0049login:Penguin2009/10/14(水) 02:45:41ID:Tl4bDpTI
本当だ。言語としてはまだまだだな。
Cで書くより多少はましなの?
0050login:Penguin2009/10/14(水) 03:13:48ID:cB0J9abS
Javaに 似せた Delphi、に似せた C のシンタックスシュガー
もうわけわかめ
0051login:Penguin2009/10/15(木) 20:54:17ID:DgT1fIFi
>47
遅レスだけど、gdkリファレンス見ると、Gdk.Deviceから辿るのが正解かも。
今回の事に限らず、Valaを使う時はValadocだけじゃなくて、
大本のリファレンスも見た方が良さげ。
>49
俺にとっては素のGObjectはIDEとかのサポートがないとマジで無理。
0052472009/10/16(金) 00:10:52ID:6MqmLXIA
>>51
どうも。CもValaもよく知らないのですがgdkリファレンスと見比べると
C側の引数がdoubleの配列のポインタで、Vala側はdoubleなんですよ
この場合どのように宣言して渡せばよいのでしょう?

http://library.gnome.org/devel/gdk/stable/gdk-Input-Devices.html#gdk-device-get-axis
http://references.valadoc.org/gdk-2.0/Gdk.Device.get_axis.html
0053482009/10/16(金) 03:59:17ID:csATjUPX
>>48のページをちゃんと見てみたら、Not Available に含まれているのは
(自分にとっては)それほど重要じゃない機能とか、そのうち実装されそうな
ものばかりなんで、Vala は既に十分な機能が実装されていると思っていい
気がする。
ただ、
・No operator or indexer overloading
・No method or constructor overloading
だけはかなり痛いな。
0054login:Penguin2009/10/17(土) 01:48:24ID:LT64hAQX
あー今見てみたけど、多分Valaのバグだね。vapiと実際のapiの型が合ってないよ。
ちなみにgdk_device_get_axis自体の使い方は
http://www.codase.com/search/display?file=L2dlbnRvbzIvdmFyL3RtcC9yZXBvcy9jb2Rhc2UuYy9ndGsrLTIuNi43L3dvcmsvZ3RrKy0yLjYuNy90ZXN0cy90ZXN0aW5wdXQuYw==&lang=c#
にあった。
0055login:Penguin2009/10/21(水) 03:08:37ID:L4IsJKoL
vapiファイルって、C言語のヘッダーファイルから
自動生成出来ないもんでしょうか?
0056login:Penguin2009/10/21(水) 18:13:29ID:MXQIE8Bx
>>55
http://live.gnome.org/Vala/Bindings
ここにやり方が書いてるんだけど、、、うちではうまくいかない。
$ /usr/bin/pdfinfo -v
pdfinfo version 0.12.0
Copyright 2005-2009 The Poppler Developers - http://poppler.freedesktop.org
Copyright 1996-2004 Glyph & Cog, LLC
できたら教えてください。
0057login:Penguin2009/10/22(木) 22:03:39ID:s2CTYeqV
チュートリアルに一部記述が足りないね。
vapiファイルの生成手順の最後にvapigenを実行してるけど、
--pkg=gdk-2.0とか、依存するpkgの指定が必要だね。
0058login:Penguin2009/10/23(金) 00:06:30ID:m2ioZZnh
>>57
thanks!
$ vapigen --library poppler-glib poppler-glib/poppler-glib.gi --pkg cairo --pkg gtk+-2.0
これでうまく行きました。
0059login:Penguin2009/10/23(金) 03:52:26ID:icsRYQ9+
あれ?gdbで普通にソースレベルデバッグが出来てるじゃん。
なんかスゲーな
0060login:Penguin2009/10/24(土) 16:09:46ID:KyQnbJej
さんぷるこーど
https://code.launchpad.net/lucruri
http://forja.cenatic.es/plugins/scmsvn/viewcvs.php/modules/?root=desktopsl&pathrev=108
http://code.google.com/p/xnoise/

ふたつめのりんくは 10. のコードがさんこうになる

こまかいぶぶんのはなし
http://trac.usefulinc.com/doap/wiki/Sites
http://www.vala-project.org/doc/vala-draft/interfaces.html
http://www.mail-archive.com/vala-list@gnome.org/msg01652.html

これくしょんとか
http://www.mail-archive.com/vala-list@gnome.org/msg03130.html
http://www.puppylinux.com/genie/strings.htm
http://mail.gnome.org/archives/svn-commits-list/2009-September/msg01357.html
http://gitorious.org/dova/
0061login:Penguin2009/10/24(土) 18:53:22ID:KyQnbJej
>>60
補足: http://git.gnome.org/cgit/vala/log

gtk+-2.0.vapi の gtk_tree_view_set_row_separator_func
binding バグ修正に注意 (バージョンvala 0.7.7)
0062login:Penguin2009/11/04(水) 01:52:23ID:IwHtn+sQ
試しに、libgeeをC言語から使ってみたけど、いちいち抽象型とか
イテレーター経由でアクセスするのが面倒だな。
ほとんど必須のライブラリなのに、GLibには取り込まれそうにないな。
0063login:Penguin2009/11/06(金) 01:21:47ID:xHV7v7sp
0.7.8リリースアゲ
というか誰か内容を解説してくれ…0.7.7も今一分かってないし
0064login:Penguin2009/11/06(金) 15:30:15ID:te0Yv9Ih
各リリースの変更点なら
http://live.gnome.org/Vala/Release
をみればいいわけだけど?

ドキュメントの翻訳でもしようかと思ったけどプロジェクトがもう少し落ち着いてからの方がいいよね?
0065login:Penguin2009/11/07(土) 00:17:25ID:guTE5WEt
>>64
翻訳は、1.0が出てからで良さそうですね。
遊びで使う分には、十分の品質なので、
ドキュメントがあれば助かります。
0066632009/11/07(土) 03:11:53ID:yhTezjEw
とりあえず、MLをあさったら0.7.8の解説があったんでのせとく。

String templates
----------------
string name = "Vala";
stdout.printf (@"Hello, $name!\n");
stdout.printf (@"2 + 3 = $(2 + 3)\n");

Non-null cast
-------------
void main () {
string? a = "hello";
string b = (!) a;
}

Chain-up for gobject-style construction scheme
----------------------------------------------
class MyWindow : Gtk.Window {
public MyWindow () {
Object (type: WindowType.POPUP);
}
construct {
// ...
}
}
0067login:Penguin2009/11/07(土) 23:51:36ID:93ohWCzP
現状だと小数点末尾だけの更新でも、割と大きな変更をしてくるから、
ドキュメントを書いてもしょうがないかもね。
とりあえず周辺ツールのコンパイルができなくなっているのは
如何なものかと…
0068login:Penguin2009/11/08(日) 10:50:54ID:82HSJzyW
う〜ん。vtgがビルドできないのか。困ったな。
0069login:Penguin2009/11/08(日) 11:03:50ID:82HSJzyW
>>68
と思ったら、libgeeの問題だった。
0070login:Penguin2009/11/16(月) 06:00:06ID:xOgX0uuq
ネタ投入
Javaとの比較
ttp://live.gnome.org/Vala/ValaForJavaProgrammers
Vala(というかGObject)のガベコレ解説
ttp://live.gnome.org/Vala/ReferenceHandling
追加された。
0071login:Penguin2009/11/17(火) 03:13:15ID:09KgNArQ
gdbのVala対応パッチの流れを追いかけていたら、5月頃に2回目のパッチ
を送ったきり音信不通になってるっぽいな。
うまくいけば、7.0に入ったかもしれないのに…残念
ちゃんとマージされるまで面倒見てくれる人が現れてくれ!
0072login:Penguin2009/11/23(月) 17:58:45ID:W0dlOsET
cat ../gee/gee.vapi ../ccode/ccode.vapi ../vala/vala.vapi ../codegen/codegen.vapi > vala-1.0.vapi

git kara totte kite build suru.
sikasi vala build on windows tte dou yatten noka wake wakame...
0073login:Penguin2009/11/28(土) 16:57:31ID:RXaAAVqp
How to: install recently vala from git repository.

$ sudo apt-cache showpkg valac (confarm vala-0.7.0 > valac ...)
$ sudo apt-get install valac
$ git clone git://git.gnome.org/vala
$ cd vala
$ ./autogen.sh --prefix=/usr; make; sudo make install
0074login:Penguin2009/11/28(土) 17:01:26ID:RXaAAVqp
$ valac --version
Vala 0.7.6 <= ubuntu 9.10
Vala 0.7.9 <= git repository
0075login:Penguin2009/12/02(水) 03:57:38ID:VTtWLB6g
ネタ投入
本家のページにCharacter Sampleが追加されたけど、
string は unowned しないと丸ごとコピーされちゃんうんだよね。
int main()
{
string test = "hoge";

string copy1 = test;
unowned string copy2 = test;

stdout.printf("%p\n", test);
stdout.printf("%p\n", copy1);
stdout.printf("%p\n", copy2);

return 0;
}

0x9f667d0
0x9f667e0
0x9f667d0
とするとよく分かる。
0076login:Penguin2009/12/05(土) 17:02:41ID:gmW717rE
http://www.radare.org/get/lacon-radare-2009/
http://nibble.develsec.org/?cat=7

radare2 ga jimi ni subarasii ...
0077login:Penguin2009/12/06(日) 19:17:44ID:Ly6v7DBG
http://www.mail-archive.com/vala-list@gnome.org/msg03480.html

what's the [SimpleType]?
i first looking it ...
0078login:Penguin2009/12/07(月) 18:43:54ID:VTAkmaDu
>>73
$ ./autogen.sh --prefix=/usr --enable-vapigen
$ make
$ make install
0079login:Penguin2009/12/07(月) 19:10:53ID:obEYb5JW
>>74
ppaあるよ
https://launchpad.net/~vala-team/+archive/ppa
0080login:Penguin2009/12/07(月) 23:22:44ID:hzy1fvm3
>>79
74と別人だけどサンクス。うおー便利だ
0081login:Penguin2009/12/08(火) 03:59:32ID:zChQtxr1
Emacs用のValaモードがショボショボなんで改良しようと思ってるけど
なかなかムズいのー
Semanticにも対応させたいし、まぁぼちぼちやっていくしかないか。
0082login:Penguin2009/12/13(日) 19:50:40ID:BMvvMM6L
urmpi automake autoconf libtool flex bison make
0083login:Penguin2009/12/20(日) 16:13:54ID:0O/mIIzO
Vala Releases
Vala 0.7.9

released on December 19, 2009

Changes
* Support array and string slicing.
* Add --symbols commandline option.
* Add avahi-gobject bindings (Sebastian Noack).
* Add ccss-1 bindings (Ali Sabil).
* Add libarchive bindings (Julian Andres Klode).
* Add libmagic bindings (Jens Georg).
* Add readline bindings (Jukka-Pekka Iivonen).
* Add twitter-glib-1.0 bindings (Adrien Bustany).
* Many bug fixes and binding updates.

git repositoryにはあったようだけれど、
公式?が更新されてWindows版バイナリもDL出来る状態だったので一応報告
0084login:Penguin2009/12/21(月) 02:33:26ID:2kmz3FOO
相変わらず変更点の解説がないな…
* Support array and string slicing.
これはどういうことだ?
0085login:Penguin2009/12/21(月) 02:47:50ID:2kmz3FOO
テストコードが追加されてた
// slices
t = s[2:4];
assert (t.length == 2);
assert (t[0] == 'l');
assert (t[1] == 'l');
っていうことだな。
0086login:Penguin2009/12/27(日) 19:03:24ID:nUx8bWnY
gtk-button.vala:8.5-8.26: error: The name `connect' does not exist in the contex
t of `null'
window.destroy.connect (Gtk.main_quit);
^^^^^^^^^^^^^^^^^^^^^^
gtk-button.vala:10.5-10.26: error: The name `connect' does not exist in the cont
ext of `null'
button.clicked.connect ((source) => {
^^^^^^^^^^^^^^^^^^^^^^
Compilation failed: 2 error(s), 0 warning(s)

0.5.4 でコンパイルしてみたらエラーが出て通らなかた
イベントハンドルは += ではなくてなるべく connect を
使うのが推奨されてる…とかどこかで読んだような記憶があるようなないような…
0087login:Penguin2010/01/01(金) 00:06:48ID:sfh07iOR
あけおめ。
今年こそ1.0がリリースされますように( ̄人 ̄)
0088login:Penguin2010/01/05(火) 02:22:15ID:68YcuKLZ
>>86
しかし古いバージョン使ってるな。今の最新は0.7.9なんでそれで
一回コンパイルしてみ。
0089login:Penguin2010/01/06(水) 02:08:55ID:sJSR3xqj
http://www.mechanicalcat.net/richard/log/Python

simple な静的 html 出力ツール

http://entitycrisis.blogspot.com/2009/08/simple-pygame-wrapper.html
http://billmill.org/multi_line_lambdas.html
http://mail.python.org/pipermail/python-dev/2006-February/060654.html

下から順に時系列で、なんとなく流れとして
0090login:Penguin2010/01/14(木) 13:47:25ID:f9MyO6F7
// helloworld.cs
using System;
using System.Text.RegularExpressions;

class HelloWorld {
 public static void Main() {
   System.IO.StreamReader sr = new System.IO.StreamReader(@".\\hello.gs");
   //内容をすべて読み込む
   string gscode = sr.ReadToEnd();
   //閉じる
   sr.Close();
   Console.WriteLine(gscode);

   Regex r = new Regex(@"\(.*?\)", RegexOptions.Singleline);
   System.Text.RegularExpressions.MatchCollection mc = r.Matches(gscode);

   foreach (System.Text.RegularExpressions.Match m in mc)
   {
     //正規表現に一致したグループを表示
     Console.WriteLine(m.Value);
     string before = m.Value;
     string after = before.Replace("\r\n", "").Replace("  ", "");
     gscode = gscode.Replace(before, after);
   }
   Console.WriteLine(gscode);
 }
}
>csc hello.cs

これと等価なコードって vala だとどう書いたらいいか
わからないんだよな…
0091login:Penguin2010/01/14(木) 13:52:45ID:f9MyO6F7
[indent=4]
def foo(arg1: string, arg2: string): string
  return arg1 + arg2

init
  print foo(
      "hello ",
      "world"
      )
  print foo("hello ",
     "world")
/* EOF */[indent=4]

def foo(arg1: string, arg2: string): string
  return arg1 + arg2

init
  print foo(
      "hello ",
      "world"
      )
  print foo("hello ",
     "world")
/* EOF */
hello.gs はこんなかんじ
空白は半角に置換しないと動かないかも…
0092login:Penguin2010/01/14(木) 13:58:24ID:f9MyO6F7
なんか張り間違えてるしorz
0093login:Penguin2010/01/30(土) 14:42:11ID:0hh2Dj8z
http://www.newtek.com/lightwave/core/lightWave_3D_with_CORE_technology_Features_Document.pdf

次期 lightwave はQTなんだな...
COLLADAにBulletにPython載るとか

C単体でトランスレータで組むのは
厳しいというが現状という...
0094login:Penguin2010/02/11(木) 08:53:33ID:OAcrTRrZ
http://trac.yorba.org/browser/shotwell/trunk/vapi/FStream.vapi?rev=1036

vapi is simple. or vapi maintenance is hard and hard ...
0095login:Penguin2010/02/13(土) 17:13:42ID:fQoCmgtg
>>94

0096login:Penguin2010/04/02(金) 00:33:45ID:rvSB9vMK
0.8.0リリース上げ!
experimental な機能以外はバグフィックスが主なリリースだな。
0097login:Penguin2010/04/16(金) 19:47:55ID:/6r9tkwK
.bashrc

export GOROOT=$HOME/go
export GOARCH=386
export GOOS=linux

$hg clone -r release https://go.googlecode.com/hg/ $GOROOT
$cd $GOROOT/src
$./all.bash

Note: fedora case selinux error:
http://groups.google.com/group/golang-nuts/browse_thread/thread/5ffcecb0814b01b8

$hg clone https://gobuild.googlecode.com/hg/ gobuild
$make

error: gobuild.go:62: undefined: os.Dir
edit: os.Dir -> os.PathInfo

$make
$cp gobuild $HOME/bin

$hg clone https://gopages.googlecode.com/hg/ gopages
$cd gopages
$gobuild gopages.go
$cp gopages $HOME/bin

$gobuild main.go
$./main
gopages serving on :9999
0098972010/04/16(金) 19:52:41ID:/6r9tkwK
>>97
ad-hoc rhtml like template is good stuff. ^^;
0099login:Penguin2010/04/21(水) 01:15:16ID:nUefU5z/
テキストファイルを読み込んで string を返すようにしようと思ったら、
意外とすっきり書けないな。
一番シンプルに書こうとするとどんな感じになるかな?
0100login:Penguin2010/04/21(水) 01:41:59ID:nUefU5z/
自己解決した。
var file = new MappedFile ("hoge.txt", false);
var text = (string) file.get_contents ();
でいいかな。
0101login:Penguin2010/04/22(木) 23:52:50ID:Nm7c6dz1
>>100
http://gitorious.org/lethal-works/valagtkdoc/blobs/master/sectionsgenerator.vala

--pkg vala-1.0
参考になるかも
■ このスレッドは過去ログ倉庫に格納されています