Ich versuche, ein Modell nach Daten zu suchen, die einem bestimmten Datum entsprechen, und den Zeitstempel wegzulassen. In Rails konnte ich dies einfach als DateTime.to_date == somedate
ausführen, aber ich denke nicht, dass es in SQL so einfach zu formulieren ist, wo ich die Methode to_date nicht auf eine ganze Spalte wie created_at anwenden könnte:
Anfangs dachte ich, dass ich, weil ich eine postgresql-Datenbank verwende, einfach die psql-Syntax verwenden könnte, aber ich überlasse es lieber ActiveRecord, um zu entscheiden, welche SQL am geeignetsten ist und meinen Code von Datenbankanbietern unabhängig zu halten. Ist dies ohne zusätzliche Plugins oder Edelsteine möglich?
Ich würde etwas wie ...
tun %Vor% Dies würde alle created_at
Daten zwischen Mitternacht am someday
und someday + 1
erfassen. Dies ist inklusive (also würde es einen Foo beinhalten, der am +1 Tag um Mitternacht erstellt wurde), aber es kann "gerade gut genug" für Ihre Bedürfnisse sein, ohne Zeitstempel zu stören.
Wenn es nett wäre, würde ich es als scope
Also
%Vor%ist gut lesbar.
Tags und Links ruby-on-rails-3 datetime activerecord date
In Java gibt es eine nette Bibliotheksklasse java.util.Stack, die Push- und Pop-Methoden implementiert. Gibt es in Ziel C etwas Ähnliches?
Ich habe nur MutableArray gefunden. Es scheint komisch, dass ich so ein grundlegendes Ding wie einen Stapel implementieren muss, es muss etwas wie "NSStack", "NSQueue" und andere ähnliche Sachen geben.
soweit ich weiß, gibt es nichts wie stack und queue im sdk.
Es gibt ein Beispiel für die Implementierung der Warteschlange hier .
Niemand sollte es vergessen Objective-C bietet eine ziemlich schöne Variante: Objective-C ++. Und die C ++ - Standardbibliothek bietet die Datenstrukturen, die Sie brauchen, getestet, debuggt, stabil und so schnell wie möglich. Am besten, sie arbeiten perfekt mit ARC. Bestest, Sie können sogar zwischen %code% oder %code% Zeigern wählen, wenn Sie es fühlen.
Schauen Sie sich %code% und %code% an.
Das heißt, %code% funktioniert perfekt für Stacks: %code% , %code% und %code% werden den Job mit guter Leistung gut machen.
C ++ kann ausführlich sein. Schrecklich ausführlich. Aber es hat auch eine gewisse Eleganz hier und da und einige sehr mächtige Konstrukte. Einige Teile der Standardbibliothek glänzen wirklich, und die Datenstrukturen gehören zu den Perlen, wenn die Alien-Syntax beherrscht wird. Es kann trotzdem mit ein paar typedefs versteckt werden.
Sie (wie ich) müssen sich vielleicht Sorgen machen, dass die Verwendung von NSMutableArray aus der Warteschlange entfernt wird, weil Sie das erste Objekt im NSMutableArray entfernen müssen, und das Entfernen bewirkt eine Verschiebung aller Objekte im Array. Das ist jedoch nicht notwendig, basierend auf dem Test, den ich hier gemacht habe: Für ein NSMutableArray, das 100000 Objekte enthält, entferne alle Objekte, indem du kontinuierlich das erste entfernst Das Objekt ist 100 ms langsamer als das fortlaufende Entfernen des letzten Objekts. Ich habe auch verglichen, ein NSMutableArray mit zwei NSMutableArrays zu verwenden. Obwohl es möglich ist, das Entfernen des ersten Objekts durch Verwendung von zwei NSMutableArrays, die als zwei Stapel verwendet werden, zu vermeiden, ist die Double-Stack-Lösung tatsächlich langsamer.
Ich habe eine Stack-Implementierung hier . Es verwendet %code% , um die schmutzige Arbeit zu erledigen, die wirklich nicht so schlecht ist. Aber in die Foundation ist nichts eingebaut.