SORU
25 ŞUBAT 2010, PERŞEMBE


Yakut: çok satırlı hayır birleştirme ile dize yazabilirim?

Bu biraz daha iyi görünmesi için var mı?

conn.exec 'select attr1, attr2, attr3, attr4, attr5, attr6, attr7 '  
          'from table1, table2, table3, etc, etc, etc, etc, etc, '  
          'where etc etc etc etc etc etc etc etc etc etc etc etc etc'

Bir şekilde birleştirme ima var gibi?

CEVAP
17 Mayıs 2011, Salı


Orada parçalara bu cevap yardımcı oldu bana ne gerekli (Kolay çoklu satır birleştirme OLMADAN ekstra boşluk), fakat hiçbiri gerçek bir cevap vardı, ben onları burada derleme:

str = 'this is a multi-line string'\
  ' using implicit concatenation'\
  ' to prevent spare \n\'s'

=> "this is a multi-line string using implicit concatenation to eliminate spare
\\n's"

Bir bonus olarak, burada bir versiyonu komik HEREDOC sözdizimi (this link) kullanarak:

p <<END_SQL.gsub(/\s /, " ").strip
SELECT * FROM     users
         ORDER BY users.id DESC
END_SQL
# >> "SELECT * FROM users ORDER BY users.id DESC"

İkincisi çoğunlukla işleme daha fazla esneklik gerektiren durumlar için olurdu. Ben şahsen bunu sevmiyorum, garip bir yer w işleme koyar.r.t. string (önünde, ama genellikle daha sonra gelen örnek yöntemleri kullanarak yani), ama var.

Bu kadar yazmaya kurtarmaz, ama işaretler, beni kullanarak daha güzel görünüyor.

EDİT: bir tane daha ekliyor

p %{
SELECT * FROM     users
         ORDER BY users.id DESC
}.gsub(/\s /, " ").strip
# >> "SELECT * FROM users ORDER BY users.id DESC"

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Benjamin Heckendorn

    Benjamin Hec

    4 Mayıs 2008
  • DJAndrewRyan

    DJAndrewRyan

    22 Ocak 2007
  • Kap Slap

    Kap Slap

    8 Mart 2010