Rubyの勉強をはじめました。
簡単なことが、分かりません。
open メッソドにて、ディレクトリの指定の仕方が分かりません。
-------------------------------------------
open("mytest.txt", "w") do |output|
output.print "aaaaaaaaaaaaaaaaaaaaaaaaaa"
end
-------------------------------------------
これは、current directoryにファイルmytest.txtを生成すると
在りますが、currentがわからず、ファイル検索で調べたら、
C:\Documents and Settings\Administrator\Local Settings\Temp
に出来ていました。
Start/プログラムにある、RDEを立ち上げた直後のことです。
(1)書き出す、或いは、読み出すファイルのディレクトリの指定の仕方
(2)フルパスでファイルを指定する方法
open("c:\mytest2.txt", "w") do |output|
output.print "aaaaaaaaaaaaaaaaaaaaaaaaaa"
end
これは、動きませんでした(ファイル生成されず)
宜しくお願いいたします。
No.4ベストアンサー
- 回答日時:
> printの場合、何故か、改行をしていません。
これは、そういうものなのでしょうか?> その場合、改行をさせるには、どのようにして'\n'を入れればよいのでしょうか?
はい。putsは自動的に改行を付加しますが、printはしません。
そういう仕様になっています。
細かい動作については以下のマニュアルを参照してください。
Rubyリファレンスマニュアル - 組み込み関数
http://www.ruby-lang.org/ja/man/?cmd=view;name=% …
printを使って改行を末尾に付加したい場合ですが、自分で出力すればよいです。
たとえば message という変数があり、これには改行がないとして
print message, "\n"
とか
print "#{message}\n"
とすれば末尾に改行がつきます。
ダブルクォートの中にある \ n という並びは改行コードに変換されます。
sakusaker7さん、ありがとうございます。
今仕事で、Perlを使っています。具体的な1つを取り上げて
Rubyで作って見ようとしています。最初の問題は、ファイルを
オープンすることでした。おかしいと自分でも思うのですが、
本には、オープンは書かれていますが、ディレクトリについては、
そこには、書かれておらず・・・・
まともにスクリプトが書けるようになるまでに、また初歩的な質問を
させてください。
ありがとうございました。
No.3
- 回答日時:
文字列を囲むには、" と ' があります。
'・・・' は見たままの文字列になりますが、"・・・" は \n が改行になったり、#{式} が評価されたりといろいろありますので、
そのあたりが分からないうちは、' を使ったほうが間違いないです。
open('c:\mytest2.txt','w')
No.2
- 回答日時:
open の引数がいけないのが原因です。
#1の方の回答のとおり、パスの区切りの '\'を重ねてもいいですが、
'/' を使ってもよいです。
Windows用のRubyであっても、パスの区切りとして'/'を使うことには
まったく問題はありません。
スクリプトが実行されている作業ディレクトリは
Dir.getwd で得ることができます。
ディレクトリは Dir.chdir で変更することができます。
puts Dir.getwd
Dir.chdir('..')
puts Dir.getwd
Dir.chdir('c:/windows')
puts Dir.getwd
この回答への補足
sakusaker7さん、ありがとうございます。
申し訳ない。もう少し教えてください。
スクリプトが実行されている作業ディレクトリは
print Dir.getwd
puts Dir.getwd
これで、得られることはわかりました。
両者の違いは、改行にあるようです。
printの場合、何故か、改行をしていません。これは、そういうものなのでしょうか?その場合、改行をさせるには、どのようにして'\n'を入れればよいのでしょうか?
宜しくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/02/05 09:55
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/15 15:48
- その他(プログラミング・Web制作) Fortranでの出力ファイル 2 2023/03/21 21:25
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/15 15:12
- Visual Basic(VBA) VBAでの共有パスにつきまして 1 2023/03/04 17:24
- PHP ファイルアップロードに関してのセキュリティについてアドバイスお願い致します 1 2023/08/20 00:25
- その他(プログラミング・Web制作) 図に示す階層構造で,現在のディレクトリ(カレントディレクトリという)が*印のディレクトリであるとき, 2 2022/11/16 10:55
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- Excel(エクセル) マクロでテキストファイルを読み込んだ際の最終セルにデータと改行が含まれる問題の改善方法 2 2022/03/25 16:50
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エスケープ文字の復帰(¥r)と...
-
ソースコードの1行が長いとき...
-
VBAのコマンドボタンの文字列の...
-
ファイルから読み取った改行文...
-
jsp 改行コードで改行させて表...
-
JAVA System.out.println の ...
-
COBOLの改行
-
C++で空Enterの入力を判...
-
秀丸の正規表現で複数行にわた...
-
改行コード2種類を混在させたい
-
改行を読み飛ばす
-
VBAでCSVをExcelに取り込む時に...
-
ファイル内の1行(レコード)から...
-
改行コードが半角スペースにな...
-
C++でのCRLFについて
-
C言語について。
-
【VBA】エクセルで最後の不要な...
-
Getlineについて・・・・・・
-
C# csvでセル内で改行するには
-
改行が半角スペースに変わる
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAのコマンドボタンの文字列の...
-
ソースコードの1行が長いとき...
-
エスケープ文字の復帰(¥r)と...
-
COBOLの改行
-
改行について
-
最終行の改行について
-
C++で空Enterの入力を判...
-
【VBA】エクセルで最後の不要な...
-
jsp 改行コードで改行させて表...
-
C++でのCRLFについて
-
ファイルから読み取った改行文...
-
テキストファイルから改行コー...
-
ExcelVBAでメールを作成してメ...
-
awkで改行を除いて文字列を抜き...
-
エクセルVBA 文字列領域が不足...
-
VBAでCSVをExcelに取り込む時に...
-
コンボボックスの項目中に改行を
-
JavaDoc コメントの改行について
-
Excel VBAからBeckyを起動して...
-
改行を読み飛ばす
おすすめ情報