2008-05-01から1ヶ月間の記事一覧

PDF::Writer:PDF::TechBook .toc

require 'pdf/techbook' PDF::TechBook.run(ARGV) で、以下の内容のファイルを指定し実行 .toc Test 1<Chapter 1> 1<Chapter 2> 1<Chapter 3>? 出力されない…</chapter></chapter></chapter>

Java FAQ:内部クラスから外側のクラスのメソッドや変数を明示的に参照する

Java FAQ:S016 Q-10まんま class C2008053100_Outer { int var = 0; class C2008053100_Inner { int var = 1; class C2008053100_MostInner { int var = 2; public void innerMethod() { System.out.println("this.var = " + var); System.out.println("thi…

簡単な例。parse への渡し方、いろいろ

#!/usr/bin/env ruby require 'tdp' parser = TDParser.define {|g| g.a = "a" g.b = "b" g.c = "c" g.input = g.a - g.b - g.c >> proc {|x| p x } def parse(str) tokens = str.split(/\s+/) input.parse(tokens) end } parser.parse("a b c") で、 ["a", …

PDF::Writer:PDF::TechBook .columns

require 'pdf/techbook' PDF::TechBook.run(ARGV) で、以下の内容のファイル(まんま)を指定し実行 .columns 3 Column 1 .newpage Column 2 .newpage Column 3 .columns off想像した結果と違うな

Java FAQ:匿名クラス

Java FAQ:S016 Q-06class の場合 class C2008053001 { void foo() {} } public class C2008053000 { public static void main(String[] args) { C2008053001 c = new C2008053001() { void foo () { System.out.println("foo"); } }; c.foo(); } } で、 foo…

簡単な例。empty()。1個以上の繰り返し

#!/usr/bin/env ruby require 'tdp' require 'tdp/utils' parser = TDParser.define {|g| g.a = "a" g.input = g.aa >> proc {|x| x } g.aa = (g.a - g.aa) | empty() def parse(str) tokens = str.split(/\s+/) input.parse(tokens) end } p parser.parse("…

PDF::Writer:PDF::TechBook .eval 〜 .endeval

require 'pdf/techbook' PDF::TechBook.run(ARGV) で、以下の内容のファイル(まんま)を指定し実行 .eval puts "Hello" .endevalで、 Hello

Java FAQ:ローカルクラス

Java FAQ:S016 Q-05常に private class C2008052901 { { public class C2008052902 { } } } public class C2008052900 { public static void main(String[] args) { new C2008052901(); } } で、 C2008052900.java:4: 式の開始が不正です。 public class C2…

TDPUtils::StringTokenizer は改行を扱える?

#!/usr/bin/env ruby require 'tdp' require 'tdp/utils' parser = TDParser.define {|g| g.a = "a" g.input = g.a - g.token(:int) - g.token("\n") >> proc {|x| x } def parse(str) tokenizer = TDPUtils::StringTokenizer[ /\d+/ => :int, ] #input.pars…

PDF::Writer:PDF::TechBook .blist 〜 .endblist

require 'pdf/techbook' PDF::TechBook.run(ARGV) で、以下の内容のファイル(まんま)を指定し実行 .blist Item 1 .blist disc Item 1.1 .endblist .endblist

Java FAQ:内部クラスの制限

Java FAQ:S016 Q-03 class C2008052801 { class C2008052802 { static { } } } public class C2008052800 { public static void main(String[] args) { new C2008052801(); } } で、 C2008052800.java:4: 内部クラスが static 宣言を持つことはできません。…

TDPUtils::StringTokenizer

#!/usr/bin/env ruby require 'tdp' require 'tdp/utils' parser = TDParser.define {|g| g.a = "a" g.input = g.a - g.token(:int) >> proc {|x| x } def parse(str) tokenizer = TDPUtils::StringTokenizer[ /\d+/ => :int, ] input.parse(tokenizer.gener…

PDF::Writer:PDF::TechBook .code 〜 .endcode

require 'pdf/techbook' PDF::TechBook.run(ARGV) で、以下の内容のファイルを指定し実行 .code require 'pdf/techbook' PDF::TechBook.run(ARGV) .endcode

Java FAQ:ネストした型

Java FAQ:S016 Q-01staticなメンバー型やインスタンス初期化子・静的初期化子内のローカルクラスとかはどういう利用法があるのだろうか?

簡単な例。leftrec

#!/usr/bin/env ruby require 'tdp' parser = TDParser.define {|g| g.a = "a" g.b = "b" g.c = "c" g.d = "d" g.input = g.leftrec(g.a, g.b, g.c) {|x| p x } def parse(str) tokens = str.split(/\s+/) input.parse(tokens) end } p parser.parse("a b");…

PDF::Writer:PDF::TechBook .pre 〜 .endpre

require 'pdf/techbook' PDF::TechBook.run(ARGV) で、以下の内容のファイルを指定し実行 .pre foo bar baz .endpre

Java FAQ:interface に interface は implements できない

Java FAQ:S015 Q-09「同種のものは extends を、そうでない場合は implements を使用」ということらしい interface C2008052600i { void foo(); } interface C2008052601i extends C2008052600i { } class C2008052601 implements C2008052601i { public vo…

簡単な例。token には正規表現も使えたよ

#!/usr/bin/env ruby require 'tdp' include TDParser parser = TDParser.define {|g| g.input = ((token(/\d+/) - token("b") - token("c")) | (token(/./) - token("b") - token("d"))) >> proc {|x| [x[0], x[1], x[2]] } def parse(str) tokens = str.sp…

PDF::Writer:PDF::TechBook .newpage

require 'pdf/techbook' PDF::TechBook.run(ARGV) で、以下の内容のファイルを指定し実行 .newpage

Java FAQ:abstract クラスとは?

Java FAQ:S015 Q-04 abstract class C2008052500a { abstract void foo(); void bar() { System.out.println("bar"); } } class C2008052501 extends C2008052500a { void foo() { System.out.println("foo"); } } public class C2008052500 { public stati…

簡単な例。fail

#!/usr/bin/env ruby require 'tdp' include TDParser parser = TDParser.define {|g| g.input = token("a") - token("b") - token("c") - fail() >> proc {|x| [x[0], x[1], x[2]] } def parse(str) tokens = str.split(/\s+/) input.parse(tokens) end } p…

PDF::Writer:PDF::TechBook コメント

require 'pdf/techbook' PDF::TechBook.run(ARGV) で、以下の内容のファイルを指定し実行 #1<Chapter>xChapter行頭「#」でコメント行に</chapter>

Java FAQ:interface とは?

Java FAQ:S015 Q-01 interface C2008052400i { void foo(); } class C2008052401 implements C2008052400i { void foo() { System.out.println("foo"); } } public class C2008052400 { public static void main(String[] args) { new C2008052401().foo();…

簡単な例。empty

#!/usr/bin/env ruby require 'tdp' include TDParser parser = TDParser.define {|g| g.input = ((token("a") - token("b") - token("c")) | empty()) >> proc {|x| [x[0], x[1], x[2]] } def parse(str) tokens = str.split(/\s+/) input.parse(tokens) en…

PDF::Writer:PDF::TechBook

require 'pdf/techbook' PDF::TechBook.run(ARGV) で、 fooという内容のファイルを用意し実行 「引数に与えたファイル名から拡張子を除いた名前」+「.pdf」というファイルが生成されるようだ ._mc というキャッシュファイルが生成されるようだ これだけだと…

Java FAQ:配列型を扱うときの問題点?

Java FAQ:S014-Q03まんま public class C2008052300 { public static void main(String[] args) { Object[] array = new String[10]; array[0] = new Integer(1); } } で、 Exception in thread "main" java.lang.ArrayStoreException at C2008052300.main(…

簡単な例。none

#!/usr/bin/env ruby require 'tdp' include TDParser parser = TDParser.define {|g| g.input = token("a") - token("b") - token("c") - none() >> proc {|x| [x[0], x[1], x[2]] } def parse(str) tokens = str.split(/\s+/) input.parse(tokens) end } p…

PDF::Writer:PDF::QuickRef

require 'pdf/quickref' PDF::QuickRef.make do title "My QuickRef" h1 "H1 Text" lines "Text to put after the header." save_as("2008052200.pdf") end

Java FAQ:cast

Java FAQ:S014-Q02 public class C2008052200 { public static void main(String[] args) { double dx = 1.2; int ix; ix = (int)dx; System.out.println(ix); } } をコンパイルした後、javap -c を実行 Compiled from C2008052200.java public class C2008…

簡単な例。any

#!/usr/bin/env ruby require 'tdp' include TDParser parser = TDParser.define {|g| g.input = any() - token("b") - token("c") >> proc {|x| [x[0], x[1], x[2]] } def parse(str) tokens = str.split(/\s+/) input.parse(tokens) end } p parser.parse(…