anonymous@RULINUX.NET~# Last login: 2024-11-05 10:40:30
Регистрация Вход Новости | Разметка | Пользователи | Галерея | Форум | Статьи | Неподтвержденное | Трекер | Правила форума | F.A.Q. | Ссылки | Поиск
[#] [Добавить метку] [Редактировать]
Скрыть

Про Go и спортлото

В свете недавнего события и продолжая традицию решил оторвать от сердца и принести в пул свободного программного обеспечения ещё одно программное обеспечение на тему спортлото.

text
package main

import (
    fmt "fmt"
    flag "flag"
    fnv "hash/fnv"
    math_rand "math/rand"
    crypto_rand "crypto/rand"
)

func get_numbers(number_count int, number_max int, seeder []byte) []int {
   
    hash := fnv.New64()
    hash.Write(seeder)
    math_rand.Seed(int64(hash.Sum64()))
    numbers := make([]int, number_count)
    for i := 0; i < number_count; {
        number := math_rand.Intn(number_max-1)+1
        for l := 0; l < number_count; l++ {
            if numbers[l]==number {
                number = 0
                break
            }
        }
        if number>0 {
            numbers[i] = number
            i++
        }
    }
    return numbers
}

func make_seeder(str string) ([]byte, error) {
    seeder := []byte(str)
    salt := make([]byte, len(str))
    _, err := crypto_rand.Read(salt)
    if err==nil {
        for i := 0; i < len(str); i++ {
            seeder[i] = seeder[i] ^ salt[i]
        }    
    }
    return seeder, err
}


func main() {
    number_count, number_max, wish := 5, 36, "Win a few millions"
   
    flag.IntVar(&number_count, "n", number_count, "the quantity of numbers")
    flag.IntVar(&number_max, "m", number_max, "the max value of number")
    flag.StringVar(&wish, "w", wish, "the your wish")
    flag.Parse()
   
    seeder, err := make_seeder(wish)
    if err == nil {
        fmt.Printf("\n%dx%d\nYour numers are:", number_count, number_max)
        fmt.Println(get_numbers(number_count, number_max, seeder))
    } else {
        fmt.Println("Random has returned an error, try again.")
    }
}
 

Получилось конечно многословнее чем на pythonе, но в основном из-за того, что нет реализации инициализировать генератор случайных чисел строкой. Учится довольно легко, во всяком случае если это не второй язык.)))

ЗЫ: Я негодую, что нет под него подсветки, предвижу что язык станет популярным. Так что подсветку надо запилить.)))

anonymous(*) (2012-03-31 17:26:05)
Отредактировано anonymous по причине "не указана"
Mozilla/5.0 (Ax-xa-xa!)

[Ответить на это сообщение]
[#] [Добавить метку] [Редактировать] Ответ на: Про Go и спортлото от anonymous 2012-03-31 17:26:05
avatar
Скрыть

Re:Про Go и спортлото

Вот какого языка я от гугла жду, так это Dart. Надеюсь что они таки сумеют протолкнуть его в браузеры на замену/альтернативу уебищному JavaScript.

Tux-oid(*)(2012-03-31 17:30:32)

Mozilla/5.0 (X11; Linux i686; rv:11.0) Gecko/20120312 Firefox/11.0 SeaMonkey/2.8
[#] [Добавить метку] [Редактировать] Ответ на: Re:Про Go и спортлото от Tux-oid 2012-03-31 17:30:32
avatar
Скрыть

Re:Про Go и спортлото

Что-то затихли они про Dart, да и боюсь нереально сейчас сменить javascript в браузерах. Слишком сильно на него всё завязалось. У Мозиллы кстати есть наработки по замене или дополнению скриптовых языков в браузере. Питон например не вопрос добавить. Но никого это не вставило.

anonymous(*)(2012-03-31 17:37:42)
Отредактировано anonymous по причине "не указана"
Mozilla/5.0 (Ax-xa-xa!)
[#] [Добавить метку] [Редактировать] Ответ на: Re:Про Go и спортлото от anonymous 2012-03-31 17:37:42
avatar
Скрыть

Re:Про Go и спортлото

Что-то затихли они про Dart

Да нет недавно про него всплывали новости на опеннете. А вот про Go я думал что он умер так и не родившись.

да и боюсь нереально сейчас сменить javascript в браузерах

Ну хотя бы как альтернативу. Уже будет не плохо. Хотя у них уже в хроме есть движок Dart. В мозиллу тоже я думаю не составит труда его продавить. Остается только Ишак, а для него есть javascript реализация интерпретатора. Опера/Сафари не в счет ибо они сами подтянутся.

Tux-oid(*)(2012-03-31 17:42:28)
Отредактировано Tux-oid по причине "не указана"
Mozilla/5.0 (X11; Linux i686; rv:11.0) Gecko/20120312 Firefox/11.0 SeaMonkey/2.8
[#] [Добавить метку] [Редактировать] Ответ на: Re:Про Go и спортлото от Tux-oid 2012-03-31 17:42:28
avatar
Скрыть

Re:Про Go и спортлото

> А вот Про Go я думал что он умер так и не родившись.
Я честно говоря тоже так думал, даже бросил следить за его развитием. Ан нет. На него хороший веб фреймфорк надо бы. Школота с не затуманенными С++ мозгами может его полюбить. А учитывая наличие в GAE оно может и взлететь.

anonymous(*)(2012-03-31 17:49:05)

Mozilla/5.0 (Ax-xa-xa!)
[#] [Добавить метку] [Редактировать] Ответ на: Re:Про Go и спортлото от Tux-oid 2012-03-31 17:42:28
avatar
Скрыть

Re:Про Go и спортлото

А с Dart хуже. Не вопрос, его легко прикрутят в Хром и Мозилу. А вот MS забъет или начнет свой велосипед(VBScript) двигать. И писеу подкрадется к Dart.

Делать на одном языке для Ишачка, а на втором для всего остольного вряд ли кто сподвигнеться, особенно учитывая что и на первом языке под всеми браузерами будет работать.

anonymous(*)(2012-03-31 17:55:58)

Mozilla/5.0 (Ax-xa-xa!)
[#] [Добавить метку] [Редактировать] Ответ на: Re:Про Go и спортлото от anonymous 2012-03-31 17:55:58
avatar
Скрыть

Re:Про Go и спортлото

Так я же написал что для Ишкак есть интерпретатор Dart на Javascript. По крайней мере по заявлениям гугла, сам я не щупал.

Tux-oid(*)(2012-03-31 18:22:24)

Mozilla/5.0 (X11; Linux i686; rv:11.0) Gecko/20120312 Firefox/11.0 SeaMonkey/2.8
[#] [Добавить метку] [Редактировать] Ответ на: Re:Про Go и спортлото от Tux-oid 2012-03-31 18:22:24
avatar
Скрыть

Re:Про Go и спортлото

> я же написал что для Ишкак есть интерпретатор Dart на Javascript
Интерпретатор языка на Javascript, да еще и от MS, моя рука тянется к маузеру)))

anonymous(*)(2012-03-31 18:39:33)

Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:11.0) Gecko/20100101 Firefox/11.0
[#] [Добавить метку] [Редактировать] Ответ на: Re:Про Go и спортлото от anonymous 2012-03-31 18:39:33
avatar
Скрыть

Re:Про Go и спортлото

Так це ж для любителей ишака. Им к такому не привыкать.

Tux-oid(*)(2012-03-31 18:44:15)

Mozilla/5.0 (X11; Linux i686; rv:11.0) Gecko/20120312 Firefox/11.0 SeaMonkey/2.8
[#] [Добавить метку] [Редактировать] Ответ на: Re:Про Go и спортлото от Tux-oid 2012-03-31 17:30:32
avatar
Скрыть

Re:Про Go и спортлото

> уебищному JavaScript
чем же он уёбищный? намного грамотнее того же бедона например.

bugmaker(*)(2012-03-31 21:38:23)

Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:10.0.2) Gecko/20100101 Firefox/10.0.2
[#] [Добавить метку] [Редактировать] Ответ на: Re:Про Go и спортлото от bugmaker 2012-03-31 21:38:23
avatar
Скрыть

Re:Про Go и спортлото

>> уебищному JavaScript
> чем же он уёбищный? намного грамотнее того же бедона например.
Так и хочется спросить чем он грамотнее питона))) Но вспоминается анекдот:
Сидят грузин и армянин пью и спорят "Кто лучше грузины или Армяне?". Уже всё вспомнили: коньяк, Арарат, царицу Тамару и т.д. и т.п. Уже почти плачущий армянин риторически восклицает:
- Ну чём? Чём грузины лучше?
Грузин сделав удивленные глаза отвечает, - Э, ара, чё армяне же!

anonymous(*)(2012-03-31 23:33:46)

Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:11.0) Gecko/20100101 Firefox/11.0
[#] [Добавить метку] [Редактировать] Ответ на: Re:Про Go и спортлото от anonymous 2012-03-31 23:33:46
avatar
Скрыть

Re:Про Go и спортлото

ога, лямбда у тех двоих примерно такая же как в бедоне.

bugmaker(*)(2012-04-01 02:32:27)

Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:10.0.2) Gecko/20100101 Firefox/10.0.2
Этот тред читают 1 пользователь:
Анонимных: 1
Зарегистрированных: 0




(c) 2010-2020 LOR-NG Developers Group
Powered by TimeMachine

Valid HTML 4.01 Transitional Правильный CSS!