[#15841] abstract method — Tanaka Akira <akr@...17n.org>
最近、abstract method が欲しくなり、次のようなものを書きました。
[#15846] Ruby M17N request — "K.Kosako" <kosako@...>
今書いているライブラリを、あらかじめRuby M17Nに対応させておこうとして、
まつもと ゆきひろです
Yukihiro Matsumotoさんの<1012831868.125952.28017.nullmailer@ev.netlab.jp>から
<20020205045749.0AAA015B@helium.ruby-lang.org>から
At Mon, 25 Feb 2002 19:57:05 +0900,
At Mon, 25 Feb 2002 21:00:46 +0900,
まつもと ゆきひろです
まつもと ゆきひろです
Yukihiro Matsumotoさんの<1014656883.878972.23459.nullmailer@ev.netlab.jp>から
At Mon, 25 Feb 2002 19:57:05 +0900,
At Sun, 3 Mar 2002 07:15:40 +0900,
まつもと ゆきひろです
Yukihiro Matsumotoさんの<1015574625.778743.29060.nullmailer@ev.netlab.jp>から
まつもと ゆきひろです
なかだです。
nobu.nakada@nifty.ne.jpさんの
なかだです。
nobu.nakada@nifty.ne.jpさんの
なかだです。
なかだです。
nobu.nakada@nifty.ne.jpさんの
あおきです。
なかだです。
[#15855] Re: [ruby-cvs] ruby: * io.c (fptr_finalize): should raise error when fclose fails. — nobu.nakada@...
なかだです。
[#15861] syscall — nobu.nakada@...
なかだです。
西山和広です。
なかだです。
In article <200202091509.g19F9mO16072@sharui.nakada.kanuma.tochigi.jp>,
まつもと ゆきひろです
なかだです。
[#15867] [BUG?] include after module definition and extend module — keiju@... (Keiju ISHITSUKA)
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
In article <1014021831.527593.5892.nullmailer@ev.netlab.jp>,
まつもと ゆきひろです
In article <1014100898.366150.14204.nullmailer@ev.netlab.jp>,
まつもと ゆきひろです
In article <1014126659.698034.15364.nullmailer@ev.netlab.jp>,
[#15903] -L option in extmk.rb — nobu.nakada@...
なかだです。
[#15914] making net/*.rb grok URI — "Akinori MUSHA" <knu@...>
net/*.rb モジュール群をぜひとも標準添付となった URI クラスに
At Mon, 18 Feb 2002 04:33:42 +0900,
あおきです。
At Mon, 18 Feb 2002 15:24:22 +0900,
あおきです。
高橋征義です。
In article <200202190432.NAA18796@mx.inac.co.jp>,
高橋征義です。
In article <20020221020159R.maki@rubycolor.org>,
なかだです。
In article <200202202350.g1KNoc731179@sharui.nakada.kanuma.tochigi.jp>,
なかだです。
In article <200202210553.g1L5rk713061@sharui.nakada.kanuma.tochigi.jp>,
まつもと ゆきひろです
In article <1014277711.428770.25909.nullmailer@ev.netlab.jp>,
[#15918] win32 方面 — Kazuhiro NISHIYAMA <zn@...>
西山和広です。
[#15988] Re: [rubyist:1097] Re: % 記法 — nobu.nakada@...
なかだです。
なかだです。
西山和広です。
まつもと ゆきひろです
なかだです。
[#15994] subdir in mkmf.rb — nobu.nakada@...
なかだです。
[#16040] Digest::MD5 SEGV (ruby_1_6) — m_seki@...
[#16049] defined? autoload constant — Kazuhiro NISHIYAMA <zn@...>
西山和広です。
まつもと ゆきひろです
なかだです。
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
なかだです。
けいじゅ@日本ラショナルソフトウェアです.
なかだです。
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
なかだです。
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
[#16050] ParseDate.to_time — Kazuhiro NISHIYAMA <zn@...>
西山和広です。
[#16059] New Struct — Shin-ichiro HARA <sinara@...>
原です。
[#16068] UNIXSocket#{send_io,recv_io} — Tanaka Akira <akr@...17n.org>
しばらく前にふと気が向いて UNIXSocket#{send_io,recv_io} というものをでっ
まつもと ゆきひろです
In article <1014700933.711454.28068.nullmailer@ev.netlab.jp>,
まつもと ゆきひろです
[#16082] Array#select without block — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
新井です。
まつもと ゆきひろです
[#16102] No trace_func event at if-elsif-else line — "NAKAMURA, Hiroshi" <nakahiro@...>
なひです。
まつもと ゆきひろです
なひです。
まつもと ゆきひろです
なひです。
まつもと ゆきひろです
なひです。
まつもと ゆきひろです
なひです。どうせ一年も先の話なのでのんびりと。
まつもと ゆきひろです
なひです。
まつもと ゆきひろです
なひです。
まつもと ゆきひろです
なひです。
[#16112] ruby 1.6.7 preview 1 — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
[#16126] patch for gdbm, dbm and sdbm — Koji Arai <JCA02266@...>
新井です。
[#16134] Defining (Python) Source Code Encoding — TAKAHASHI Masayoshi <maki@...>
高橋征義です。ruby-list の「localized document」ともやや関係あり?
新井です。
なかだです。
[#16138] Hash implementation — MORITA Naoyuki <naohaq@...>
はじめまして、森田と申すものです。
[#16145] ruby 1.6.7 (2002-02-27)/marshal data too short (ArgumentError) — m_seki@...
[ruby-dev:15861] syscall
なかだです。
syscallがいまいち使いようがないので、こんなものを作ってみました。
Index: Makefile.in
===================================================================
RCS file: /cvs/ruby/src/ruby/Makefile.in,v
retrieving revision 1.30
diff -u -2 -p -r1.30 Makefile.in
--- Makefile.in 2002/01/11 15:36:11 1.30
+++ Makefile.in 2002/02/07 02:17:00
@@ -84,5 +84,5 @@ OBJS = array.@OBJEXT@ \
$(MISSING)
-all: miniruby$(EXEEXT) @PREP@ rbconfig.rb $(LIBRUBY)
+all: miniruby$(EXEEXT) @PREP@ rbconfig.rb $(LIBRUBY) @syscall_rb@
@@MINIRUBY@ -Cext extmk.rb @EXTSTATIC@
@@ -144,4 +144,7 @@ fake.rb: miniruby$(EXEEXT)
end \
' > $@
+
+syscall.rb: mksyscall.rb miniruby$(EXEEXT)
+ @./miniruby$(EXEEXT) $< $@
config.status: $(srcdir)/configure
Index: configure.in
===================================================================
RCS file: /cvs/ruby/src/ruby/configure.in,v
retrieving revision 1.109
diff -u -2 -p -r1.109 configure.in
--- configure.in 2002/02/06 08:23:46 1.109
+++ configure.in 2002/02/07 01:27:42
@@ -303,4 +303,6 @@ AC_CHECK_FUNCS(fmod killpg drand48 rando
dlopen sigprocmask sigaction _setjmp setsid telldir seekdir fchmod\
mktime timegm)
+test x$ac_cv_func_syscall = xyes && syscall_rb=syscall.rb
+AC_SUBST(syscall_rb)
AC_STRUCT_TIMEZONE
AC_CACHE_CHECK(for struct tm.tm_gmtoff, rb_cv_member_struct_tm_tm_gmtoff,
Index: instruby.rb
===================================================================
RCS file: /cvs/ruby/src/ruby/instruby.rb,v
retrieving revision 1.19
diff -u -2 -p -r1.19 instruby.rb
--- instruby.rb 2001/04/30 17:55:56 1.19
+++ instruby.rb 2002/02/07 02:17:45
@@ -100,3 +100,4 @@ Dir.chdir wdir
File.install "config.h", archlibdir, 0644, true
File.install "rbconfig.rb", archlibdir, 0644, true
+File.install "syscall.rb", archlibdir, 0644, true if File.exist? "syscall.rb"
# vi:set sw=2:
Index: mksyscall.rb
===================================================================
RCS file: mksyscall.rb
diff -N mksyscall.rb
--- /dev/null Thu Jan 1 09:00:00 1970
+++ mksyscall.rb Thu Feb 7 11:31:08 2002
@@ -0,0 +1,114 @@
+#!./miniruby -I.
+
+require 'mkmf'
+
+class Syscall < Hash
+ CONFTEST = "conftest.c"
+
+ def initialize
+ headers = {}
+
+ open(CONFTEST, "w") do |f|
+ f.print <<SRC
+#include "config.h"
+#if HAVE_SYSCALL_H && HAVE_SYSCALL
+#include <syscall.h>
+#else
+!!!NotImplemented
+#endif
+SRC
+ end
+ IO.foreach("|"+format(CPP, $CPPFLAGS, $CFLAGS, "")) do |l|
+ case l
+ when /^\s*\#\s*(?:line)?\s+\d+\s+"((?!conftest\.c).+)"/
+ headers[$1] = true
+ when /^!!!NotImplemented/
+ raise NotImplementedError
+ else
+ l.scan(/\bSYS_\w+/) {|s| self[s] = true}
+ end
+ end
+
+ if empty?
+ raise NotImplementedError if headers.empty?
+ headers.each_key do |f|
+ IO.foreach(f) do |l|
+ self[$1] = true if /^\s*\#\s*define\s+(SYS_\w+)/ =~ l
+ end
+ end
+ raise NotImplementedError if empty?
+ end
+
+ return unless find {|n, s| s == true}
+
+ open(CONFTEST, "w") do |f|
+ f.print "#include <syscall.h>\n"
+ each_key {|s| f.print "\"#{s}\"=#{s}\n"}
+ end
+ IO.foreach("|"+format(CPP, $CPPFLAGS, $CFLAGS, "")) do |l|
+ if /^\"(SYS_\w+)\"=\s*(.*)/ =~ l
+ s, n = $1, $2
+ self[s] = n.to_i if /^(?:0x[0-9a-f]+|0[0-7]+|\d+)$/ =~ n
+ end
+ end
+
+ src = ""
+ each do |s, n|
+ src << "printf(\"#{s}=%d\n\", #{s});\n" if n == true
+ end
+ if !src.empty? and try_link0("#include <syscall.h>\n\nint main(){\n"+src+"}\n")
+ IO.foreach("|./conftest") do |l|
+ if /^(SYS_\w+)=(\d+)/ =~ l
+ s, n = $1, $2
+ self[s] = n.to_i
+ end
+ end
+ end
+ ensure
+ File.unlink(*Dir["conftest*"])
+ end
+
+ def write_to(f)
+ syscalls = []
+ each {|s, n| syscalls << [n, s.sub(/^SYS_/, ""), s]}
+ syscalls.sort!
+ f.print "module Syscall\n"
+ f.print " Platform = %[", `uname -srm`.chomp, "].each {|s| s.freeze}.freeze\n"
+ f.print "\n NR = {}\n"
+ syscalls.each do |n, t, s|
+ f.print " NR[:#{t}] = #{s} = #{n}\n"
+ end
+ f.print "\n module_function\n"
+ syscalls.each do |n, t, s|
+ f.print " def #{t}(*args) syscall(#{n}, *args) end\n"
+ end
+ f.print "end\n"
+ end
+end
+
+case ARGV.size
+when 0, 1
+else
+ STDERR.print "usage: #{$0} [output]\n"
+ exit 1
+end
+
+begin
+ syscalls = Syscall.new
+rescue NotImplementedError
+ STDERR.print "#{$0}: syscall.h or syscall number not found.\n"
+ exit(1)
+end
+
+if output = ARGV.shift
+ open(output, "w") {|f| syscalls.write_to(f)}
+else
+ syscalls.write_to(STDOUT)
+end
+
+# Local Variables:
+# mode : ruby
+# tab-width : 8
+# ruby-indent-level : 2
+# End:
+# vi: sw=2 ts=8
--
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
中田 伸悦