空(真/偽)は、クラス変数@arr
が空であるかどうかによって異なります。あなたがこれを行うだろうよう
5
A
答えて
7
疑問符は、実際にはメソッド名の一部である:私はなく、別のメソッド名と、前回の記事で示したよう
class MyClass
def empty?
@arr.empty? # Implicitly returned.
end
end
2
全く同じ。
まず、create
は、empty?
メソッドで何かを返す必要があります。たとえば、次のように
class MyClass
def self.create
[]
end
end
あなたの最後の質問ごとにMyClass
のインスタンス上で動作するようにしたい場合:ここで
class MyClass
def self.create
MyClass.new
end
def initialize
@arr = []
end
def empty?
@arr.empty?
end
def add x
@arr << x
self
end
end
アレイの周りに単純なラッパーとしてMyClass
行為、add
方法を提供します。
2
@arrがnilであるかどうかを確認する必要があります。これは空のクラス定義に依存します。
def empty?
[email protected] || @arr.empty?
end
0
あなたは配列にあなたのクラスからempty?
を委任するForwardable
を使用することができます。
require "forwardable"
class MyClass
extend Forwardable
def_delegators :@arr, :empty?
def initialize(arr)
@arr = arr
end
end
my_object = MyClass.new([])
my_object.empty? # => true
関連する問題
- 1. Webrickのデフォルトポートを設定する方法は?私は3010に</p> <pre><code>rails s </code></pre> <p>を行う際
- 2. どのようにユーザーactive_recordための方法を検索する方法はありライン</p> <pre><code><td><%= User.where("id = event.user_id").first_name%></td> </code></pre> <p>ため `エラー私は#のため<code>undefined method</code> FIRST_NAME」を取得していますアクティブなレコード
- 3. Javaの8ストリームマップ<ロング、リスト<MyClass>>マップする<ロング、設定<Long>>
- 4. <p>は、私が聞いてもどこで、どのように</p> <pre><code>http://domain.com, http://www, https://domain.com </code></pre> <p></p> <pre><code>https://www </code></pre> <p>にリダイレクトするために?</p>あなたのnginxの設定ファイルで
- 5. 「<%:」は何をしますか?</p> <pre><code><%: Model.FirstName %> </code></pre> <p>「<%:」何をん:行う
- 6. ポインタ<unique_ptrを<myclass>>要素
- 7. Heredoc <<<または<<?
- 8. は、どのように私は<code>NAVIGATION_MODE_LIST</code></p> <pre><code>getActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_LIST); </code></pre> <p>に<code>action bar</code>を設定し、それ用のアダプタを設定しNAVIGATION_MODE_LIST
- 9. ルーティングレガシーリンク私は</p> <blockquote> <p>/signedin/mypage.aspx?my_key=152372</p> </blockquote> <p>にこのような何かをリダイレクトしたい
- 10. どのように私はこのようにレイアウト<code>("list_item.xml")</code>を持って<code>ListView</code></p> <p>のリスト項目に<code>Button</code>のためのonclickイベントを設定したいのListView
- 11. Rubyのattr_readerは、<<
- 12. Gitは<<<<<<< HEADをファイルに追加し続けます
- 13. xamDataGridのフィールドは、私が使用して<strong><em>コンバータ</em></strong>内のフィールドの<strong>はAllowEdit</strong>プロパティを設定するために、<strong>xamDataGridの</strong>のフィールドに対して<strong><em>スタイル</em></strong>を作りたい
- 14. ?</p> /../ <br> ./../ <br> <p>との違いは何かファイルフォルダを変更するための
- 15. List <Cluster <DoublePoint>>を設定する<DoublePoint>
- 16. Swift <<, ><, <=< and > = <
- 17. 私は以下のように必要な出力をしたい、次の入力</p> <pre><code>I/O 1< img > '< input > I/O 1<' img > '< input > </code></pre> <p>ためのPython
- 18. Rubyのクラス<<自己
- 19. Rubyのプット<< PARAGRAPH
- 20. << Rubyの意味
- 21. SQL:(私はこの</p> <p><strong>ユーザー</strong><br> ID <br> matricule</p> <p><strong>ドキュメント</strong><br> ID <br> タイトル<br> user_idのようなデータベースのスキーマを持って
- 22. <article>,<section>,<figure>,<header>,<footer>,<nav>のようなHTML5タグを使用する利点は何ですか?
- 23. layout.xmlの目的は何ですか?特定の構成のために特定のXMLを使用するための代替資源のためのフォルダがある一方で</p> <pre><code><resources> <item name="main" type="layout">@layout/main_twopanes</item> </resources> </code></pre> <p>:
- 24. は、どのように私は<code>string</code>あるこの</p> <pre><code>var alldest = cc.returnallfullDestinations(mainElement).Split('|'); </code></pre> <p><code>returnallfullDestionations</code>のようなデータを取得していますC#
- 25. <p><strong> </p></strong>設定
- 26. はlxmlの外側<code><div></code>と<code><p></code>を避けるために、どのようにlxmlので
- 27. は、私はそれが遠征ルートのためにあるように、私はそれをしたい私は</p> <ol> <li>content1</li> <li>content2</li> <li>content3</li> </ol> <p>のような順序付きリストを持っている
- 28. 私は<code><title></code></p> <p>の内容を等しくなるように<code>value</code>の内容を設定したい<code>id="title-of-page"</code>で<title>タグの内容を持つ要素で
- 29. 即値幅の指定方法は?例えば<strong>rel8</strong>ため<code>jmp</code>命令が実行されるように</p> <pre><code>jmp label </code></pre> <p>どのように私は即時の幅を指定します:
- 30. 私のアプリを構築するAndroidのデバイスアーキテクチャは何ですか?私がすべき</p> <ul> <li>armeabi</li> <li>armeabi-v7a</li> <li>のx86</li> </ul> <p>何アーキテクチャ(S):Android用
あなたは*クラス変数* 'arr' @@または*インスタンス変数*'を意味するか@ arr'? – maerics
Rubyには、 'MyClass.new'によって呼び出される' initialize'があります。 – Reactormonk
"Rubyでは、MyClass.newによって呼び出される初期化があります"。合意したそしてRubyでそれに従うことは良いことです。あなたのルビースリッパを持っているときに黄色いレンガの道に固執してください。 –