- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
type file;
app (file o) simulation ()
{
simulate stdout=filename(o);
}
foreach i in [0:9] {
file f <single_file_mapper; file=strcat("output/sim_",i,".out")>;
f = simulation();
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
type file;
app (file o) simulation ()
{
simulate stdout=filename(o);
}
foreach i in [0:9] {
file f <single_file_mapper; file=strcat("output/sim_",i,".out")>;
f = simulation();
}
Более другой swift
+1
@dynamicMemberLookup
struct Uppercaser {
subscript(dynamicMember input: String) -> String {
return input.uppercased()
}
}
Uppercaser().hello // → "HELLO"
// You can type anything, as long as Swift accepts it as an identifier.
Uppercaser().käsesoße // → "KÄSESOSSE"
https://oleb.net/blog/2018/06/dynamic-member-lookup
The proposal and implementation of dynamic member lookup was largely driven by the Swift for TensorFlow team at Google. Their main motivation is to facilitate interoperability between Swift and dynamic languages, specifically (though not exclusively) Python. Their goal is to make it possible to call Python code from Swift with a pretty and familiar syntax.
We need MOAR syntax sugar
−2
static func == (lhs: Card, rhs: Card) -> Bool {
return (lhs.color == rhs.color &&
lhs.number == rhs.number &&
lhs.shading == rhs.shading &&
lhs.symbol == rhs.symbol) ||
(lhs.color == rhs.color &&
lhs.number != rhs.number &&
lhs.shading != rhs.shading &&
lhs.symbol != rhs.symbol) ||
(lhs.color != rhs.color &&
lhs.number == rhs.number &&
lhs.shading != rhs.shading &&
lhs.symbol != rhs.symbol) ||
(lhs.color != rhs.color &&
lhs.number != rhs.number &&
lhs.shading == rhs.shading &&
lhs.symbol != rhs.symbol) ||
(lhs.color != rhs.color &&
lhs.number != rhs.number &&
lhs.shading != rhs.shading &&
lhs.symbol == rhs.symbol) ||
(lhs.color != rhs.color &&
lhs.number != rhs.number &&
lhs.shading != rhs.shading &&
lhs.symbol != rhs.symbol)
}
Пытаюсь реализовать правила игры в Set протоколом Equatable. Говнокод?
0
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
let count = self.gameResults == nil ? 0 : self.gameResults?.count
return count!
}
nil-coalescing operator? Не не слашали.
0
if gameResults != nil && (gameResults?.count)! > 0 {
for gameResult in self.gameResults! {
let newLine = "\(gameResult.gameSession!.gameTable!.tableNumber!) / \(gameResult.sessionHand!.endTime!) / \(Utils.getShortGameName(gameName: gameResult.gameSession!.game!.name!)),\(String(describing:gameResult.sessionHandResult!.score!.doubleValue)),\(String(describing:gameResult.sessionHandResult!.profitSum!.doubleValue)),\(String(describing:gameResult.sessionHandResult!.credits!.doubleValue))\n"
csvText.append(newLine)
}
}
Как говорится береженого бог бережет... даже если опционал не ниловый
0
if let viewControllers = self.navigationController?.viewControllers {
self.navigationController?.popToViewController(viewControllers[viewControllers.count - 3], animated: true)
}
Попытка вернуться на рут контроллер.
+1
protocol Multi {
associatedtype T
associatedtype U
func printSelf()
}
extension Multi where T == Int, U == Float {
func printSelf() {
print("Int & Float!")
}
}
extension Multi where T == String, U == Int {
func printSelf() {
print("String & Int!")
}
}
extension Multi {
func printSelf() {
print("Unknown")
}
}
class MultiImplementationIntFloat: Multi {
typealias T = Int
typealias U = Float
}
class MultiImplementationStringInt: Multi {
typealias T = String
typealias U = Int
}
class MultiImplementationInvalid: Multi {
typealias T = Float
typealias U = String
}
let m1 = MultiImplementationIntFloat()
m1.printSelf()
let m2 = MultiImplementationStringInt()
m2.printSelf()
let m3 = MultiImplementationInvalid()
m3.printSelf()
Multimethods в Swift с проверкой в compile-time
0
public class DialogBuilder: NSObject {
private var style: UIAlertControllerStyle
private var titleColor: UIColor?
/**
* initial DialogBuilder with UIAlertControllerStyle and for title color
*/
public init(style: UIAlertControllerStyle = .alert, titlecolor : UIColor?) {
self.style = style
if(titlecolor != nil)
{self.titleColor = titlecolor}
}
/**
* initial DialogBuilder with UIAlertControllerStyle
*/
public init(style: UIAlertControllerStyle = .alert) {
self.style = style
}
...
}
0
func stateDidChange(contorl: TitledTextField?, isEpmtyState: Bool) {
let userCodeisEpmtyState = (contorl == userCodeTextView) ? isEpmtyState : (userCodeTextView.textValue().isEmpty)
let authCodeisEpmtyState = (contorl == authCodeTextView) ? isEpmtyState : (authCodeTextView.textValue().isEmpty)
changeEnterAvailabilityAccoardingToTextFieldsOccupancy (userCodeisEpmtyState, authCodeisEpmtyState)
}
/*
* Метод устанавливает активность кнопки энтер взависимости от заполнения текстовых полей
*/
private func changeEnterAvailabilityAccoardingToTextFieldsOccupancy(_ userCodeisEpmtyState: Bool, _ authCodeisEpmtyState: Bool) {
enter.isEnabled = !userCodeisEpmtyState && !authCodeisEpmtyState
}
Кто-то очень спешил выпустить версию, что пустота стала чем-то непонятным.
Да и вообще знание языков у человека на высшем уровне, вы ничего не понимаете!
А пробелов у меня ограниченное количество, буду их тыкать вдвойне после let, зато не буду их ставить после метода и всё будет ОК.
0
func onlyCashLessEUR(_ rates : [CurrencyRateMto]) -> CurrencyRateItem {
var EUR : CurrencyRateItem? = nil
let cashLessEUR = rates.filter({$0.type.enumValue == CurrencyRateTypeMtoEnum.CASHLESS && $0.currency.isEUR() == true})
if(cashLessEUR.count > 0){
EUR = CurrencyRateItem(
cashLessEUR.first?.currency.getIcon(),
(cashLessEUR.first?.currency.id)!,
NumberFormatting.sum(cashLessEUR.first?.buyPrice?.price),
NumberFormatting.sum(cashLessEUR.first?.sellPrice?.price))
}
if(EUR == nil){
EUR = CurrencyRateItem(
UIImage.init(named: "currency_eur"),
"EUR",
"-",
"-")
}
return EUR!
}
"Я форматирую как далбаёб, и мне похер на то, что cashLessEUR.first опционален, я буду его юзать дальше".