Loading ...
Sorry, an error occurred while loading the content.

Barusaaan Aja

Expand Messages
  • bino_oetomo
    Halo ... Saya barusan aja kecemplung ruby. Yah karena ada keperluan khusus dan nampak nya ada harpan di Ruby ini. Saat ini satu satu nya scripting yang saya
    Message 1 of 4 , Apr 19, 2007
    • 0 Attachment
      Halo ...
      Saya barusan aja kecemplung ruby.

      Yah karena ada keperluan khusus dan nampak nya ada harpan di Ruby ini.

      Saat ini satu satu nya scripting yang saya rada ngerti ya cuma BASH.

      Saya nemu kesulitan mengenai File access di Ruby.

      Berikut ini sebagai gambaran :

      1. Saya bikin BASH script sederhana yang fungsinya cuma generate angka
      angka urut saja .. dan setiap hasilnya di tulis secara overide ke
      suatu file. Sebut saja script nya bash1
      ---START----
      #!/bin/sh
      b=0
      while true
      do
      b=$(($b+1))
      f="/mnt/ramdisk0/line3"
      echo $b >$f
      done
      ---Stop----

      2. Saya bikin bash script ke dua (bash2), yang fungsi nya looping
      terus ngebaca isi file yang ditulis oleh bash1 tersebut

      ---START----
      #!/bin/sh
      b=0
      while true
      do
      clear
      cat /mnt/ramdisk0/line3
      done
      ---Stop----

      3. Saya jalankan bash1 pada satu console dan pada saat yang sama saya
      jalankan bash2 pada console lainnya ... dan si bash2 sukses
      menampilkan apa saja yang di tulis oleh bash1.

      4. Ok ... saya brentikan si bash1 sementara bash2 masih jalan.
      saya buka irb dan ketik ketik :
      ---Start----
      irb
      irb(main):001:0> my_file = File.new("/mnt/ramdisk0/line3",
      modestring="a+")
      => #<File:/mnt/ramdisk0/line3>
      irb(main):002:0> my_file.flock(File::LOCK_UN)
      => 0
      irb(main):003:0>
      irb(main):004:0* my_file.puts "write it"
      => nil
      ----Stop---

      5. Saya liat di console yang running bash2 .. ternyata dia tetep aja
      menampilkan hasil terakhir tulisan bash1 , bukan nya menampilkan
      "write it".
      6. Tapi ketika saya keluar dari irb .. dan kembali melihat di console
      bash2 .. barulah disitu tampil tulisan "write it"

      Pertanyaan :
      1. Bagaimana caranya menulis ke file yang sedang dibuka oleh aplikasi
      lain diluar ruby itu sendiri ?
      2. puts ke File.open ataupun File.new .. selalu bersifat
      "menambahkan", bagaimana caranya agar overide ?

      Sangat diharapkan pencerahan nya
      -bino-
    • Wirianto Djunaidi
      coba panggil method flush dulu. Kayaknya belum kebaca ama bash2 karena masih ada di buffer, pas kamu keluar dari irb, otomatis flush. ... [Non-text portions of
      Message 2 of 4 , Apr 20, 2007
      • 0 Attachment
        coba panggil method flush dulu. Kayaknya belum kebaca ama bash2 karena masih
        ada di buffer,
        pas kamu keluar dari irb, otomatis flush.

        On 4/20/07, bino_oetomo <bino_oetomo@...> wrote:
        >
        > Halo ...
        > Saya barusan aja kecemplung ruby.
        >
        > Yah karena ada keperluan khusus dan nampak nya ada harpan di Ruby ini.
        >
        > Saat ini satu satu nya scripting yang saya rada ngerti ya cuma BASH.
        >
        > Saya nemu kesulitan mengenai File access di Ruby.
        >
        > Berikut ini sebagai gambaran :
        >
        > 1. Saya bikin BASH script sederhana yang fungsinya cuma generate angka
        > angka urut saja .. dan setiap hasilnya di tulis secara overide ke
        > suatu file. Sebut saja script nya bash1
        > ---START----
        > #!/bin/sh
        > b=0
        > while true
        > do
        > b=$(($b+1))
        > f="/mnt/ramdisk0/line3"
        > echo $b >$f
        > done
        > ---Stop----
        >
        > 2. Saya bikin bash script ke dua (bash2), yang fungsi nya looping
        > terus ngebaca isi file yang ditulis oleh bash1 tersebut
        >
        > ---START----
        > #!/bin/sh
        > b=0
        > while true
        > do
        > clear
        > cat /mnt/ramdisk0/line3
        > done
        > ---Stop----
        >
        > 3. Saya jalankan bash1 pada satu console dan pada saat yang sama saya
        > jalankan bash2 pada console lainnya ... dan si bash2 sukses
        > menampilkan apa saja yang di tulis oleh bash1.
        >
        > 4. Ok ... saya brentikan si bash1 sementara bash2 masih jalan.
        > saya buka irb dan ketik ketik :
        > ---Start----
        > irb
        > irb(main):001:0> my_file = File.new("/mnt/ramdisk0/line3",
        > modestring="a+")
        > => #<File:/mnt/ramdisk0/line3>
        > irb(main):002:0> my_file.flock(File::LOCK_UN)
        > => 0
        > irb(main):003:0>
        > irb(main):004:0* my_file.puts "write it"
        > => nil
        > ----Stop---
        >
        > 5. Saya liat di console yang running bash2 .. ternyata dia tetep aja
        > menampilkan hasil terakhir tulisan bash1 , bukan nya menampilkan
        > "write it".
        > 6. Tapi ketika saya keluar dari irb .. dan kembali melihat di console
        > bash2 .. barulah disitu tampil tulisan "write it"
        >
        > Pertanyaan :
        > 1. Bagaimana caranya menulis ke file yang sedang dibuka oleh aplikasi
        > lain diluar ruby itu sendiri ?
        > 2. puts ke File.open ataupun File.new .. selalu bersifat
        > "menambahkan", bagaimana caranya agar overide ?
        >
        > Sangat diharapkan pencerahan nya
        > -bino-
        >
        >
        >


        [Non-text portions of this message have been removed]
      • bino_oetomo
        ... karena masih ... Thanks allot atas pencerahan nya. Karena saya masih sangat bego dan gaktau bagaimana manggil flush akhirnya saya akalin aja pake buka
        Message 3 of 4 , Apr 26, 2007
        • 0 Attachment
          --- In id-ruby@yahoogroups.com, "Wirianto Djunaidi"
          <wirianto.djunaidi@...> wrote:
          >
          > coba panggil method flush dulu. Kayaknya belum kebaca ama bash2
          karena masih
          > ada di buffer,
          > pas kamu keluar dari irb, otomatis flush.
          >

          Thanks allot atas pencerahan nya.

          Karena saya masih sangat bego dan gaktau bagaimana manggil "flush"
          akhirnya saya akalin aja pake buka tutup file, and it works.

          Salam
          -bino-
        • Yohanes Santoso
          ... File.open( /tmp/test , w ) {|f| f.write( x ); f.flush } ... f.close paksa ruby untuk panggil f.flush sebelum benar2x menutup. YS.
          Message 4 of 4 , Apr 27, 2007
          • 0 Attachment
            "bino_oetomo" <bino_oetomo@...> writes:

            > Karena saya [...] gaktau bagaimana manggil "flush"

            File.open("/tmp/test", "w") {|f| f.write("x"); f.flush }

            > akhirnya saya akalin aja pake buka tutup file, and it works.

            f.close paksa ruby untuk panggil f.flush sebelum benar2x menutup.

            YS.
          Your message has been successfully submitted and would be delivered to recipients shortly.