>>951 空行が混じってないファイルだったのでは?
なら
>>947 のは2行目じゃなくて3行目だろうに
紛らわしいなぁ。
sample/tk/demos-jp にピタゴラスイッチみたいなかわいいサンプルがあってワロタ
955 :
デフォルトの名無しさん :2007/03/21(水) 18:43:05
windowsだとexerbを使えばexe配布出来るわけですが linuxだとそうもいかず ということはソースごと配布せざるを得ない?完全なるオープンソース状態? いやだいやだ! どうすりゃいいんだ?
linux版exerbを開発すればええやん。 というか、UNIX界隈はバイナリの互換性が低くてやってられんだけでは(w
つかソレは本当に公開に足るスクリプトなのかという話が Windowsは細かい動作するスクリプトはニッチでも需要があるが Linux界隈では自力でやってしまうことのほうが多いはず 使いでのあるライブラリとかならまだしも単一のバイナリではなんとも
apt-get一発で処理系が入る世界だからなあ
>>948 unless line.size > 0
より
if line.empty?
のが早い…とかどっかで聞いたような
ソース忘れたけど
まぁ別解のお節介。
961 :
デフォルトの名無しさん :2007/03/21(水) 20:29:24
vineかfedoraに移住予定なのです
すみません、質問させてください アクセサを記述したときふと気が付いたのですが、 classを記述するときに、 def hoge=(x) @hoge=x end と記述したのですが、 これを呼び出すときは hoge = x とか、書いていました つまり、=とメソッド名の間にスペースが入ってしまっています。 なのになぜ、正常に動作するのでしょうか?
Cygwin 1.5.19 で ruby 1.8.6 を ./configure --enable-shared ; make ; make install のようにビルドしてインストールしましたが ruby -rnkf -e '' を実行すると ruby: no such file to load -- nkf (LoadError) というエラーがでました。 インストール方法に問題があるでしょうか?
>962 代入の = はいくつかの解釈がされる。 var = val # 変数への代入 obj[idx] = val # obj.[]=(idx,val) obj.hoge = val # obj.hoge=(val) なので、より正確に書くなら obj.hoge = x だな。レシーバなしの hoge = x だと ローカル変数 hoge への代入になってしまう。
>>955 yarvには難読化機能があるらしいけど、それじゃだめなのか?
>>964 サンクス そういう勉強はどこですればいいの? 単純にRubyかけるだけではなく、もう少し深く学びたくなってきたので
マッツと愛を育む
使用法の勉強には全く役に立たないくせにデカくて厚くて高くて細かいこと書いてある例の本にお布施
>966 そういう細かい仕様はリファレンスマニュアルを隅から隅まで読んだり MLを読んだりしてると覚えてくる。 ちなみにさっきのはリファレンスマニュアルの 「演算子式」→「代入」に書かれてる内容。
以下のようなtidyのサンプルを実行すると require 'rubygems' require 'tidy' Tidy.path = "/usr/local/bin/tidy" html = '<html><title>title</title>Body</html>' xml = Tidy.open(:show_warnings=>true) do |tidy| tidy.options.output_xml = true puts tidy.options.show_warnings xml = tidy.clean(html) puts tidy.errors puts tidy.diagnostics xml end puts xml 以下のようなエラーがでます。 RuntimeError: can't find the symbol 'tidyCreate' method symbol in import.rb at line 126 method import in import.rb at line 145 method extern in import.rb at line 61 method load in tidylib.rb at line 17 method path= in tidy.rb at line 46 at top level in tidy_test_sample.rb at line 7 ご教授お願いします。 当方mac10.4.9 ruby1.8.5
で、
>>938 はRuby on Railsの何を追いかけてたの?
RoRが諦めかけていた夢を追いかけてたの
974 :
デフォルトの名無しさん :2007/03/22(木) 21:53:51
def on_start(event) rd = rand(@words.length) @engTxt.set_value(@words[rd][0]) sleep 1 @japTxt.set_value(@words[rd][1]) end sleepの入る位置がおかしいです。 英語を表示してから日本語を表示したいのですが、1秒待ってから英語と日本語を同時に表示します。 解決策はありますか?
976 :
971 :2007/03/22(木) 22:17:43
Tidy.path =
の行でエラーがでます。
自分なりにいろいろpathを変えてみた中ででた
エラーのパターンは
RuntimeError: can't find the symbol 'tidyCreate' もしくは
Unable to load ほにゃほにゃ
です。
ttp://tidy.sourceforge.net/trt/tidy_mosx.tgz HTML tidyは上記をダウンロードし解凍した”tidy”を
/usr/local/bin/ に放り込みました。
ターミナルで
tidy -h
とするとヘルプが表示されているのでインストールはできていると思います。
tidyは
gem install tidy でインストールし1.1.2がインストールできていると思います。
お助けください。
977 :
デフォルトの名無しさん :2007/03/22(木) 22:24:22
>>975 そのサイトは知りませんでした!!!
ありがとうございます!!!
超感動しました。sizerの使い方もよくわからなかったので;;
>>976 Tidyのコマンドじゃなくて、TidyLibライブラリを指定しないと駄目。
980 :
971 :2007/03/23(金) 02:28:40
>>980 Structだとアクセサが便利なのと
newするときに配列渡すだけで初期化できるとこがいい。
Arrayへの変換もできるし。
985 :
971 :2007/03/23(金) 13:44:47
>>981 なるほど。ありがとうございます。
StructはRubyの入門書の類にはあまり出てこなかったので
ほとんど知りませんでした。
便利そうなので勉強して使ってみたいと思います。
>>984 初心者スレだから必要
おまえのようなやつは本スレだけみとけ
Tk::BWidget::NoteBook について質問なのですが, raise(page=nil) メソッドで特定のページをアクティブにする(表示する)事はできたのですが, 逆に,現在アクティブな(表示されている)ページの情報を取得するにはどうしたらよろしいのでしょうか? タブを右クリック→そのタブを削除 みたいな動作が欲しいのですが…
988 :
デフォルトの名無しさん :2007/03/23(金) 17:23:55
wxRubyを使え
if A > B then と if A - B > 0 then ってどっち使うほうがいい?
>>989 そりゃアルゴリズムにおけるAとBの意味による
例えば自動車Aと自動車Bの速度だとすると
前者は「Aの方がBよりも速い」
後者は「AのBに対する相対速度が正」
Rubyは人間の思考中心の言語だからNE
>>989 A-B>0は、Cのintのような整数の範囲が限られている場合に意図しない(が正しい)
動作をすることがあるが、Rubyは自動的にFixnum<->Bignum変換されるから、
文脈に応じて分かりやすいほうでいいんじゃないかな。
みんなreturnは必ず書くよな!
最悪nilでも返さないとデータ漏洩につながるからな。
returnは書く でも if hoge return foo else return bar end な書き方ってあっちこっち飛び回って実際問題gotoと一緒だよなぁ returnってメソッド内で1つだけにしたほうがいいのかなぁ
>>995 の自己レス
例えば
if hoge
piyo = foo
else
piyo = bar
end
return piyo
こんな風にね
>>996 メイン分岐の処理自体に前処理を書くのが楽だったとしても無理矢理まとめる?
return nothing unless hoge.has_key?('momomo')
のような
出口は1個であるべきなんだけど難しいね
if文が値返すから return (if condition hoge else bar end) とか書けるな。返す文を短く書けるなら return (condition ? hoge :bar) か
でっかい if 文で括ったほうが素直かと 容易にネストしまくると思われるが
>>992 def hoge
@hoge
end
で、いちいち return @hogeとは書かない
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。