質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Q&A

解決済

2回答

734閲覧

初心者が既存のRubyプログラムを改修することになりました。

nprtn

総合スコア11

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

0グッド

1クリップ

投稿2019/07/05 01:03

#前置き
Ruby初心者というか,プログラミング初心者です。
既存のRubyプログラムを改修しているのですが,行き詰っている部分がありますので
質問させていただきます。

#質問
通常,メソッドに引数を渡してその戻り値を変数に格納する際は,
変数 = メソッド名(引数)
と記述するのだと思うのですが,既存のRubyプログラムには
変数.メソッド名 引数
と記述されています。(ピリオドと半角スペースで区切られている)
この部分が動作しないので,なにか情報をいただけないでしょうか,

#補足
本当に初心者で,独学でやっていますので基本的なことも理解していない部分が多いです。
様々なWebサイトで調べてみたのですが,解決に至りませんでした。
みなさまよろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yoorwm

2019/07/05 01:06

文法が間違っている、という事も無いのでコードを追記してみてください。 (記述している内容だけではなんとも言えません。)
tetsunosuke

2019/07/05 01:17

タイトルに初心者アイコンをつけると良いと思います。 今回の例では、たとえば、文字列に新しい文字列を加えるconcatメソッドを使う場合 str = "hoge" str.concat("test") のように書くことをイメージされていると思いますが、 str = "hoge" str.concat "test" でも動作は同じです。推奨はされていないようですが。 動かないのはもしかしたら他の理由かもしれませんよ。 エラーがでているのであればその情報と、もとのコード(業務で扱っているものなので全てというのは難しいのかもしれませんが)を提示してもらえればと思います。
nprtn

2019/07/05 05:57

ご協力ありがとうございました。 元のコードはお客さまのものなので提示することができませんが,今回いただいた情報をもとに確認してみます。
guest

回答2

0

ベストアンサー

変数.メソッド名 引数は、「変数が指しているオブジェクトのメソッドを引数付きで呼び出す」ということです。
変数に対する代入ではないです。そういう目で見直してください。

投稿2019/07/05 01:10

otn

総合スコア84507

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nprtn

2019/07/05 06:00

捉え方が違っていたのですね。ありがとうございます。 教えていただいた視点で見直して見ます。
guest

0

変数 = メソッド名(引数)
と記述するのだと思うのですが

ここから違います。

インスタンスに属している関数がメソッドです。

インスタンス.メソッド(引数) となります。

返り値を変数に格納したい場合は、

変数 = インスタンス.メソッド(引数) このようになります。

変数.メソッド名 引数 という書き方は、確かRubyは引数のカッコを省略できるので、それを使った記法ですね。

https://qiita.com/seiya1121/items/6fcd8a1ab332a4f14439

小手先の回答で何とかできる状況ではないと思うので、まずは入門書を買って一から勉強して下さい。

投稿2019/07/05 01:22

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nprtn

2019/07/05 05:59

入門書は既にあるのですが,なかなか勉強がすすんでいないのです・・・ 別の業務がメインで,この件はその片手間にやっている状況でして。 なるべく時間をつくって勉強します。ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問