◀一般トップへ
  • 6187 Rubyファイル編集時の動作
    • 6189 Re:Rubyファイル編集時の動作
      • 6200 Re2:Rubyファイル編集時の動作
        • 6202 Re3:Rubyファイル編集時の動作
          • 6206 Re4:Rubyファイル編集時の動作
            • 6207 Re5:Rubyファイル編集時の動作
  • [6187] Rubyファイル編集時の動作 neko 2007年08月02日 16:09

    YahooブリーフケースにあるRuby設定ファイル(http://file1.grp.yahoofs.jp/v1/8ICxRvCQ9wQRCaf3_hq3jIwQfJI_lOl6uNXKlww
    liFvjlb0wdshHa5W38eOFUL2qkSZjncegAJa4g1p
    x/User/Data/RubyDef.lzh)を使っているのですが,自動インデントが有効になっているときに,たとえば以下のようなコード
    5000.times do
    puts( rand(100) )
    end
    のendの後ろで改行を入れると,
    5000.times do
    puts( rand(100) )
    end
    en
    となってしまいます.

    たぶんバグだと思うので,修正お願いします.
    • [6189] Re:Rubyファイル編集時の動作 too 2007年08月03日 00:25

      メニュー[設定]-[タイプ別設定]で開くダイアログの[スクリーン]タブにて、
      「その他のインデント対象文字」の欄になにか入っている、
      というわけではないでしょうか?
      • [6200] Re2:Rubyファイル編集時の動作 neko 2007年08月03日 13:53

        たしかに,「begin」が入っています.
        しかし,これの影響で消えているとすると,結局バグだと思いますがいかがでしょうか?

        それとも,これが規定の動作なのでしょうか?
        だとするとこの動作はちょっと問題があるとおもいます.
        • [6202] Re3:Rubyファイル編集時の動作 すい 2007年08月03日 19:20

          >>「その他のインデント対象文字」の欄になにか入っている、
          >たしかに,「begin」が入っています.

          つまり、
          「“b”という文字と、“e”という文字と、“g”という文字と、“i”という文字と、
           “n”という文字を、スペースやタブ文字等と同様に、インデント文字と みなして
           オートインデント(改行時に、次行の先頭にもコピーされる)しなさい。」
          と、わざわざ設定しているのですから、当然そういう動作になりますよね。

          「end」という文字が行頭にあれば、そのうち
          “e”という文字と、“n”という文字は、スペースやタブ文字等と同様に
          扱ってオートインデント(次行の先頭にもコピーされる)される。
          でも“d”という文字はインデント文字扱いに設定されていないから、
          次行にコピーされては来ない。

          きちんと設定通りに動作していますよね。

          というか、そもそも何故「その他のインデント対象文字(&I)」の欄に
          「begin」なんていう設定をしているのですか?
          • [6206] Re4:Rubyファイル編集時の動作 neko 2007年08月05日 23:55

            え,そういう動作になるんですか,想定外でした.
            てっきり「begin」と言う単語を見つけたら,次からtab等でインデントされるものであると考えておりました.

            正直,今となってはどういった経緯で「begin」が入ってるのか思い出せませんが,
            私の設定ミスのようですね,,,

            すいさんの機嫌も損ねさせてしまったようで,申し訳ありませんでした.
            私としてはそういう文章を書いたつもりはなかったのですが,
            結果的にそうなってしまったのは私の責任です.

            大変申し訳ありませんでした.

            これ以上失礼なことを重ねるのは申し訳ないので,これ以降書き込みは控えさせていただきます.

            重ね重ね,申し訳ありませんでした.
            • [6207] Re5:Rubyファイル編集時の動作 すい 2007年08月06日 04:42

              >てっきり「begin」と言う単語を見つけたら,次からtab等でインデントされるものであると考えておりました.

              ああ、そういうつもりだったのですか。
              残念ながらそういう機能(設定項目)はありませんから、少なくとも現状のサクラエディタには。

              もし、『「begin」という単語の後の改行でタブが入る』とかいう機能が
              将来付くとしたら「スマートインデント」の中に追加される形になると
              思いますけど。

              >すいさんの機嫌も損ねさせてしまったようで,申し訳ありませんでした.

              え゛、べつにそんな事はないのですけど、、、
              いらぬ誤解をさせてしまったようでしたら すみません。


              ----- 業務(?)連絡 -----
              設定画面、見直した方が良いのかも。
              タイプ別設定の「インデント」の中。

              最上段の
              ・自動インデント(&U)
              ・全角空白も(&Z)
              と
              ・その他のインデント対象文字(&I)
              はオートインデント(自動インデント)の設定項目。

              で、その間に何故か関係ない
              ・スマートインデント(&S)
              の設定項目がある。

              この設定項目の配置は変えた方が良いかと。
              あと、「その他のインデント対象文字(&I)」は
              「その他の*自動*インデント対象文字(&I)」という項目名に変更した方が。